小编典典

Matplotlib:取消Matplotlib 2.0中引入的轴偏移

python

只是在我编辑我的作品时注意到了这种细微差别。
以前,matplotlib如下所示:

x=[1,2,3,4,5]
y=[4,5,5,2,1]
plot(x,y,'-')

但经过最近的升级我相信,有抵消,这会回来
这样地
从我现在看到的情况来看,这有点不必要。我想知道
1在数据可视化中,这个偏移量是否是一个好的实践?如果是这样的话,我就不做了。
2如何抵消这种抵消?
我可以手动恢复限制plt.gca公司()。设置\u xlim([1,5]),但是
如果我再有20块地的话就不会扩大规模了。我搜索了一下,没有找到
这方面的信息太多了。


阅读 218

收藏
2020-12-20

共1个答案

小编典典

在matplotlib v2.0.x中,默认轴边距已从0更改为0.05,
它是控制轴上数据周围空白的值。
看[这里](http://matplotlib.org/devdocs/users/dflt_style_changes.html\auto-
限制)了解更多关于这一变化背后的原因。
有几种方法可以恢复以前的行为。
1) 要将单个轴实例的“边距”重置为0:

plt.margins(0)

or

ax.margins(0)

2) To reset margins to 0 for all plots in a script, use rcParams and set
this at the top of your script:

plt.rcParams['axes.autolimit_mode'] = 'round_numbers'
plt.rcParams['axes.xmargin'] = 0.
plt.rcParams['axes.ymargin'] = 0.

3) 要更改计算机上所有绘图的默认值,请修改matplotlibrcfile以包含以下行:

axes.autolimit_mode: round_numbers
axes.xmargin        : 0.
axes.ymargin        : 0.

请注意,要使用方法(1)并真正获得旧行为,您可能还需要
设定plt.rcParams公司['轴自动限制模式']='整数'

2020-12-20