我的情节看起来像这样:
显然,左侧和右侧是浪费空间,所以我设置
plt.axis('tight')
但这给了我这样的情节:
xlim现在看起来,但ylim对于剧情来说太紧了。
我想知道,如果我的情况下只能将axis(tight)
设置为x轴吗?
因此情节可能如下所示:
我可以通过
手动执行此操作plt.gca().set_xlim(left=-10, right=360)
但我担心这不是一个非常优雅的解决方案。
答案 0 :(得分:31)
您想使用autoscale
中的matplotlib matplotlib.axes.Axes
class方法。
使用功能API,使用
应用紧x轴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'
。
答案 1 :(得分:0)
我只是将以下内容放在这些脚本的开头,我知道我希望我的xlim拥抱我的数据:
import matplotlib.pyplot as plt
plt.rcParams['axes.xmargin'] = 0
如果我决定在同一脚本中为单个绘图添加一些空白缓冲区,则可以通过以下方式手动进行操作:
plt.xlim(lower_limit, upper_limit)
虽然接受的答案有效,并且是我一段时间使用的答案,但我还是选择了此策略,因为我发现它很容易记住。