es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo cambiar la ubicación de la leyenda para los subplots de pandas.

Estoy tratando de crear un gráfico de pandas con un gran número de subgráficos, en este caso 58. Los datos están en un formato amplio similar a este:

df = 

Fecha It1 It2 It3... Itn 
0    x    x   x      n
1    x    x   x      n
2    x    x   x      n
3    x    x   x      n

He podido crear el gráfico sin problemas con pandas plot:

rows = df.shape[1]//2
df.plot(legend = True, subplots = True, layout = (rows,5), grid=True, title="Labs", sharex=True, sharey=False,figsize=(12,32),)
plt.show()

Pero tengo problemas para configurar la posición de la leyenda para que todos los gráficos sean legibles, este es un ejemplo de cómo se ven actualmente:

He intentado ambas soluciones en esta otra publicación de stack overflow, pero ninguna funciona. También intenté usar tight_layout() siguiendo esta respuesta, pero es igualmente ilegible.

¿Alguien puede ofrecer alguna orientación sobre cómo ubicar las leyendas de un gráfico con tantos gráficos y poder mantener su legibilidad?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puede intentar usar plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0.) para establecer la posición de la leyenda. Esto colocará la leyenda fuera del área del gráfico, lo que debería hacerla más legible. También puede ajustar los parámetros bbox_to_anchor y loc para cambiar la posición de la leyenda.

Comments are closed.