【发布时间】:2020-02-18 23:35:10
【问题描述】:
我想要一个平滑的渐变,从 0 处的红色到 0.5 处的白色到 1 处的绿色。
我的数据没有涵盖这个完整的范围,似乎scale_fill_gradientn 将values 参数与数据相关,而不是它们的实际值。
下图显示白色高于 0.5 而不是 0.5。如何更正此问题并将梯度限制设置为我写入的特定值,而不是相对于数据?
library(tidyverse)
set.seed(1)
expand_grid(x=1:10, y=1:10) %>%
mutate(val = rnorm(100, mean = 0.55, sd = 0.05)) %>%
ggplot(aes(x, y)) +
geom_tile(aes(fill = val)) +
geom_text(aes(label = round(val, 3))) +
scale_fill_gradientn(colours = c("red","white","green"),
values = scales::rescale(c(0.0, 0.5, 1.0)))
【问题讨论】:
标签: r ggplot2 gradient heatmap