Cambiar el orden de visualización de la leyenda del gráfico ggplot2 en R

En este artículo, veremos cómo cambiar el orden de visualización de la leyenda ggplot2 en el lenguaje de programación R. 

Para eso, primero debemos cargar el paquete ggplot2 usando la función library(). La sintaxis para cargar o instalar el paquete ggplot2 se proporciona a continuación. para instalar el paquete ggplot2, escriba el siguiente comando en R Console.

install.packages("ggplot2")
library("ggplot2")

Para crear un gráfico, usamos la función ggplot() y para hacer un gráfico de dispersión agregamos la función geom_point() a la función ggplot().

R

# Load Package
library("ggplot2")
  
# Create a DataFrame 
DF <- data.frame(Year = c(2011, 2012, 2013, 2014, 2015),                        
                 Points = c(30, 20, 15, 35, 50),
                 Users = c("User1", "User2", "User3", "User4", "User5"))
  
# Create a Scatter Plot
ggplot(DF,aes(Year, Points, color = Users))+
  geom_point(size = 10)

Producción:

simplescatterplot

Diagrama de dispersión simple con leyenda

 Cambiando el orden de la Leyenda al Orden Deseado :

Ahora, para cambiar el orden de la leyenda, tenemos que crear un nuevo marco de datos, digamos newDF . Aquí copiaremos el antiguo DataFrame (DF) al nuevo dataframe (newDF) porque solo queremos cambiar el orden de la leyenda. Para copiar DF ​​a newDF, simplemente asignamos DF a newDF.

newDF <- DF

Para cambiar el orden de los wsers, usaremos la función factor() y dentro del factor usaremos el parámetro de niveles para asignar el nuevo orden de la Leyenda.

Sintaxis: factor(x, niveles)

Parámetro:

  • x : un objeto de datos, que toma valores distintos. aquí queremos cambiar solo la columna Usuarios del marco de datos. para eso usaremos newDF$Users como primer parámetro (es decir, en lugar de x) del factor
  • niveles: una string de caracteres o columna que determina el nuevo orden del vector x

Retorno: codifica un vector como un factor.

nuevoDF$Usuarios <- factor(nuevoDF$Usuarios, niveles = c(“Usuario4”, “Usuario1”, “Usuario5”, “Usuario2”, “Usuario3”))

Ahora, simplemente crearemos un ScatterPlot con este New DataFrame usando como siempre las funciones ggplot() y geom_point().

R

# Load Package
library("ggplot2")
  
# Create a DataFrame 
DF <- data.frame(Year = c(2011, 2012, 2013, 2014, 2015),                        
                 Points = c(30, 20, 15, 35, 50),
                 Users = c("User1", "User2", "User3",
                           "User4", "User5"))
  
# Copy Old dataframe to New DataFrame.
newDF <- DF
  
# Change the order of Users column of DataFrame
newDF$Users <- factor(newDF$Users, 
                      levels = c("User4", "User1", "User5",
                                 "User2", "User3"))
  
# Create ScatterPlot with new dataframe.
ggplot(newDF,aes(Year, Points, color = Users))+
  geom_point(size = 10)

Producción:
 

modified order of Legend

Gráfico de dispersión con orden modificado de la leyenda ggplot2

Invertir el orden de la leyenda

Para invertir el orden de la leyenda, simplemente usamos la función rev() como parámetro de valor de los niveles de la función factor y dentro de la función rev(), asignamos el orden de los valores que queremos invertir.

Sintaxis: rev(x)

Parámetro:

  • x: la función rev tiene solo un parámetro, que representa el vector u otro objeto de datos que queremos invertir su orden, DF $Usuarios en nuestro ejemplo.

Retorno: Orden inverso de su argumento.

newDF$Usuarios <- factor(newDF$Usuarios, niveles = rev(DF$Usuarios))

R

# Load Package
library("ggplot2")
  
# Create a DataFrame 
DF <- data.frame(Year = c(2011, 2012, 2013, 2014, 2015),                        
                 Points = c(30, 20, 15, 35, 50),
                 Users = c("User1", "User2", "User3", "User4", "User5"))
  
# Copy Old dataframe to New DataFrame.
newDF <- DF
  
# Reverse the order of Users column of DataFrame
newDF$Users <- factor(newDF$Users, 
                      levels = rev(DF$Users))
  
# Create ScatterPlot with new dataframe.
ggplot(newDF,aes(Year, Points, color = Users))+
  geom_point(size = 10)

Producción:
 

reversed ordered Legend

Diagrama de dispersión con orden inverso de la leyenda ggplot2

Publicación traducida automáticamente

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