En este tutorial explicamos cómo crear una leyenda en Matplotlib (legend matplotlib). Una leyenda se usa cuando tenemos una gráfica con múltiples líneas, con la leyenda indicamos a que se refiere cada una de las líneas.
Un ejemplo de una leyenda es el siguiente:
Podemos ver en la esquina superior izquierda la leyenda. Ahí damos información sobre cada una de las líneas de la gráfica.
¿Qué es una leyenda en matplotlib?
Una leyenda o legend es la descripción de varios elementos de una figura.
Es una etiqueta que aparece en una zona que no interfiere con el gráfico, y proporciona información para identificar un elemento del gráfico, ya sea por forma, color, tipo de línea, etc.
¿Cómo agrego una leyenda Matplotlib (legend matplotlib)?
Matplotlib en Python, es una herramienta muy poderosa al momento de hacer graficos. Y podemos agregar una leyenda con mucha facilidad, solo es cuestión de agregar un comando, darle las características deseadas y listo.
El comando para agregar una leyenda en Python graficando con Matplotlib es el siguiente:
plt.legend(loc=’best’, facecolor=”w”, fontsize=16)
Los parámetros que mostramos en el comando tienen la siguiente función:
- Loc, es la ubicación de la leyenda, en este caso esta donde matplotlib considere mejor (best).
- Facecolor, es el color del fondo de la leyenda.
- Fontsize, es el tamaño de la letra.
Nota 1: Debes de colocar este código después de plt.plot(…..) y antes del plt.show().
Nota 2: En el comando plt.plot(…., lable = “titulo”) debes incluir el parámetro “label”, en este parámetro indicas el nombre de ese plot y así aparecerá en el legend.
Ejemplo de leyenda Matplotlib (legend matplotlib).
Vamos a suponer que tenemos la siguiente gráfica y queremos agregar una leyenda para identificar cada una de las líneas (legend Matplotlib).
Como podemos ver, tenemos 3 líneas cada una con un color diferente. La leyenda nos ayudará a dar más información sobre cada línea.
Este es el código de la gráfica anterior:
import matplotlib.pyplot as plt x = range(100) y = [] z = [] w = [] for i in range(100): y.append(i**2) z.append(2*(i**2)) w.append(3*(i**2)) plt.plot(x,y, "b") plt.plot(x,z, "k") plt.plot(x,w, "r") plt.title("Ejemplo Leyenda") plt.xlabel("Datos de entrada") plt.ylabel("Resultado") plt.show()
Agregando la leyenda maplotlib, en Python.
Vamos a agregar el comando legend, de la siguiente manera:
plt.legend(loc=’upper left’)
No modificaremos nada, solo la localización de la leyenda. La colocaremos en la esquina superior izquierda que es donde hay más espacio. Probablemente si dejamos “best”, coloque la leyenda también en la parte superior izquierda.
Para la localización de la leyenda en matplotlib (legend location) tenemos las siguientes opciones:
- best
- upper right
- upper left
- lower right
- right
- center left
- center right
- lower center
- upper center
- center
Vamos a agregar la etiqueta en cada leyenda (label legend matplotlib).
Solo agregamos un label a cada plot, con el texto que queramos se muestre en la leyenda, lo hacemos así:
plt.plot(x, y, "b", label = "Normal") plt.plot(x, z, "k", label = "Por 2") plt.plot(x, w, "r", label = "Por 3")
Código completo.
El código completo es el siguiente, resaltamos con letras negritas las partes que se modificaron del código de la figura inicial.
import matplotlib.pyplot as plt x = range(100) y = [] z = [] w = [] for i in range(100): y.append(i**2) z.append(2*i**2) w.append(3*i**2) plt.plot(x, y, "b", label = "Normal") plt.plot(x, z, "k", label = "Por 2") plt.plot(x, w, "r", label = "Por 3") plt.legend(loc = "upper left") plt.title("Ejemplo Leyenda") plt.xlabel("Datos de entrada") plt.ylabel("Resultado") plt.show()
Así es como se verá ña gráfica ahora:
Para más tutoriales puedes ver la sección de Matplotlib.