【问题标题】:How to set y-axis for historgram in Python?如何在 Python 中为直方图设置 y 轴?
【发布时间】:2015-06-21 04:20:34
【问题描述】:

根据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(直方图是平坦的)。

【问题讨论】:

  • 我尝试了您的示例(使用随机数据,但直方图参数相同),并且能够使用 xlim() 和 ylim() 设置 x 和 y 限制。你得到的错误文本是什么?
  • @DerekJones 我没有收到错误,我只是得到一个没有意义的直方图。

标签: python matplotlib plot histogram


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

    我正在使用 Python 2.7。

    【讨论】:

      猜你喜欢
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 2020-12-26
      • 2020-08-24
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      相关资源
      最近更新 更多