在Python中推动图形的边界

时间:2017-03-05 14:47:27

标签: python matplotlib

picture 1

picture 2

我试图表示如图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()

`

1 个答案:

答案 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)

另见the documentation

如果您想在整个脚本中设置边距,可以使用

plt.rcParams['axes.xmargin'] = 0.05
plt.rcParams['axes.ymargin'] = 0.05

在脚本的开头(当然是y)。如果您想要完全永久地设置保证金,您可能需要更改matplotlib rc file中的相应行。

如果要更改边距,请使用plt.xlim(..)ax.set_xlim(..)手动设置轴的限制,以便不会留下空白区域。