R 在比例填充梯度中使用绝对值而不是相对值n
我想要一个平滑的渐变,从0的红色到0.5的白色再到1的绿色 我的数据没有涵盖这个完整的范围,而且似乎R 在比例填充梯度中使用绝对值而不是相对值n,r,ggplot2,gradient,heatmap,R,Ggplot2,Gradient,Heatmap,我想要一个平滑的渐变,从0的红色到0.5的白色再到1的绿色 我的数据没有涵盖这个完整的范围,而且似乎scale\u fill\u gradientn将值参数设置为相对于数据,而不是它们的实际值 下图显示白色高于0.5,而不是0.5。我如何纠正这一点,并将渐变限制设置为我编写的特定值,而不是相对于数据 library(tidyverse) set.seed(1) expand_grid(x=1:10, y=1:10) %>% mutate(val = rnorm(100, mean =
scale\u fill\u gradientn
将值
参数设置为相对于数据,而不是它们的实际值
下图显示白色高于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)))
您只需设置
scale\u fill\u gradientn的限制
参数
:
库(tidyverse)
种子(1)
展开网格(x=1:10,y=1:10)%>%
突变(val=rnorm(100,平均值=0.55,标准差=0.05))%>%
ggplot(aes(x,y))+
geom_瓷砖(aes(填充=val))+
几何图形文本(aes(标签=圆形(val,3)))+
比例填充梯度n(颜色=c(“红色”、“白色”、“绿色”),
极限=c(0.0,1.0))
由(v0.3.0)创建于2020-02-18这适用于我的特定示例,中点为0.5。一般情况如何?说我要0.45的白色?或者扩展到三种以上的颜色?@conor这是当你添加
重缩放时-你使用的是比例限制,而不是它。限制只说明了您想要设置的最小值和最大值。“重缩放”以从最小到最大的比例设置要发生更改的位置。