有没有办法让matplotlib放宽绘图数据的缩放?
我有一些数据被绘制出来了,每个子图都有一些限制: 两个轴都有这些限制,但因为第二个图的数据刚好在限制范围内,所以这些限制就成了y轴的边界,导致它们看不见。
为了让这些限制变得可见,我可以这样做:
axes.set_ylim(1.1*lowerLimit,1.1*upperLimit)
这里的 lowerLimit
和 upperLimit
是用来生成限制的原始数据。不过我在想,matplotlib有没有什么方法可以让它在自动设置限制时不要那么严格。现在的解决方案也有个问题,就是如果数据超出了边界,就可能会超出限制,所以我在寻找一个可以补充 set_ylim()
的方法,能告诉我当前的限制是什么,类似于 get_ylim()
,但在文档中似乎没有这个功能。
谢谢你的帮助。
1 个回答
5
关于你请求的一个可以改变y轴范围的函数,这个能满足你的需求吗?
def larger_axlim( axlim ):
""" argument axlim expects 2-tuple
returns slightly larger 2-tuple """
axmin,axmax = axlim
axrng = axmax - axmin
new_min = axmin - 0.1 * axrng
new_max = axmax + 0.1 * axrng
return new_min,new_max
...
ax.set_ylim( larger_axlim( ax.get_ylim() ) )
...
文档链接:get_ylim()