scale_gradient2中的不对称颜色分布?

时间:2012-07-02 19:07:13

标签: r colors ggplot2 scale

更改scale_fill_gradient2的上限也会影响值的颜色缩放<因为0周围的颜色分布似乎总是对称的,有没有办法得到颜色值的不对称分布?

这是使用geom_tile()

的情节的最小示例
data <- read.csv("http://protzkeule.de/data.csv")
p <- ggplot(data = data, aes(x = variable, y = meas)) + geom_tile(aes(fill = value))

具有对称限制的图表:

p + scale_fill_gradient2(low = "blue", mid = "white", high = "red", guide = "colorbar",
                         limits = c(-0.1, 0.1))

但是当更改上限时,下面的颜色映射也会改变(观察颜色条):

p + scale_fill_gradient2(low = "blue", mid = "white", high = "red", guide = "colorbar",
                         limits = c(-0.1, 0.3))

1 个答案:

答案 0 :(得分:19)

你想要的是scale_fill_gradientn。这些论点不是很清楚(我花了一个小时左右的时间来最终确定其中的一部分),但是:

library("scales")
p + scale_fill_gradientn(colours = c("blue","white","red"), 
                         values = rescale(c(-.1,0,.3)),
                         guide = "colorbar", limits=c(-.1,.3))

给出了:

enter image description here