绘制具有相同条形厚度的对数对数刻度的直方图

时间:2014-01-20 10:40:16

标签: python matplotlib plot

我正在尝试以对数 - 对数比例绘制直方图中的输入数据(以便快速查看这是否符合幂律),但我输出的方式有问题。我正在使用Python,更具体地说是matplotlib / numpy库:

thebins = N.linspace(min_data.min(),min_data.max(),int(sys.argv[len(sys.argv)-1]))
thebins = N.log(thebins)
bar_min = plt.hist(min_data,bins=thebins,alpha=0.40,label=['Minimal Distance'],log=True)

min_data是我的1d数据数组,两个第一行用于创建bin,然后将它们放在日志范围内。最后一行是用log y刻度“填充”箱/直方图。

图形输出为:

enter image description here

看起来很挑剔,但我不满足于使用不同厚度的垃圾箱,在我看来,数据更难阅读,甚至可能被误读。并非所有的log-log直方图都有相同的宽度区域,我相信它可以在Python中完成;你有想法改变我的代码去那里吗?

提前谢谢你;)

应该是一个nobrainer:我只需要记录x轴的数据,然后构建直方图,为y轴传递参数“log = True”。

0 个答案:

没有答案