2015-03-19 7 views
9

Sto utilizzando ggplot per mappare i valori dei dati su SpatialPolygonsDataFrame (fortificato), ma molti dei poligoni hanno valori NA perché non ci sono dati disponibili.Aggiungere un valore NA alla legenda ggplot per la mappa dati continua

Ho usato na.value = "bianco" per visualizzare correttamente i dati mancanti, ma vorrei aggiungere una casella con un riempimento bianco nella legenda (o una legenda separata) con l'etichetta "nessun dato".

library(ggplot2) 

india.df <- read.csv('india.df.csv') 
# (I don't know how to provide this file to make the code reproducible) 

ggplot() + 
geom_polygon(data=india.df, aes(x = long, y = lat, group = group, fill=Area_pct)) + 
scale_fill_gradient(low="orange2", high="darkblue", na.value = "white") + 
geom_path(data=india.df, aes_string(x = x, y = y, group = group), color = "gray", size = 0.25) + 
theme_bw() + 
coord_map() + 
labs(title = "Rice Under Irrigation in Gujarat - 2001", 
    fill = "Area (%)") 

(ho una grande immagine per illustrare questo, ma non ho abbastanza punti reputazione di pubblicarlo)

ho letto this, ma il mio dati è continua (non discreta), e this , ma non riesco a capire come adattare la modifica della 'linea' a 'riempire'.

Grazie per l'aiuto !!

+2

Trovato https://github.com/hadley/ggplot2/issues/410 sembra che siamo bloccati con soluzioni alternative ... – animalito

+0

È più probabile che saremo in grado di aiutarti se fare un esempio riproducibile minimo per andare avanti con la tua domanda. Qualcosa da cui possiamo lavorare e utilizzarlo per mostrarti come potrebbe essere possibile risolvere il tuo problema. Puoi dare un'occhiata a [questo post SO] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) su come realizzare un ottimo esempio riproducibile in R –

risposta

1

è possibile sostituire il NAS con 0 usando

data[is.na(data)] <- 0 

che modo i vostri NAS saranno sostituiti da zero e leggenda yout mostrerà "0s"

E per mostrarci l'immagine che si può avere un blog e puoi incollare il link qui

+0

Questo non si riferisce alla situazione descritta dall'OP, in cui "nessun dato" non è uguale a "i dati sono stati raccolti per questa area sulla mappa ma c'erano 0 casi" - se non si tratta di una richiesta di funzionalità per ggplot2 avere un'opzione per mostrare NA, scegliere come etichettarli, colorarli e includerli nella legenda? –