Когда я строю 2 столбца один над другим, строится другой график - PullRequest
0 голосов
/ 27 марта 2019

У меня есть 2 столбца из 2 np.arrays одинакового размера.Когда я строю график только одного, я получаю этот результат:

plt.figure(figsize=(70,10))

for i,h in enumerate(clean_head):

    plt.subplot(1,6,i+1)
    #plt.hist(non_fire[:,i],alpha=.3)
    plt.hist(fire[:,i],alpha=.3)
    plt.title(clean_head[i])

   # plt.tight_layout()

only one column plotted

Когда я строю оба, я получаю это:

plt.figure(figsize=(70,10))

for i,h in enumerate(clean_head):

    plt.subplot(1,6,i+1)
    plt.hist(non_fire[:,i],alpha=.3)
    plt.hist(fire[:,i],alpha=.3)
    plt.title(clean_head[i])

   # plt.tight_layout()

both columns plotted on the same histogram

Там, где ни одна из двух гистограмм не совпадает с исходной.Я не понимаю, какой это розовый, а какой - светло-голубой график.

У меня есть еще 16 подобных графиков, и у меня та же проблема со всеми из них.

1 Ответ

1 голос
/ 27 марта 2019

во втором наборе графиков - синяя гистограмма для случая «без огня», а оранжевая для случая «огня». Если вы построите третью гистограмму, она будет зеленой. В общем, вы можете изменить цвет данной гистограммы, используя параметр color .

Причина, по которой ваши гистограммы меняются, заключается в том, что ваши массивы имеют разные диапазоны значений. Вы можете исправить это, явно задав бинам функцию:

import matplotlib.pyplot as plt
import numpy as np

a = np.random.rand(100)
b = np.random.rand(100)*2

bins = np.linspace(min(np.min(a), np.min(b)), max(np.max(a), np.max(b)), 10)

plt.figure(figsize=(7,5))
plt.hist(a,alpha=.3, bins=bins)
#plt.hist(b,alpha=.3, bins=bins) #toggle this to see the effect

Также обратите внимание, что функция гистограммы возвращает список используемых бинов.

Надеюсь, это поможет.

...