如何在R / ggplot中为0创建固定颜色的色彩图

时间:2012-06-27 18:06:20

标签: r colors ggplot2

我使用ggplot2生成测量热图。数据包含正值和负值,我使用rainbow()调色板进行着色。

我有不同的数据集,并希望以每个数据集的最小值,最大值和0值分配相同颜色的方式缩放颜色。我只能使用limits=...

找出设置最小值和最大值

如何定义0的给定颜色?

这是我的最小例子,如果我想使用rainbow(5),我希望第3种颜色为零色。

data <- read.csv("http://protzkeule.de/data.csv")
ggplot(data=data, aes(x=variable, y=meas)) + 
  geom_tile(aes(fill=value)) + 
  scale_fill_gradientn(colours=rev(rainbow(255)),limits=c(-.2,.4))

1 个答案:

答案 0 :(得分:1)

也许是一种不同的方法:对于我的情节,我发现更容易削减用于颜色的值:

ggplot(...) +
stat_bin2d (aes(fill=ifelse(..count..>20,20,..count..)), bins = 10) +
scale_fill_gradientn("Count", colours=c("blue", "yellow", "red")) + ...