如何在ggplot等值区域图中将NA颜色从灰色更改为白色?

use*_*821 27 maps r ggplot2 choropleth

我正在尝试创建一个美国的等值区域地图,其默认颜色从灰色变为白色.

我有48个状态中的18个的记录,并且代码用于按值着色,但对于那些我没有记录的状态,状态是灰色的.我希望他们是白人.

如何更改颜色?

library(maps)
library(plyr)
library(ggplot2)
records1<-read.csv('E:/My Documents/records_by_state.csv')
records<-data.frame(state=tolower(rownames(records1)), records1)
head(records)
all_states<-map_data("state")
head(all_states)
record_map<-merge(all_states, records, by.x="region", by.y="state.name")
record_map<-arrange(record_map, group, order)
head(record_map)

p<- ggplot()

p<- p + geom_polygon(data=record_map, aes(x=long, y=lat, group=group,    fill=record_map$Records), colour="black"
         )+ scale_fill_continuous(low="thistle2", high="darkred", guide="colorbar")
P1 <- p + theme_bw() +labs(fill= "Records by State"
                    , title= "By State", x="", y="")
P1 + scale_y_continuous(breaks=c()) + scale_x_continuous(breaks=c()) +  theme(panel.border= element_blank())
Run Code Online (Sandbox Code Playgroud)

Did*_*rts 50

你可以通过改变参数改变NA值(无数据状态)的颜色na.valuescale_fill_continuos().

+scale_fill_continuous(low="thistle2", high="darkred", 
                       guide="colorbar",na.value="white")
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考:na.value ="透明"将完全删除它们 (11认同)
  • @BrianD 你刚刚救了我的命! (2认同)