Leyenda

La función matplotlib.pyplot.legend y el método legend de un conjunto de ejes muestra la leyenda en el gráfico. Vimos en su momento que uno de los parámetros que podemos pasar a la función plot es label. Esta etiqueta es la que se mostrará en la leyenda representando a la gráfica. Para ver cómo funciona, partamos de dos conjuntos de datos a representar en sendas gráficas, y mostremos éstas con su label correspondiente:

Leyenda

Se ha aplicado a la primera gráfica la etiqueta "Ene" y a la segunda "Feb", y vemos que son precisamente estas etiquetas las que se muestran en la leyenda.

Estas etiquetas se pueden sobreescribir al llamar a la función o método legend si pasamos los nuevos valores como argumentos:

Leyenda

El código de la imagen anterior es el mismo que el mostrado en In [99] salvo por el hecho de que, como argumento del método legend, se incluye una lista con las nuevas etiquetas.

La posición de la leyenda es determinada por matplotlib en función de la distribución de las gráficas que se estén mostrando de forma que moleste lo menos posible. Pero podemos determinar la posición nosotros usando el parámetro loc. Éste puede tomar como valor una cadena de texto o un número:

Location String Location Code
'best' 0
'upper right' 1
'upper left' 2
'lower left' 3
'lower right' 4
'right' 5
'center left' 6
'center right' 7
'lower center' 8
'upper center' 9
'center' 10

Por ejemplo, si deseásemos mostrar la leyenda en la esquina inferior derecha, el código a usar sería el siguiente:

Leyenda

Hemos usado la instrucción

ax.legend(["Enero", "Febrero"], loc = "lower right")

...pero también podríamos haber usado

ax.legend(["Enero", "Febrero"], loc = "4")

También podemos pasar al argumento col una tupla con la posición x e y de la leyenda con respecto al ancho y alto del área de la gráfica. Por ejemplo:

Leyenda y el argumento loc

Hay, en todo caso, otros parámetros de esta función (y método) interesantes:

  • ncol: este parámetro permite especificar el número de columnas en las que se van a mostrar las etiquetas en la leyenda (por defecto es 1):
Leyenda
  • fontsize: este parámetro determina el tamaño de la fuente.
  • shadow: muestra u oculta una sombra alrededor de la leyenda.
  • facecolor: establece el color de fondo de la leyenda.
  • edgecolor: establece el color del borde de la leyenda.
  • title: fija un título para la leyenda
  • title_fontsize: establece el tamaño del título de la leyenda

En el siguiente ejemplo se hace uso de estos parámetros:

Leyenda

En la documentación podemos encontrar el listado completo de parámetros que podemos usar.