matplotlib 仅将轴紧设置为x或y轴

fd3cxomn  于 2023-05-23  发布在  其他
关注(0)|答案(2)|浏览(215)

我有一个这样的情节:

很明显,左右两边是浪费空间的,所以我设置了

plt.axis('tight')

但这给了我这样的情节:

xlim现在看起来很好,但是ylim对于情节来说太紧了。
我想知道,在我的情况下,是否只能将axis(tight)设置为x轴?
因此,图可能看起来像这样:

当然我也可以通过

plt.gca().set_xlim(left=-10, right=360)

但恐怕这不是一个非常优雅的解决方案。

y1aodyip

y1aodyip1#

您希望使用matplotlib的matplotlib.axes.Axes类中的autoscale方法。

使用函数式API,您可以使用

plt.autoscale(enable=True, axis='x', tight=True)

或者如果你使用的是面向对象的API

ax = plt.gca()  # only to illustrate what `ax` is
ax.autoscale(enable=True, axis='x', tight=True)

为了完整起见,axis kwarg可以采用'x''y''both',其中默认值为'both'

ttisahbt

ttisahbt2#

我只是在这些脚本的开头放了以下内容,我知道我希望我的xlims拥抱我的数据:

import matplotlib.pyplot as plt
plt.rcParams['axes.xmargin'] = 0

如果我决定在同一个脚本中的单个图中添加一些空白缓冲区,我会手动执行:

plt.xlim(lower_limit, upper_limit)

虽然接受的答案是有效的,而且我也用了一段时间,但我改用了这种策略,因为我只需要在每个脚本中记住一次。

相关问题