Почему мои 1-D гистограммы не отображаются правильно? - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть два набора данных (x, y), соответствующих двум одномерным гистограммам, которые должны быть нанесены рядом друг с другом как подзаговоры. Оба значения x и y различны, и, следовательно, они будут представлены на разных осях. Высота гистограммы (первый элемент в гистах) и соответствующая последовательность элементов (вторые элементы в гистах) даны для каждого подзаговора следующим образом:

* Обратите внимание, что каждая высота соответствует элементу в последовательности; высоты уже известны для каждого мусорного ведра. Я просто хочу поместить данные в гистограмму с использованием функции исторических данных

array_1 = np.array([ 8.20198063, 8.30645018, 8.30829034, 8.63297701, 0., 0., 10.43478942])
array_random_1 = np.array([ 8.23460584, 8.31556503, 8.3090378, 8.63147021, 0., 0., 10.41481862])
array_2 = np.array([10.4348338, 8.69943553, 8.68710347, 6.67854038])
array_random_2 = np.array([10.41597028, 8.76635268, 8.19516216, 6.68126994])
bins_1, bins_2 = [8.0, 8.6, 9.2, 9.8, 10.4, 11.0, 11.6, 12.2], [0.0, 0.25, 0.5, 0.75, 1.0] 

Вот моя попытка построить эти два вспомогательных графика с использованием функции исторических значений из python:

fig, (ax1, ax2) = plt.subplots(1, 2, sharex=False, sharey=False, figsize=(12,3))

ax1.hist(array_1,    bins_1, ec='blue', fc='none', lw=1.5, histtype='step', label='1')
ax1.hist(array_random_1, bins_1, ec='red', fc='none', lw=1.5, histtype='step', label='Random_1')
ax1.set_xlabel('X1')
ax1.set_ylabel('Y1')

ax2.hist(array_2,    bins_2, ec='blue', fc='none', lw=1.5, histtype='step', label='2')
ax2.hist(array_random_2, bins_2, ec='red', fc='none', lw=1.5, histtype='step', label='Random_2')
ax2.set_xlabel('X2')

plt.show()

Однако как вы можете видеть, полосы не отображаются на правильной высоте (синие полосы полностью отсутствуют) на левой панели, а все отсутствует на второй панели. В чем проблема при создании этих 1d гистограмм? Означает ли это, что я не могу использовать для своей истории? Figure

То, что я хочу, - это следующее, которое можно выполнить, используя bar. Как это сделать используя hist?

Correct Figure

1 Ответ

0 голосов
/ 11 апреля 2020

По тому, что я понял.

В вашем коде попробуйте заменить:

histtype='step'

на

histtype='bar'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...