假设我有一个如下所示的数据集:
set.seed(1)
dataset <- data.frame(x = sort(rnorm(100)),
y = sort(rlnorm(100))+1:4,
group=rep(letters[1:4], 25))
我想使用ggplot2
创建一个情节。我没有手动选择颜色,而是使用预定义的颜色集Paired
:
ggplot(dataset, aes(x = x, colour = group)) +
geom_line(aes(y=y)) +
scale_colour_brewer(palette="Paired")
我得到的图如下所示:组a
和b
的数据点有两种蓝色,而组c
和{{1}的数据点两种颜色的绿色。
现在假设,我只想绘制与组d
和c
对应的数据,我想使用两种绿色阴影。如果我只是执行以下操作:
d
该函数将自动选择两种蓝色阴影(见下文),因为它们位于ggplot(dataset[dataset$group %in% c("c", "d"),], aes(x = x, colour = group)) +
geom_line(aes(y=y)) +
scale_colour_brewer(palette="Paired")
调色板集中的第一位。
Paired
答案 0 :(得分:9)
require(RColorBrewer)
ggplot(dataset[dataset$group %in% c("c", "d"),], aes(x = x, colour = group)) +
geom_line(aes(y=y)) +
scale_colour_manual(values = brewer.pal(4, "Paired")[3:4])
对于更具伸缩性的方法,在绘图代码之外全局定义调色板。然后,您将能够将子集化数据动态映射到相应的颜色。