如何在 ggplot 中为每个 x 值使用不同的背景颜色?

2023-12-31

我想使用 R 中的 ggplot 库创建箱线图。 我想要的是为每个 x 值设置各种背景颜色,如下图所示。我找不到任何更改每个 x 轴的背景颜色的选项。我唯一发现的是更改整个背景颜色,例如“theme_bw()”选项

在第一、第四、第五个 x 轴上,bgcolor 为蓝色。但是,第二、第三、第六个x轴上没有值,所以我想将红色设置为bgcolor。

谢谢你的时间!


也许你可以在这个玩具示例上构建一些东西:

nFac <- 6; nDat <- 10
df <- data.frame(x = gl(nFac, nDat), 
                 y = runif(nFac * nDat))
rec <- data.frame(xmin = head(seq <- seq(0.5, nFac + .5, 1), -1), 
                  xmax = tail(seq, -1), 
                  alpha = c(.5, 0, 0, .5, .5, 0))
library(ggplot2)
ggplot() +
  scale_x_discrete(seq_len(nFac)) +
  geom_rect(data = rec, 
            aes(xmin = xmin, 
                xmax = xmax, 
                alpha = alpha), 
            ymin = -Inf, 
            ymax = Inf, 
            fill = "lightblue",
            colour = "blue",
            size = 2) +
  geom_boxplot(data = df, 
               aes(x = x, y = y)) +
  theme(panel.background = element_rect(fill = "pink"),
        panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank()) +
  guides(alpha = FALSE)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 ggplot 中为每个 x 值使用不同的背景颜色? 的相关文章

随机推荐