首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R ggplot热图手动装箱和选择中间箱颜色

R ggplot热图手动装箱和选择中间箱颜色
EN

Stack Overflow用户
提问于 2019-10-09 15:17:43
回答 1查看 564关注 0票数 2

我正在尝试生成具有不同颜色(红色、白色、蓝色)的热图,但白色位于选定的值(或改变比例),而不是数据的自动拟合/居中。

样本数据集:

代码语言:javascript
复制
set.seed(5)
demo <- data.frame(x = seq(from = -40, to = 40, by = 5), y = 0:5, data = runif(102, min = 0, max = 1))

我生成热图的尝试基于以下几点:

代码语言:javascript
复制
library(ggplot2)
library(ggsci)
ggplot(demo) + geom_tile(aes(x = x, y = y, fill = data), color = NA) + scale_fill_gsea()

但是,我想将中间的“白色”部分移动到一个不同的值,例如0.9,并且我想设置我自己的分立箱。

通过阅读更多的文章和stackoverflow帖子,我的理解是,在使用scale_fill_manual之前,我将不得不使用cut来生成我自己的部分,以便设置我自己的颜色比例。

有没有更简单的方法来解决我错过的这个问题?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-10 14:14:20

使用scale_fill_gradient2,您可以为中点定义自定义值:

代码语言:javascript
复制
ggplot(demo) + 
  geom_tile(aes(x = x, y = y, fill = data), color = NA) + 
  scale_fill_gradient2(low = "blue", mid = "white", high = "red", 
                       midpoint = 0.9, 
                       breaks = seq(0, 1, 0.1), 
                       limits = c(0, 1))

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58298917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档