如何在Python中设置直方图的y轴?

5
根据文档,可以使用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轴?基本上我需要的是像hist函数中的range一样的东西,但是是用于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(直方图是平坦的)。

我尝试了您的示例(使用随机数据,但是相同的直方图参数),并且能够使用xlim()和ylim()设置x和y限制。您得到的错误文本是什么? - Derek T. Jones
@DerekJones 我没有收到错误信息,只是得到了一个不合理的直方图。 - TheRealFakeNews
2个回答

4

2
如果您想在y轴上每n个值设置一个刻度,可以使用以下代码:
pylab.yticks(range(min, max, n))

我正在使用Python 2.7。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接