Как выбрать цвета из предопределенного набора цветов в ggplot2
Предположим, у меня есть набор данных, подобный следующему:
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
1 ответ
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])
Для более масштабируемого подхода определите палитру глобально, вне кода построения. После этого вы сможете динамически отображать подмножество данных в соответствующий цвет.