如何在Python中为historygram设置y轴?

时间:2015-06-21 04:20:35

标签: python matplotlib plot histogram

根据documentation,可以使用hist函数设置x轴的范围,但似乎没有办法控制y轴。

我有一个带有4个子图的图形,以2x2的方式排列,所有这些都是直方图。我通过设置range使他们的x轴完全相同,但是无法弄清楚如何用y轴做同样的事情。但是当我尝试使用set_ylim控制y轴时,我收到错误。当我尝试使用pylab.axis时,情节没有正确显示(历史记录的条形都具有y值0。

pylab.hist(myData[x], bins = 20, range=(0,400))
pylab.axis([0,400,0,300])

如何控制直方图的y轴?基本上我正在寻找的是range函数中的hist,但是对于y轴。

更新

    plotNumber = 1
for i in xrange(4):
    pylab.subplot(2, 2, plotNumber)
    pylab.hist(myData[i], bins = 20, range=(0,400))
    pylab.title('Some Title')
    pylab.xlabel('X')
    pylab.ylabel('Y')
    plotNumber += 1
pylab.show()

但是当我加入

pylab.axis([0,400,0,300])

所有y值对应于0(柱状图是平的)。

2 个答案:

答案 0 :(得分:0)

如果您希望每n个值在y轴上设置刻度,您可以使用:

pylab.yticks(range(min, max, n))

我正在使用Python 2.7。

答案 1 :(得分:0)

这里给出答案:setting y-axis limit in matplotlib

axes = plt.gca()
axes.set_xlim([xmin,xmax])
axes.set_ylim([ymin,ymax])

对我来说,这适用于直方图子图。