【发布时间】:2018-05-14 22:31:12
【问题描述】:
这是我的数据集示例:
df <- data.frame(group = rep(c("group1","group2","group3", "group4", "group5", "group6"), each=3),
X = paste(letters[1:18]),
Y = c(1:18))
如您所见,共有三个变量,其中两个是分类变量(group 和 X)。我使用 ggplot2 构建了一个折线图,其中 X 轴为 X,Y 轴为 Y。
我想使用 group 变量对背景进行着色,这样就必须出现 6 种不同的颜色。
我试过这段代码:
ggplot(df, aes(x = X, y = Y)) +
geom_rect(xmin = 0, xmax = 3, ymin = -0.5, ymax = Inf,
fill = 'blue', alpha = 0.05) +
geom_point(size = 2.5)
但geom_rect() 仅对 X 轴上0 和3 之间的区域进行着色。
我想我可以通过将geom_rect() 复制很多次来手动完成。但我确信使用变量本身必须有更漂亮的代码。有什么想法吗?
【问题讨论】: