R语言 枚举每个面右侧的网格线

6ie5vjzr  于 2023-01-15  发布在  其他
关注(0)|答案(1)|浏览(144)

我有以下情况:

由于绘图很忙,我需要水平堆叠面,我想在每个面的右侧添加网格线编号(从上到下为1、2、3 ...)作为一个小注解。
示例:

df -> structure(list(x = c("A", "A", "A", "B", "B", "B", "B", "C", 
"C", "C", "C", "C"), y = c(-0.0266895396994591, 1.2629902531844, 
-0.197547366036169, -0.334884614303217, -1.31341546345431, 
0.679653721629223, 
0.646719367666199, 0.5724201029025, -0.518199049316855, 
0.720858806355891, 
-0.752050452401081, 0.573150406892228)), row.names = c(NA, -12L), class = 
c("tbl_df", "tbl", "data.frame"))

生成该图的代码是

df %>% ggplot(aes(x, y)) +
     geom_boxplot() +
     coord_flip()

我想列举三条主要的网格线,右边是1,2,3
我怎样才能做到这一点?

m2xkgtsf

m2xkgtsf1#

您可以使用scale_x_discrete并将所需的labels与正确的position相加,如下所示:

library(ggplot2)
library(dplyr)

df %>% 
  ggplot(aes(x, y)) +
  geom_boxplot() +
  coord_flip() +
  scale_x_discrete(labels = as.character(c(1:3)),
                   position = "top")

创建于2023年1月11日,使用reprex v2.0.2

相关问题