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:
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:
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:
Publicación traducida automáticamente
Artículo escrito por erkrutikpatel y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA