如何更改 ggplot2 中的小平面轴标签
您可以使用as_labeller()函数更改 ggplot2 中的小平面轴标签:
ggplot(df, aes(x, y)) +
geom_point() +
facet_wrap(.~group,
strip. position = ' left ',
labeller = as_labeller(c(A=' new1 ', B=' new2 ', C=' new3 ', D=' new4 '))) +
ylab(NULL) +
theme(strip. background = element_blank(),
strip. placement ='outside')
此特定示例替换了以下旧标签:
- A B C D
具有以下新标签:
- 新1、新2、新3、新4
以下示例展示了如何在实践中使用此语法。
示例:在 ggplot2 中编辑 Facet 轴标签
假设我们在 R 中有以下数据框:
#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
points=c(8, 14, 20, 22, 25, 29, 30, 31),
assists=c(10, 5, 5, 3, 8, 6, 9, 12))
#view data frame
df
team points assists
1 to 8 10
2 to 14 5
3 B 20 5
4 B 22 3
5 C 25 8
6 C 29 6
7 D 30 9
8 D 31 12
以下代码展示了如何使用facet_wrap()创建一个网格,显示每个团队的助攻与得分的散点图:
library (ggplot2)
#create multiple scatter plots using facet_wrap
ggplot(df, aes (assists, points)) +
geom_point() +
facet_wrap(.~team, nrow= 4 )
目前,facet 有以下标签:A、B、C、D。
但是,我们可以使用以下代码将标签更改为 Team A、Team B、Team C 和 Team D:
library (ggplot2)
#create multiple scatter plots using facet_wrap with custom facet labels
ggplot(df, aes(assists, points)) +
geom_point() +
facet_wrap(.~team, nrow= 4 ,
strip. position = ' left ',
labeller = as_labeller(c(A=' team A ',
B=' team B ',
C=' team C ',
D=' team D '))) +
ylab(NULL) +
theme(strip. background = element_blank(),
strip. placement = ' outside ')
请注意,分面标签已更改为 Team A、Team B、Team C 和 Team D,并且已移至图的左侧。
注意: strip.background参数删除小平面标签后面的灰色背景, strip.placement参数指定标签应放置在轴刻度线之外。
其他资源
以下教程解释了如何在 ggplot2 中执行其他常见任务: