更改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))
答案 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))
给出了: