асимметричное распределение цветов в scale_gradient2?
Изменение верхних пределов для scale_fill_gradient2
также влияет на значение colorscaling для значений <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))
график с симметричными пределами:
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
То, что вы хотите, - 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]()