如何从R ggplot的调色板中选择某些颜色

时间:2018-11-13 17:46:43

标签: r ggplot2

我正在ggplot中绘制类似于此的条形图:

Light image

但是我不能轻易看到投影机上最亮的彩条。

我想跳过“蓝调”(Blues)调色板中最浅的蓝色,而将2:9或3:9的颜色用于绘图。

我以虹膜数据集为例:

df <- data.frame(iris,petal.colour=c("red","blue"), country=c("UK","France","Germany"))

ggplot(df, aes(petal.colour,Sepal.Length))+
  geom_bar(stat = "identity",aes(fill=country))+
  facet_wrap(~Species, ncol=3)+
  scale_fill_brewer(palette = "Blues" ,
                    labels = c("French Flower", "German Flower","UK Flower"))+
  theme_bw(base_size=18)

似乎常见的解决方法是使背景变暗,但是这与我的其他图像看起来不合适,因此不是一种选择。同样重要的是,我还能够重命名图例。

非常感谢!

1 个答案:

答案 0 :(得分:3)

这是一种方法,您将调色板预先定义为四色蓝色调色板的最后3种颜色:

my_colors <- RColorBrewer::brewer.pal(4, "Blues")[2:4]

ggplot(df, aes(petal.colour,Sepal.Length))+
  geom_bar(stat = "identity",aes(fill=country))+
  facet_wrap(~Species, ncol=3)+
  scale_fill_manual(values = my_colors,
                    labels = c("French Flower", "German Flower","UK Flower"))+
  theme_bw(base_size=18)

enter image description here