Ubicación de la leyenda en Matplotlib

La leyenda es una de las herramientas más útiles en Matplotlib para explicar los diferentes elementos trazados en una figura. Si bien la leyenda se agrega automáticamente a cualquier gráfico que tenga múltiples elementos, a menudo es necesario ajustar su ubicación y tamaño para que se adapte mejor a la figura. En este artículo, aprenderemos cómo cambiar la ubicación de la leyenda en Matplotlib para crear gráficos más legibles y profesionales.
Uso de la función "legend"
En Matplotlib, la leyenda se puede agregar a un gráfico utilizando la función "legend". El argumento "loc" de esta función se usa para especificar la ubicación de la leyenda en relación con los elementos trazados. Los valores aceptados del argumento "loc" son cadenas con códigos de una o dos letras.
Códigos de ubicación de leyenda
- 'best': Matplotlib seleccionará automáticamente una ubicación óptima
- 'upper right': Esquina superior derecha de la figura
- 'upper left': Esquina superior izquierda de la figura
- 'lower left': Esquina inferior izquierda de la figura
- 'lower right': Esquina inferior derecha de la figura
- 'right': Lado derecho de la figura
- 'center left': Centro izquierdo de la figura
- 'center right': Centro derecho de la figura
- 'lower center': Centro inferior de la figura
- 'upper center': Centro superior de la figura
- 'center': Centro de la figura
Ejemplos de uso
Para agregar una leyenda en la esquina inferior derecha de una figura, usamos el siguiente código:
plt.legend(loc='lower right')
Para agregar una leyenda en la esquina superior izquierda de una figura, usamos el siguiente código:
plt.legend(loc='upper left')
Personalización de la ubicación de la leyenda
La función "legend" de Matplotlib también nos permite personalizar la ubicación de la leyenda. En lugar de usar uno de los valores predefinidos para el argumento "loc", podemos pasar una tupla de coordenadas para especificar la posición exacta en la figura donde queremos que aparezca la leyenda.
Ejemplos de uso
Para colocar la leyenda en la posición (0.5, 0.5) de la figura, que es la mitad del ancho y la mitad de la altura de la figura, usamos el siguiente código:
plt.legend(loc=(0.5, 0.5))
Para colocar la leyenda en la posición (0.8, 0.8) de la figura, que es el 80% de la anchura y el 80% de la altura de la figura, usamos el siguiente código:
plt.legend(loc=(0.8, 0.8))
Conclusión
La ubicación de la leyenda es un aspecto importante de cualquier gráfico en Matplotlib. Al comprender cómo usar la función "legend" para cambiar la ubicación y modificar el tamaño de la leyenda, podemos crear gráficos más legibles y profesionales. Recuerda experimentar con diferentes ubicaciones y tamaños para encontrar la opción que funcione mejor para tu figura.
Preguntas frecuentes
¿Puedo cambiar el tamaño de la leyenda en Matplotlib?
Sí, puedes cambiar el tamaño de la leyenda en Matplotlib utilizando el argumento "fontsize" de la función "legend". Por ejemplo, para establecer el tamaño de fuente en 16, usamos el siguiente código:
plt.legend(fontsize=16)
¿Puedo tener múltiples leyendas en una sola figura de Matplotlib?
Sí, puedes agregar múltiples leyendas a una figura de Matplotlib utilizando la función "legend" varias veces. Por ejemplo, si quieres tener dos leyendas en tu gráfico, puedes usar el siguiente código:
plt.plot(x, y1, label='Línea 1')
plt.plot(x, y2, label='Línea 2')
plt.legend(loc='upper left')
plt.plot(x2, y3, label='Línea 3')
plt.plot(x2, y4, label='Línea 4')
plt.legend(loc='lower right')
¿Cómo puedo ocultar la leyenda en un gráfico de Matplotlib?
Puedes ocultar la leyenda en un gráfico de Matplotlib utilizando el siguiente código:
plt.legend().set_visible(False)
¿Cómo puedo hacer para que la leyenda no se superponga a los elementos en mi gráfico de Matplotlib?
Puedes hacer que la leyenda no se superponga a los elementos en tu gráfico de Matplotlib utilizando el siguiente código:
plt.legend(loc='best', bbox_to_anchor=(1.05, 1))
Este código establece la ubicación de la leyenda en una posición óptima y agrega un "bbox_to_anchor" para que la leyenda se coloque fuera del área del gráfico.
[nekopost slugs="convertir-bytes-de-cadena-de-python,python-string-dict,multiplicar-la-lista-de-piton-escalar,ningun-modulo-llamado-tensorflow,run-grep-python,delimitador-de-columnas-divididas-de-pandas,ordenar-lambda-python,ejecutar-scripts-de-python-linux,extraer-sustring-regex-python"]

Deja una respuesta