R 需要使用NA数据创建ggplot热图,但获取;错误:必须从色调调色板中请求至少一种颜色。”;

R 需要使用NA数据创建ggplot热图,但获取;错误:必须从色调调色板中请求至少一种颜色。”;,r,ggplot2,heatmap,R,Ggplot2,Heatmap,我需要创建一行热图,偶尔会从NA only列派生,但无论如何都必须显示。在下面的示例中,从p2列生成热图将呈现“错误:必须从色调调色板请求至少一种颜色”。有没有办法强制ggplot显示“空”热图 库(ggplot2) id我认为如果您在刻度填充手册调用中明确告诉ggplot如何使用NA.value处理NA.value值。这应该解决您的问题,或者至少引导您朝着正确的方向前进: ggplot(dat, aes(x=id,y="identity")) + geom_tile(aes(fill =

我需要创建一行热图,偶尔会从NA only列派生,但无论如何都必须显示。在下面的示例中,从p2列生成热图将呈现“错误:必须从色调调色板请求至少一种颜色”。有没有办法强制ggplot显示“空”热图

库(ggplot2)

id我认为如果您在
刻度填充手册
调用中明确告诉
ggplot
如何使用
NA.value
处理
NA.value
值。这应该解决您的问题,或者至少引导您朝着正确的方向前进:

ggplot(dat, aes(x=id,y="identity")) + 
  geom_tile(aes(fill = p2), colour = "white") + 
  scale_fill_manual(values = "white", 
                    na.value = "black") 

您可以更改
values
参数,以更好地处理您喜欢的颜色

如果将
scale\u fill\u manual(values=“white”)
添加到不起作用的颜色,会怎么样?不确定在这种情况下它到底是什么样子。@MrFlick这确实解决了问题:ggplot(dat,aes(x=id,y=“identity”)+geom_tile(aes(fill=p2))+scale_fill_手册(values=“red”),谢谢您的帮助!如果问题得到了满意的回答,请考虑通过旁边的复选标记来接受答案,这样就不会再标记为“未回答”了。谢谢,你说得对,戴夫。鳞甲填充摩尔完成了这项任务。谢谢你的帮助!
ggplot(dat, aes(x=id,y="identity")) + 
  geom_tile(aes(fill = p2), colour = "white") + 
  scale_fill_manual(values = "white", 
                    na.value = "black")