scale_gradient2中的不对称颜色分布?

Dah*_*iel 18 r colors scale ggplot2

更改上限scale_fill_gradient2也会影响值<0的颜色分类,因为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))
Run Code Online (Sandbox Code Playgroud)

具有对称限制的图:

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

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

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

Bri*_*ggs 21

你想要的是什么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))
Run Code Online (Sandbox Code Playgroud)

这使:

在此输入图像描述

  • 在v 0.9之后更新针对此问题的任何人,您都必须执行“ library(scales)”以包含rescale命令,如/sf/ask/700442221/ -重塑 (3认同)