此问题已在此处有答案:
How can I change the x axis so there is no white space?(2个答案)
5年前关闭。
我在编辑我的作品时才注意到这种细微差别。
以前,matplotlib看起来像这样:
x=[1,2,3,4,5]
y=[4,5,5,2,1]
plot(x,y,'-')
但经过最近的升级我相信,有抵消,这将返回这样的
从我现在看到的情况来看,这有点不必要。我想知道
1.这种偏移是否是数据可视化的良好实践?如果是这样,我就不去管它了。
1.如何抵消这种抵消?
我可以手动恢复plt.gca().set_xlim([1, 5])
的限制,但如果我有另外20个图,这将无法缩放。我在谷歌上搜索了一下,没有找到太多关于这方面的信息。
2条答案
按热度按时间fxnxkyjh1#
在matplotlib v2.0.x中,默认的轴边距已经从0更改为0.05,这是控制轴上数据周围空白的值。更多关于这一变化背后的原因,请参见此处。
有几种方法可以恢复到以前的行为。
1)要将单个Axes示例的
margins
重置为0,请执行以下操作:或
2)要将脚本中的所有图的
margins
重置为0,请使用rcParams
并在脚本的顶部设置:3)要更改计算机上所有图的默认值,请修改
matplotlibrc
文件以包含以下行:请注意,要使用方法(1)并真正获得旧行为,您可能还需要设置
plt.rcParams['axes.autolimit_mode'] = 'round_numbers'
。4jb9z9bj2#
猜猜它的好做法是否有点值得讨论。它以某种方式暗示你的图继续(但你只是显示它的一个窗口),所以如果你的图只定义在这个区域有一个偏移是有意义的。如果它实际上还在继续,但你只是绘制了这一部分,那么删除它是合乎逻辑的。
可扩展的方法是