1

我正在使用ggplot2. 数据包含正值和负值,我使用rainbow()调色板进行着色。

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

我怎样才能为 0 定义一个给定的颜色?

这是我的最小示例,例如,如果我要使用彩虹(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))
4

1 回答 1

1

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

ggplot(...) +
stat_bin2d (aes(fill=ifelse(..count..>20,20,..count..)), bins = 10) +
scale_fill_gradientn("Count", colours=c("blue", "yellow", "red")) + ...
于 2013-04-27T17:34:33.693 回答