我想在R中使用ggplot库创建一个boxplot。 我想要的是为每个x值设置各种背景颜色,如下图。我找不到任何改变每个x轴的bgcolor的选项。我发现的只是改变整个背景颜色,例如'theme_bw()'选项
在第一,第四,第五x轴上,bgcolor为蓝色。但是,第二,第三,第六轴没有值,所以我想将红色设置为bgcolor。
谢谢你的时间!
答案 0 :(得分:4)
也许你可以在这个玩具示例上建立一些东西:
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)