En este artículo, discutiremos cómo cambiar el orden de las barras en el gráfico de barras en el lenguaje de programación R. Podemos cambiar el orden de las barras usando dos gráficos ggplot y barplot.
Método 1: reordenación de Ggplot
En primer lugar, cree un conjunto de datos de muestra y trace el gráfico-Manual. Ahora vamos a reordenarlos en consecuencia.
Conjunto de datos en uso:
El reordenamiento en ggplot se realiza mediante la función theme(). Dentro de esto, usamos axis.text.x con el valor apropiado para reordenar en consecuencia. Por defecto, geom_bar usa stat=”bin”. Esto hace que la altura de cada barra sea igual al número de casos en cada grupo. Si desea que las alturas de las barras representen valores en los datos, use stat=”identity” y asigne un valor a la estética y.
- geom_bar() : Usar para los gráficos de barras
Sintaxis:
geom_bar( mapeo = NULL, data = NULL, stat = “contar”, color=’azul’; relleno=’amarillo’ ancho = NULL, na.rm = FALSO, orientación = NA, show.legend = NA,…,)
- Tema: los temas se pueden usar para dar a las tramas un aspecto personalizado consistente.
Sintaxis:
tema( línea, rect, texto, título, relación de aspecto, eje.texto.x, eje.texto.x.superior, eje.texto.x.inferior,)
Parámetro:
- línea: todos los elementos de línea (element_line())
- rect :todos los elementos rectangulares (element_rect())
- texto: todos los elementos de texto (element_text())
- título :todos los elementos del título: diagrama, ejes, leyendas (elemento_texto(); hereda del texto)
- aspect.ratio : relación de aspecto del panel.
- axis.text.x : etiquetas junto con ejes (element_text()). Especificar todas las etiquetas de eje (axis.text), etiquetas
Ordenar manualmente
Para reordenar las barras manualmente, debe pasar stat=”identity” en la función geom_bar().
Ejemplo:
R
library(ggplot2) # Create the data frame. gfg.data <- data.frame( GFG_Id = c (1:7), GFG_Name = c("Damon","Joe","Jen","Ryan","Bonnie","Stefan","William"), GFG_Sal = c(6200,5152,6110,7290,8485,7654,2341)) print(gfg.data) # GGPLOT x <- ggplot(gfg.data, aes(x = GFG_Name, y = GFG_Sal)) x <- x + geom_bar(stat="identity", color='lightgreen',fill='lightgreen') x <- x + theme(axis.text.x=element_text(angle=45, hjust=0.9)) x
Producción:
Reordenar en orden ascendente y descendente
La función de reordenación se utiliza aquí para cambiar el orden de los gráficos.
Sintaxis:
ggplot(nombre del marco de datos, aes(x=reordenar(columna1,±columna2),y=columna2)
Aquí, si desea un orden ascendente, usará el signo más ‘+’, si desea un orden descendente, debe usar el signo menos ‘-‘.
Nota: Column2 debe ser la columna con datos numéricos.
Ejemplo: Primero mostremos el mismo gráfico de barras en orden ascendente.
R
library(ggplot2) # Create the data frame. gfg.data <- data.frame( GFG_Id = c (1:7), GFG_Name = c("Damon","Joe","Jen","Ryan","Bonnie","Stefan","William"), GFG_Sal = c(6200,5152,6110,7290,8485,7654,2341)) print(gfg.data) # GGPLOT x <- ggplot(gfg.data, aes(x = reorder(GFG_Name, +GFG_Sal), y = GFG_Sal)) x <- x + geom_bar(stat="identity", color='red',fill='red') x <- x + theme(axis.text.x=element_text(angle=45, hjust=0.9)) x
Producción:
Ejemplo: ahora veamos la gráfica ordenada descendente
R
library(ggplot2) # Create the data frame. gfg.data <- data.frame( GFG_Id = c (1:7), GFG_Name = c("Damon","Joe","Jen","Ryan","Bonnie","Stefan","William"), GFG_Sal = c(6200,5152,6110,7290,8485,7654,2341)) print(gfg.data) # GGPLOT x <- ggplot(gfg.data, aes(x = reorder(GFG_Name, -GFG_Sal), y = GFG_Sal)) x <- x + geom_bar(stat="identity", color='violet',fill='violet') x <- x + theme(axis.text.x=element_text(angle=45, hjust=0.9)) x
Producción:
Método 2: usar el reordenamiento de Barplot
En primer lugar, cree un conjunto de datos de muestra y trace el gráfico. Ahora veamos el reordenamiento de las barras.
Trama de datos en uso:
En R, función barplot()
Sintaxis:
barplot(altura, nombre.args = NULL, columna = NULL, principal = NULL)
Parámetro:
- altura: puede especificar un vector o una array de valores.
- name.args: un vector de nombres que desea trazar debajo de cada barra o grupo de barras en un gráfico de barras R.
Ordenar manualmente
Para pedidos manuales, pase el pedido al eje x mientras crea el marco de datos.
Ejemplo:
R
# Create the data for the chart GFG_ID <- c(1:7) GFG_Sal <- c(6200,5152,6110,7290,8485,7654,2341) GFG_Name <- c("Dia","Joe","Rex","Ryan","Bex","Stef","Max") X <- data.frame(GFG_ID,GFG_Name,GFG_Sal) X # Give the chart file a name png(file = "barchart_months_salary.png") # Plot the bar chart barplot(GFG_Sal,names.arg=GFG_Name,xlab="Employee Name", ylab="Salary Range",col="black", main="Salary chart",border="Red") # Save the file dev.off()
Producción
Reordenar el gráfico en orden ascendente y descendente
La función utilizada aquí es el orden (el orden devuelve una permutación que reorganiza su primer argumento en orden ascendente o descendente)
Sintaxis –
order(…, na.last = VERDADERO, decreciente = FALSO)
Parámetro:
na.last: para controlar el tratamiento de NAs
Veamos primero la gráfica ordenada ascendente.
Ejemplo:
R
GFG_ID <- (LETTERS[1:7]) GFG_Sal <- c(6200,5152,6110,7290,8485,7654,2341) data <- data.frame(GFG_Sal, GFG_ID) barplot(data[order(data[,1],decreasing=FALSE), ][,1],names.arg=data[order(data[,1],decreasing=FALSE),] [,2],col="blue",xlab="Employee Name Initial Letter", ylab="Salary Range",main="Salary chart",border="black")
Producción
Ahora echemos un vistazo a la trama ordenada descendente.
Ejemplo:
R
GFG_ID <- (LETTERS[1:7]) GFG_Sal <- c(6200,5152,6110,7290,8485,7654,2341) data <- data.frame(GFG_Sal, GFG_ID) barplot(data[order(data[,1],decreasing=TRUE), ][,1],names.arg=data[order(data[,1],decreasing=TRUE), ][,2],col="blue",xlab="Employee Name Initial Letter", ylab="Salary Range",main="Salary chart",border="black")
Producción
Publicación traducida automáticamente
Artículo escrito por yashisrivastav y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA