我创建了下面的直方图:
并且想知道是否可以绘制顶部边缘(黑色)而不是绘制整个图表(蓝色)?
还是只适合这条线以匹配分布的顶部?
我的代码是:
plt.hist(histogramData, bins=200, normed=True, cumulative=True, edgecolor='b', facecolor='None')
我尝试删除“edgecolor”和“facecolor”,但它似乎不起作用......
感谢您的帮助!
我创建了下面的直方图:
并且想知道是否可以绘制顶部边缘(黑色)而不是绘制整个图表(蓝色)?
还是只适合这条线以匹配分布的顶部?
我的代码是:
plt.hist(histogramData, bins=200, normed=True, cumulative=True, edgecolor='b', facecolor='None')
我尝试删除“edgecolor”和“facecolor”,但它似乎不起作用......
感谢您的帮助!
我认为 pylabs 直方图代码使用 numpysnp.histogram()
函数,产生箱和计数;因此,如果您将其与标准plot()
命令一起使用,您就完成了(只需记住还要对累积外观进行np.cumsum()
计数)。np.histogram()
编辑:关于评论,我引用numpy.histogram()
文档:
返回:
历史:数组
直方图的值。有关可能语义的描述,请参见 normed 和 weights。
bin 边缘:dtype 浮点数组
返回 bin 边缘 (length(hist)+1)。
因此,以所需的方式绘制数据:
hist, bins = np.histogram(data, bins=200)
plt.plot( bins[:-1], np.cumsum(hist) )
或者如果您想更精确,您甚至可以将数据值放在 bin 中心:
offset = bins[1:]-bins[:-1]
plt.plot( bins[:-1]+offset, np.cumsum(hist) )