我试图表示如图2所示的信息,但结果是图片1.如何按照图片2推动边框。 `
plot = newData.copy()
del plot['Region']; del plot['Country']; del plot['2016 Rank']
plot.index = range(0, 20)
fig = plt.figure(figsize=(8,4))
plt.title('Springfield')
plt.ylabel('CPI')
plt.yticks(range(20,90,10))
plt.xticks(num.arange(5), ( '2012 Score', '2013 Score', '2014 Score', '2015 Score', '2016 Score', ))
plt.grid(axis='both', which='major')
for x in plot.values:
plt.plot(x, color='gray', linewidth=1, marker='o', markerfacecolor='gray', markersize=6)
plt.show()
`
答案 0 :(得分:2)
这里基本上适用this answer的倒数:
在matplotlib 2.x中,边缘处设置了自动边距,这可确保数据在轴刺中很好地拟合。默认情况下,它以轴跨度为单位设置为0.05。默认情况下,在2.x之前的matplotlib版本中不存在此边距。但是,设置边距的命令也存在于以前的版本中:
plt.margins(x=0.04, y=0.06)
或
ax.margins(x=0.04, y=0.06)
取决于具体情况。同样可以为两个轴方向设置单个值:
ax.margins(0.05)
如果您想在整个脚本中设置边距,可以使用
plt.rcParams['axes.xmargin'] = 0.05
plt.rcParams['axes.ymargin'] = 0.05
在脚本的开头(当然是y)。如果您想要完全永久地设置保证金,您可能需要更改matplotlib rc file中的相应行。
如果要更改边距,请使用plt.xlim(..)
或ax.set_xlim(..)
手动设置轴的限制,以便不会留下空白区域。