График графика графика из данных гистограммы в matplotlib
У меня есть numpy массив ints, представляющий периоды времени, которые я сейчас рисую в гистограмме, чтобы получить хороший график распределения, используя следующий код:
ax.hist(data,bins=100,range=(minimum,maximum),facecolor="r")
Однако я пытаюсь изменить этот график, чтобы представить точные данные, используя строку вместо столбцов, поэтому я могу наложить больше выборок на один и тот же график и дать им быть четкими (в противном случае бары перекрывают друг друга). То, что я пробовал до сих пор, - это собрать массив данных в массив кортежей, содержащий (время, число), а затем построить его с помощью
ax.plot(data[:,0],data[:,1],color="red",lw=2)
Однако это не дает мне ничего близкого, поскольку я не могу точно смоделировать опцию гистограммы в моем заговоре. Есть ли лучший способ сделать это?
Ответы
Ответ 1
Вы можете сохранить вывод hist
, а затем построить его.
import numpy as np
import pylab as p
data=np.array(np.random.rand(1000))
y,binEdges=np.histogram(data,bins=100)
bincenters = 0.5*(binEdges[1:]+binEdges[:-1])
p.plot(bincenters,y,'-')
p.show()
Ответ 2
Я очень опаздываю на вечеринку, но, возможно, это будет полезно кому-то другому. Я думаю, что вам нужно установить параметр histtype в "step", т.е.
ax.hist(data,bins=100,range=(minimum,maximum),facecolor="r", histtype = 'step')
См. также http://matplotlib.sourceforge.net/examples/pylab_examples/histogram_demo_extended.html
Ответ 3
Попробуйте ax.plot(zip(*data)[:][0],zip(*data)[:][1],color="red",lw=2)