cqc*_*991 3 python data-visualization matplotlib
我在编辑作品时注意到了这种细微差别.
以前,matplotlib看起来像这样:
x=[1,2,3,4,5]
y=[4,5,5,2,1]
plot(x,y,'-')
Run Code Online (Sandbox Code Playgroud)
但是在最近的升级之后我相信,有偏差,这将会像这样回归
这与我现在看到的有点不相干.我想知道
如果这种偏移是数据可视化的一个很好的实践?如果是这样,我会保持原样.
如何取消这个偏移量?
我可以手动恢复限制plt.gca().set_xlim([1, 5]),但如果我有另外20个图,则无法扩展.我用Google搜索并没有找到太多关于此的信息.
在matplotlib v2.0.x中,默认轴边距已更改,从0到0.05,这是控制轴上数据周围空白的值.有关此更改背后的原因,请参阅此处.
有几种方法可以恢复到以前的行为.
1)要margins为单个Axes实例重置为0:
plt.margins(0)
Run Code Online (Sandbox Code Playgroud)
要么
ax.margins(0)
Run Code Online (Sandbox Code Playgroud)
2)要margins为脚本中的所有绘图重置为0,请使用rcParams并在脚本顶部设置:
plt.rcParams['axes.autolimit_mode'] = 'round_numbers'
plt.rcParams['axes.xmargin'] = 0.
plt.rcParams['axes.ymargin'] = 0.
Run Code Online (Sandbox Code Playgroud)
3)要更改计算机上所有绘图的默认值,请修改matplotlibrc文件以包含以下行:
axes.autolimit_mode: round_numbers
axes.xmargin : 0.
axes.ymargin : 0.
Run Code Online (Sandbox Code Playgroud)
请注意,要使用方法(1)并真正获得旧行为,您可能还需要进行设置plt.rcParams['axes.autolimit_mode'] = 'round_numbers'.