如何更改 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 ')

ggplot2 更改小平面轴标签

请注意,分面标签已更改为 Team A、Team B、Team C 和 Team D,并且已移至图的左侧。

注意strip.background参数删除小平面标签后面的灰色背景, strip.placement参数指定标签应放置在轴刻度线之外。

其他资源

以下教程解释了如何在 ggplot2 中执行其他常见任务:

如何更改ggplot2中facet的顺序
如何更改ggplot2中的字体大小
如何在ggplot2中旋转轴标签

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注