R语言 改变GGPLOT2 Facet Plot的标签
在这篇文章中,我们将看到如何在R编程语言中改变ggplot2 Facet Plot的标签。
要创建一个ggplot2图,我们必须加载ggplot2包,library()函数用于此。然后创建或加载数据框架。创建一个带有切面的常规图。标签是默认添加的。
例子
library("ggplot2")
DF <- data.frame(X = rnorm(20),
Y = rnorm(20),
LBLs = c("Label 1", "Label 2",
"Label 3", "Label 4"))
ggplot(DF, aes(X, Y)) +
geom_point(size = 7, fill = "green", color = "black", shape = 21) +
facet_grid(. ~ LBLs)
输出:
使用ggplot2的FacetPlot
现在让我们来探讨一下改变标签的不同方法。
方法1:将标签变量与面状标签相结合
如果我们想把标签变量(LBLs)和面标签(LBLs的值)结合起来,那么我们只需使用facet_grid()的 labeller 参数,并把 label_both 设置为其值。
例1 :
library("ggplot2")
DF <- data.frame(X = rnorm(20),
Y = rnorm(20),
LBLs = c("Label 1", "Label 2",
"Label 3", "Label 4"))
ggplot(DF, aes(X, Y)) +
geom_point(size = 7, fill = "green", color = "black", shape = 21) +
facet_grid(. ~ LBLs, labeller = label_both)
输出:
将标签变量与面状标签结合起来
方法2:使用level( )。
正如我们之前讨论的,DataFrame的LBLs变量负责Facet的标签,所以现在我们将创建一个新的DataFrame并将旧的DataFrame DF分配给它。然后简单地改变新DataFrame的Labels变量的值。这里我们使用 level() 函数以一种新的方式来设置变量的属性。
语法: level(x) <- value
参数:
- x : 一个数据对象,例如:向量。
- value: 命名的列表,指定如何重命名级别。
返回: 设置(重命名)向量的值。
例2 :
library("ggplot2")
DF <- data.frame(X = rnorm(20),
Y = rnorm(20),
LBLs = c("Label 1", "Label 2",
"Label 3", "Label 4"))
newDF <- DF
levels(newDF$LBLs) <- c("New Label 1", "New Label 2",
"New Label 3", "New Label 4")
ggplot(newDF, aes(X, Y)) +
geom_point(size = 7, fill = "green", color = "black", shape = 21) +
facet_grid(. ~ levels(LBLs))
输出:
使用level()改变了面片标签
方法3:使用labeller参数
labeller可以是一个函数,也可以是一个命名的字符向量(即参数),它可以取值,也可以取变量。 labeller()函数在分配给facet_grid()的labeller参数时,会取 “变量=值 “形式的命名参数,并手动改变标签。
例3 :
library("ggplot2")
DF <- data.frame(X = rnorm(20),
Y = rnorm(20),
LBLs = c("Label 1", "Label 2",
"Label 3", "Label 4"))
new <- c("labeller 1", "labeller 2",
"labeller 3", "labeller 4")
names(new) <- c("Label 1", "Label 2",
"Label 3", "Label 4")
ggplot(DF, aes(X, Y)) +
geom_point(size = 7, fill = "green", color = "black", shape = 21) +
facet_grid(. ~ LBLs, labeller = labeller(LBLs = new))
输出
使用标签器改变面的标签