12.5 Leyendas

Las leyendas son usadas para identificar con mayor claridad los distintos elementos en un gráfico, tales como colores y formas.

En R usamos la función legend() para generar leyendas. Esta función debe ser llamada después de crear un gráfico. En cierto modo es una anotación a un gráfico ya existente. legend() es una función relativamente compleja, así que sólo revisaremos lo esencial.

legend() siempre nos pide siempre los siguientes argumentos.

  • legend: Las etiquetas de los datos que queremos describir con la leyenda. Por ejemplo, si tenemos cuatro categorías a describir, proporcionamos un vector de cuatro cadenas de texto.
  • fill: Los colores que acompañan a las etiquetas definidas con legend. Estos colores tienen que coincidir con los que hemos usado en el gráfico.
  • x y y: Las coordenadas en pixeles, en las que estará ubicada la leyenda. Podemos dar como argumento a x alguno de los siguientes, para ubicar automáticamente la leyenda: “bottomright”, “bottom”, “bottomleft”, “left”, “topleft”, “top”, “topright”, “right”, “center”.
  • title: Para poner título a la leyenda.

Además, tenemos muchos otros argumentos opcionales, que puedes consultar en la documentación llamando ?legend().

Vamos a agregar una leyenda a la última gráfica de barras que creamos en la sección anterior de este capítulo.

Entonces necesitamos conocer las etiquetas que daremos como argumento legend y a qué colores corresponden al vector banco$loan.

Usamos la función unique para determinar cuántos valores únicos hay en este vector. Cada uno de estos valores corresponde a una etiqueta. Esta función, si la aplicamos a un vector de tipo factor, nos devuelve sus niveles.

unique(banco$loan)
## [1] no  yes
## Levels: no yes

Tenemos dos etiquetas, “no” y “yes” (no y sí, respectivamente), en ese orden, por lo que ese será nuestro argumento legend.

Nosotros determinamos los colores en la sección anterior como “royalblue” y “grey”, en ese orden. Por lo tanto, tendremos que “no” será coloreado con “royalblue”, y “yes” con “grey”. como vamos a rellenar una barra, esto colores los daremos al argumento fill.

Por último, daremos como “topright” como argumento x para que nuestra leyenda se unique en la parte superior derecha de nuestro gráfico.

Aplicamos todo, incluído generar el gráfico al que agregaremos la leyenda.

barplot(ptab_banco,  main = "Préstamos por nivel educativo",
     xlab = "Nivel educativo", ylab = "Proporción", 
     col = c("royalblue", "grey"))
legend(x = "topright", legend = c("No", "Yes"), fill = c("royalblue", "grey"), 
       title = "Loan")

Se ve mucho más clara la información, pues ahora estamos mostrando a qué categoría corresponden los colores que hemos empleado en el gráfico.

En las secciones siguientes agregaremos leyendas a otros gráficos, con lo cual quedará un poco más claro el uso de legend().