график плотности matplotlib / гистограмма - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть массив: [0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1] (16 длин.) Как я могу создать плотностьгистограмма с, например, bin = 4, чтобы увидеть, где, как представляется, больше всего 1: s?Эта гистограмма, например, будет очень высокой в ​​средней части и немного увеличится в конце (большинство 1: s в начале и конце).У меня есть это:

plt.hist([0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1], bins=4)

Это то, что я получаю .Эта гистограмма просто показывает, что это 1: s, а 0: s.

Как позже я могу создать график (линию), чтобы показать мне средний рост и падение гистограммы?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Я бы не назвал это гистограммой.Это скорее график пространственной плотности.Таким образом, вы можете перечислить свой список так, чтобы первый элемент имел номер 0, а последний - номер 15. Затем разделите этот список на 4 ячейки.В каждой корзине вы можете посчитать, как часто вы видите 1.Чтобы автоматизировать это, опция scipy.stats.binned_statistic.

import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import binned_statistic

data = [0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1]
x = np.arange(len(data))

s, edges, _ = binned_statistic(x, data, bins=4, statistic = lambda c: len(c[c==1]))
print(s, edges)
plt.bar(edges[:-1], s, width=np.diff(edges), align="edge", ec="k")
plt.show()

Так что здесь ребра [0., 3.75, 7.5, 11.25, 15.], а число 1 в каждом бункере равно [0. 3. 2. 3.].

enter image description here

0 голосов
/ 13 февраля 2019

Гистограмма не будет оценивать позиции ваших значений;это представление распределения данных, позиции значений в их истории не имеют значения;с минимумом и максимумом, представляющим минимум и максимум данных.Я бы попробовал установить индекс и использовать его в качестве диапазона.

Я думаю, что это самый близкий ответ к графику, который вы описали: График панд с линейным диапазоном ВажностьOfBeingEnrnest'sздесь также может быть полезным ответ.

Построение гистограммы с использованием индекса в качестве метки оси X

...