R语言 如何在R中改变条形图的顺序

R语言 如何在R中改变条形图的顺序

在这篇文章中,我们将讨论如何在R编程语言中改变条形图的顺序。我们可以通过使用ggplot和barplot两个图来改变条形图的顺序。

方法1:Ggplot的重新排序

首先创建一个样本数据集,并绘制图-手册。现在让我们对它们进行相应的重新排序。

使用中的数据集

如何在R中改变条形图的顺序?

雇员工资详情

ggplot中的重新排序是通过theme()函数完成的。在这个函数中,我们使用axis.text.x的适当值来进行相应的重新排序。默认情况下,geom_bar使用stat=”bin”。如果你想让条形图的高度代表数据中的值,请使用stat=”identity “并将一个值映射到y审美。

  • geom_bar() : 用于柱状图

语法

geom_bar( mapping = NULL, data = NULL, stat = “count”, color=’blue’; fill=’yellow’ width = NULL, na.rm = FALSE, orientation = NA, show.legend = NA, …,)

  • 主题: 主题可以用来给绘图一个一致的自定义外观。

语法。

theme( line, rect, text, title, aspect.ratio, axis.text.x, axis.text.x.top, axis.text.x.bottom,)

参数。

  • line :所有直线元素(element_line())
  • rect :所有矩形元素(element_rect())
  • text :所有文本元素(element_text())
  • title :所有标题元素:plot, axes, legends (element_text(); 继承于text)
  • aspect.ratio :面板的纵横比。
  • axis.text.x :与坐标轴一起的标签(element_text())。指定所有的轴标签(axis.text),标签

手动排序

要手动重新排序条,你必须在geom_bar()函数中传递stat=”identity”。

例子

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

输出

如何在R中改变条形图的顺序?

按升序和降序重新排序

这里使用 重新排序函数 来改变图形的顺序。

语法:

ggplot(dataframe name, aes(x=reorder(column1,±column2), y=column2)

这里,如果你想要升序,那么你将使用’+’加号,如果你想要降序,那么你应该使用’-‘减号。

注意: Column2必须是有数字数据的列。

例子: 让我们首先以升序显示同一条形图。

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

输出

如何在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

输出

如何在R中改变条形图的顺序?

方法2:使用Barplot重新排序

首先创建一个样本数据集并绘制图表。现在让我们来看看条形图的重新排序。

数据框架的使用

如何在R中改变条形图的顺序?

在R中,barplot()函数

语法。

barplot(height, name.args = NULL, col = NULL, main = NULL)

参数。

  • height。你可以指定一个向量或一个矩阵的值。
  • name.args :你想在R条形图的每个条形或条形组下面绘制的名字的向量。

手动排序

对于手动排序,在创建数据框架时将顺序传递给X轴。

例子

# 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()

输出

如何在R中改变条形图的顺序?

将图形按升序和降序重新排序

这里使用的函数是 order (order返回一个将其第一个参数重新排列成升序或降序的排列方式

语法 –

order(…, na.last = TRUE, decreasing = FALSE)

参数。

na.last:用于控制对NA的处理。

让我们先看一下升序排列的图。

例子

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")

输出

如何在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")

输出

如何在R中改变条形图的顺序?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程