我使用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))
答案 0 :(得分:1)
也许是一种不同的方法:对于我的情节,我发现更容易削减用于颜色的值:
ggplot(...) +
stat_bin2d (aes(fill=ifelse(..count..>20,20,..count..)), bins = 10) +
scale_fill_gradientn("Count", colours=c("blue", "yellow", "red")) + ...