R - 为什么我的ColorBrewer调色板错了

时间:2016-06-17 07:16:50

标签: r ggplot2 colorbrewer

我在R中做一个简单的散点图,当我尝试使用colorbrewer调色板“RdBu”时,我得到的东西明显不同,我不明白为什么。

以下是我的数据摘要

> summary(d$Year)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   1880    1914    1947    1947    1980    2014 

> summary(d$NHem)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
-52.000 -21.500  -2.000   3.326  16.000  91.000 

> summary(d$NHem.bin)
-3 -2 -1  0  1  2  3  4  5 
 1 23 28 37 22  4  8 11  1 

当我使用命令

ggplot(d, aes(x=Year, y=NHem, colour=NHem.bin)) + geom_point() + scale_fill_brewer(palette = "RdBu") 

我明白了

enter image description here

所以这显然不是“RdBu”。我做错了什么?

另外,我正在创建一个bin var,以便我可以尝试在3个不同的图中保持相同的渐变。

由于我已经在这里,如何反转比例,使蓝色端对应更多负数,红色对应更正数?

THX

1 个答案:

答案 0 :(得分:4)

首先,你没有映射fill美学。其次,您应该映射color美学,或者指定具有填充的点形状:

library(ggplot2)
ggplot(mtcars, aes(wt, mpg, colour = factor(cyl))) +  
  geom_point() + 
  scale_color_brewer(palette = "RdBu") -> p1

# or
ggplot(mtcars, aes(wt, mpg, fill = factor(cyl))) +  
  geom_point(shape=21, color=NA) + 
  scale_fill_brewer(palette = "RdBu") -> p2

gridExtra::grid.arrange(p1, p2)

给出

enter image description here