在related question中,对类似问题的回答建议使用类似的内容:
ax.set_yticks(scipy.arange(-1.5,1.5,0.25))
用于设置y轴刻度。
在我的代码中,我有一个我想要绘制的列表X(任意范围)。我想设置y轴,以便准确显示5个刻度。我当前的代码看起来像 -
ax.set_yticks(scipy.arange(min(X),max(X),(max(X)-min(X))/5))
这看起来很混乱。是否有更简洁的方法在不使用最小/最大功能的情况下设置y轴上的刻度数?
此外,我只想展示" round"如果可能的话,数字(例如,有效数字最少的数字可以绘制5个值,使得所有数值都在它们之间)(即使这意味着情节不会使用整个范围)。 / p>
e.g。如果
X=[0.166, 0.164, 0.172, 0.169, 0.188, 0.184, 0.191, 0.183, 0.192]
然后我希望轴刻度为
{0.16, 0.17, 0.18, 0.19, 0.2}
,而不是我使用的丑陋数字(max(X)-min(X))/ 5)增量
实现这一目标的最简洁方法是什么?
答案 0 :(得分:2)
您正在寻找MaxNLocator
(Documentation)
示例:
ax.yaxis.set_major_locator(MaxNLocator(nbins=5-1))
这应该会在漂亮的位置给你5个滴答。