簡體   English   中英

需要使用僅 NA 數據創建 ggplot 熱圖,但收到“錯誤:必須從色調調色板中請求至少一種顏色。”

[英]Need to create ggplot heatmap with NA-only data, but get "Error: Must request at least one colour from a hue palette."

我需要創建一行熱圖,偶爾會從僅 NA 列派生,但無論如何都必須顯示。 在下面的示例中,從 p2 列生成熱圖將呈現“錯誤:必須從色調調色板中請求至少一種顏色。”。 有什么方法可以強制 ggplot 顯示“空”熱圖?

library(ggplot2)
id <- letters[1:5]
p1 <- factor(c(1,NA,2,NA,3))
p2 <- factor(c(NA,NA,NA,NA,NA))
dat <- data.frame(id=id, p1=p1, p2=p2)

ggplot(dat, aes(x=id,y="identity")) + geom_tile(aes(fill = p1), colour = "white") #works fine

ggplot(dat, aes(x=id,y="identity")) + geom_tile(aes(fill = p2), colour = "white") #renders error

我認為,如果您明確告訴ggplot如何使用scale_fill_manual調用中的na.value處理NA值。 這應該可以解決您的問題,或者至少讓您朝着正確的方向前進:

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

您可以更改values參數以更好地處理您喜歡的顏色

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM