![](/img/trans.png)
[英]Error in ggplot2 density plot: "Error: Must request at least one colour from a hue palette."
[英]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.