Agregue leyenda para varias líneas en R usando ggplot2

 En este artículo, veremos cómo agregar leyendas para diagramas de líneas múltiples en el lenguaje de programación R usando ggplot2. Primero, debe instalar el paquete ggplot2 si no se instaló previamente en R Studio.

Las funciones utilizadas para crear los diagramas de líneas son:

  • geom_line( ) : Para trazar la línea y asignar su tamaño, forma, color, etc.

Sintaxis:

geom_line(mapping=NULL, data=NULL, stat=”identidad”, position=”identidad”,…)

  • geom_point( ) : Se usa para agregar puntos al final de las líneas. Se utiliza para asignar la forma, tamaño, color de los puntos.

Sintaxis:

geom_point(mapping=NULL, data=NULL, stat=”identidad”, position=”identidad”,…)

Conjunto de datos en uso: 

Trazamos primero el gráfico inicial sin ninguna modificación para que la diferencia sea evidente.

Ejemplo:

R

# Inserting data
vacc <- data.frame(catgry=rep(c("Covishield", "Covaxin"), each=2),
                   dose=rep(c("D1", "D2"),2),
                   slots=c(33, 45, 66, 50))
library(ggplot2)
  
# Plotting basic lines with multiple groups
plt <- ggplot(data=vacc, aes(x=dose, y=slots, group=catgry))+
       geom_line()+
       geom_point(color="red", size=3)+
       labs(x="Doses",y="Free Slots")+
       ggtitle("Vaccine Details")
plt

Producción:

Los gráficos de líneas se trazan con éxito. No podemos interpretar las líneas directamente, es decir, qué línea pertenece a Covaxin y lo mismo para Covishield con solo ver el gráfico anterior. Por lo tanto, necesitamos leyendas que ayuden a segregar estas líneas sobre la base de grupos.

Adición de leyendas

No hay una forma directa en R de agregar leyendas en el caso de varias líneas como en Excel y otros lenguajes de secuencias de comandos. Entonces, para agregar leyendas, debemos distribuir las líneas en varios grupos según el color . La idea clave es diferenciar las líneas asignando diferentes colores a cada línea y agruparlas por separado. Ahora, las líneas se clasificarán en diferentes grupos y las leyendas se agregarán automáticamente en la trama.

Método 1: agrupación predeterminada

En esto, usamos directamente el atributo de color dentro de geom_line() con el atributo que se usará para diferenciar.

Sintaxis:

geom_line(aes(color=grupo_var))

group_var es el nombre de la variable en el marco de datos que se utiliza para segregar las líneas.

Ejemplo:

R

# Inserting data
vacc <- data.frame(catgry=rep(c("Covishield", "Covaxin"), each=2),
                   dose=rep(c("D1", "D2"),2),
                   slots=c(33, 45, 66, 50))
  
library(ggplot2)
# Plotting basic line with multiple groups
plt <- ggplot(data=vacc, aes(x=dose, y=slots, group=catgry))+
       geom_line()+
       geom_point(color="red", size=3)+
       labs(x="Doses",y="Free Slots")+
       ggtitle("Vaccine Details")
plt
# Adding legends
plt+geom_line(aes(color=catgry))

Producción:

Método 2: agrupación manual

R nos proporciona la función scale_color_manual() que ayuda a asignar el color manualmente. Podemos asignar el nombre del color o el código de color para las líneas manualmente usando esta función. 

Sintaxis:

scale_color_manual(..,valores,estética=”color”)

Parámetro:

  • color: código de color que se escribe en forma de “#RRBBGG” o simplemente nombre del color.
  • valores: Formar un vector para asignar colores a varias líneas.

Es similar al método anterior, pero aquí los usuarios tienen la flexibilidad de asignar color a las líneas en función de sus elecciones.

Ejemplo:

R

# Inserting data
vacc <- data.frame(catgry=rep(c("Covishield", "Covaxin"), each=2),
                   dose=rep(c("D1", "D2"),2),
                   slots=c(33, 45, 66, 50))
  
library(ggplot2)
  
# Plotting basic line with multiple groups
plt <- ggplot(data=vacc, aes(x=dose, y=slots, group=catgry))+
       geom_line()+
       geom_point(color="black", size=3)+
       labs(x="Doses",y="Free Slots")+
       ggtitle("Vaccine Details")
plt
  
# Adding legends manually
plt+geom_line(aes(color=catgry))+
  scale_color_manual(values=c("#006000", "blue"))

Producción:

Publicación traducida automáticamente

Artículo escrito por rishabhchakrabortygfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *