Как изменить цвет NA с серого на белый на карте картограммы ggplot?

Я пытаюсь создать хороплетную карту США, у которой цвет по умолчанию изменен с серого на белый.

У меня есть записи для 18 из 48 состояний, и код работает для раскрашивания по значению, но для тех состояний, где у меня нет записей, состояния отображаются серым цветом. Я бы хотел, чтобы они были белыми.

Как поменять цвет?

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())

person user2320821    schedule 25.04.2013    source источник


Ответы (1)


Вы можете изменить цвет значений NA (состояний без данных), изменив аргумент na.value в scale_fill_continuos().

+scale_fill_continuous(low="thistle2", high="darkred", 
                       guide="colorbar",na.value="white")
person Didzis Elferts    schedule 25.04.2013
comment
К вашему сведению: na.value = transparent удалит их полностью - person Brian D; 11.04.2017
comment
Мне было интересно, есть ли способ установить прозрачность, если вы используете только один цвет ... - person patL; 08.12.2018
comment
@BrianD, ты только что спас мне жизнь! - person FMM; 01.12.2019
comment
Могу я также изменить имя в легенде? labels(c("NA"="none") не действует - person TobiO; 08.07.2021