【发布时间】:2014-02-23 13:05:50
【问题描述】:
假设我有如下数据集:
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 和 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 调色板集中排在首位。
所以我的问题是:当我使用ggplot2 时,如何在预定义的颜色集中选择颜色?
【问题讨论】:
-
您使用 scale_*_manual 进行此操作,但传入来自
brewer_pal的特定颜色子集。 -
不是完全重复的,但这应该给你的想法:stackoverflow.com/a/8751004/324364
标签: r colors plot ggplot2 color-palette