Agregar leyenda a gráficos de líneas múltiples con ggplot en R

En este artículo, veremos cómo podemos agregar una leyenda a varios diagramas de líneas con ggplot en el lenguaje de programación R. 

Para un gráfico que contiene más de un gráfico de líneas, se crea una leyenda de forma predeterminada si se utiliza el atributo col. Todos los cambios realizados en la apariencia de los gráficos de líneas también se reflejarán en la leyenda.

Sintaxis: ggplot(df, aes(x, y, col=”nombre de la columna a diferenciar en base a”))

Primero visualicemos cómo aparecerá la curva por defecto.

Ejemplo: gráfico predeterminado

R

library("ggplot2")
  
function1<- function(x){x**2}
function2<-function(x){x**3}
function3<-function(x){x/2}
function4<-function(x){2*(x**3)+(x**2)-(x/2)}
  
df=data.frame(x=-2:2,
              values=c(function1(-2:2),
                       function2(-2:2),
                       function3(-2:2),
                       function4(-2:2)),
              fun=rep(c("function1","function2","function3","function4"))
)
  
ggplot(df,aes(x,values,col=fun))+geom_line()

Producción:

Varios cambios realizados en las líneas también aparecerán en las leyendas, veamos cómo:

cambiando de color

Para cambiar el color de forma predeterminada, se producirá el gráfico anterior, ahora supongamos que queremos agregar manualmente colores a la línea, para eso cualquiera de las funciones dadas: scale_color_manual(), scale_color_brewer() y scale_color_grey().

Ejemplo: cambiar el color de las líneas

R

library("ggplot2")
  
function1<- function(x){x**2}
function2<-function(x){x**3}
function3<-function(x){x/2}
function4<-function(x){2*(x**3)+(x**2)-(x/2)}
  
df=data.frame(x=-2:2,
              values=c(function1(-2:2),
                       function2(-2:2),
                       function3(-2:2),
                       function4(-2:2)),
              fun=rep(c("function1","function2",
                        "function3","function4"))
)
  
ggplot(df,aes(x,values,col=fun))+geom_line()+
  scale_color_manual(values=c("green","yellow","red","grey"))

Producción:

Cambiar el grosor de la línea

Para ello se utiliza el atributo tamaño con un valor específico. Los cambios también se reflejarán en la leyenda.

Ejemplo:

R

library("ggplot2")
  
function1<- function(x){x**2}
function2<-function(x){x**3}
function3<-function(x){x/2}
function4<-function(x){2*(x**3)+(x**2)-(x/2)}
  
df=data.frame(x=-2:2,
              values=c(function1(-2:2),
                       function2(-2:2),
                       function3(-2:2),
                       function4(-2:2)),
              fun=rep(c("function1","function2",
                        "function3","function4"))
              )
  
ggplot(df,aes(x,values,col=fun))+geom_line(size=3)

Producción:

Cambio de tipo de línea

El tipo de línea de los gráficos se puede cambiar utilizando cualquiera de las funciones dadas: scale_linetype_manual(), o de forma predeterminada mediante el uso de la palabra clave linetype.

Ejemplo:

R

library("ggplot2")
  
function1<- function(x){x**2}
function2<-function(x){x**3}
function3<-function(x){x/2}
function4<-function(x){2*(x**3)+(x**2)-(x/2)}
  
df=data.frame(x=-2:2,
              values=c(function1(-2:2),
                       function2(-2:2),
                       function3(-2:2),
                       function4(-2:2)),
              fun=rep(c("function1","function2",
                        "function3","function4"))
)
  
ggplot(df,aes(x,values, group=fun, color=fun, linetype=fun))+
geom_line(size=1)+
scale_linetype_manual(values = c("solid","dotted","dashed","twodash"))+
scale_color_manual(values=c("red","green","blue","black"))

Producción:

Publicación traducida automáticamente

Artículo escrito por vanshikagoyal43 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 *