Empujando los límites de los gráficos en Python

Foto 1

foto 2

Estoy tratando de representar la información como se muestra en la imagen 2, pero el resultado es la imagen 1. ¿Cómo puedo empujar los bordes como en la imagen 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() 

`

Aquí básicamente se aplica lo inverso de esta respuesta :

En matplotlib 2.x hay un margen automático establecido en los bordes, que garantiza que los datos se ajusten bien dentro de las espinas del eje. Por defecto, se establece en 0.05 en unidades de rango de eje. Este margen no está presente de forma predeterminada en las versiones de matplotlib anteriores a 2.x. Sin embargo, el comando para establecer los márgenes está presente también en versiones anteriores:

 plt.margins(x=0.04, y=0.06) 

o

 ax.margins(x=0.04, y=0.06) 

Dependiendo del contexto. Establecer un solo valor para las direcciones de ambos ejes es igualmente posible:

 ax.margins(0.05) 

Véase también la documentación .

En caso de que desee establecer el margen en todo el script, puede utilizar

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

al comienzo de su guión (lo mismo para y por supuesto). Si desea establecer el margen por completo y para siempre, es posible que desee cambiar la línea correspondiente en el archivo matplotlib rc .

Como alternativa a cambiar los márgenes, use plt.xlim(..) o ax.set_xlim(..) para establecer manualmente los límites de los ejes de modo que no quede espacio en blanco.