instalar - plot python 3
Cortando la segunda etiqueta del eje y (2)
Acabo de descubrirlo: el truco es usar bbox_inches=''tight''
en savefig
.
EG plt.savefig("test.png",bbox_inches=''tight'')
Estoy tratando de trazar dos conjuntos de datos en una gráfica de barras con matplotlib, así que estoy usando dos ejes con el método twinx()
. Sin embargo, la segunda etiqueta del eje y se corta. He intentado algunos métodos diferentes sin éxito ( tight_layout()
, configurando el major_pad
s en rcParams
, etc ...). Siento que la solución es simple, pero no la he encontrado todavía.
Aquí hay un MWE:
#!/usr/bin/env python
import numpy as np
import matplotlib
matplotlib.use(''Agg'')
import matplotlib.pyplot as plt
matplotlib.rcParams.update({''font.size'': 21})
ax = plt.gca()
plt.ylabel(''Data1'') #Left side
ax2 = ax.twinx()
for i in range(10):
if(i%2==0):
ax.bar(i,np.random.randint(10))
else:
ax2.bar(i,np.random.randint(1000),color=''k'')
plt.ylabel(''Data2'') #Right
side plt.savefig ("test.png")
Encontré el mismo problema que plt.tight_layout()
no resolvió automáticamente.
En su lugar, utilicé el argumento del panel de ylabel
en ylabel
/ set_ylabel
como tal:
ax.set_ylabel(''label here'', rotation=270, color=''k'', labelpad=15)
Supongo que esto no se implementó cuando hiciste esta pregunta, pero como es el principal resultado en Google, espero que pueda ayudar a los usuarios de la versión actual de matplotlib.