R语言 对ggplot2绘图中的面进行重新排序
在这篇文章中,我们将探讨在R编程语言中对ggplot2图中的面进行重新排序的方法。
为了对给定的ggplot2图进行相应的排序,用户需要在level函数和所需参数的帮助下对分组变量的级别进行相应的排序,这将导致在R编程语言中对面的相应排序。
等级函数 提供了对变量的等级属性的访问。第一种形式是返回其参数的级别值,第二种形式是设置该属性。
语法
levels(x)
参数
- x:一个对象,例如,一个因子。
让我们先看一下初始图。这样就可以突出地观察到重新排序后的差异。
例子: 初始图
library(ggplot2)
gfg < - data.frame(x=c(4, 9, 5, 6, 10, 2, 3, 7, 8, 1),
y=c(9, 4, 3, 1, 5, 2, 8, 10, 7, 6),
group=c('A', 'B', 'C', 'D', 'E'))
gfg_plot < - ggplot(gfg, aes(x, y)) +
geom_point() + facet_grid(.~group)
gfg_plot
输出
现在让我们用水平函数重新排列面。
例子: 重新排列面的顺序后的绘图
library(ggplot2)
gfg < - data.frame(x=c(4, 9, 5, 6, 10, 2, 3, 7, 8, 1),
y=c(9, 4, 3, 1, 5, 2, 8, 10, 7, 6),
group=c('A', 'B', 'C', 'D', 'E'))
gfggroup<- factor(gfggroup, levels=c("E", "B", "A", "C", "D"))
gfg_plot < - ggplot(gfg, aes(x, y)) + geom_point() +
facet_grid(.~group)
gfg_plot
输出
例子: 在这个例子中,我们将使用一组10个数据点来绘制ggplot2条形图,并将在level函数的帮助下对条形图的各个面进行相应的重新排序。
library(ggplot2)
gfg < - data.frame(x=c(4, 9, 5, 6, 10, 2, 3, 7, 8, 1),
y=c(9, 4, 3, 1, 5, 2, 8, 10, 7, 6),
group=c('A', 'B', 'C', 'D', 'E'))
gfggroup<- factor(gfggroup, levels=c("C", "E", "B", "A", "D"))
gfg_plot < - ggplot(gfg, aes(x, y)) + geom_bar(stat="identity") +
facet_grid(.~group)
gfg_plot
输出