如何修改ggplot2中scale_fill_manual未定义值的默认填充颜色?
解决方法
当然可以把未定义类别的默认深灰色改成浅灰色,用scale_fill_manual()的na.value参数就能实现,修改后的代码如下:
# Load ggplot2 library(ggplot2) # Create data data <- data.frame( name=c("A","B","C","D","E") , value=c(3,12,5,18,45) ) # Barplot ggplot(data, aes(x=name, y=value, fill=name)) + geom_bar(stat = "identity") + scale_fill_manual( values = c("A"="red", "B"="green", "C"="blue"), na.value = "#e0e0e0" # 指定未定义类别的浅灰色 )
补充说明
na.value参数专门用来为values里没指定的类别设置颜色,这里用的#e0e0e0是常用的浅灰色十六进制代码,你也可以直接用"lightgray"这类预定义颜色名。- 修改后,D、E会显示为浅灰色,且不会出现在图例中,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Stataq
相关产品推荐
相关产品推荐

