2015-03-19 12 views
9

Ich verwende ggplot, um Datenwerte einem (verstärkten) SpatialPolygonsDataFrame zuzuordnen, aber viele der Polygone haben NA-Werte, da keine Daten verfügbar sind.NA-Wert zur ggplot-Legende für kontinuierliche Datenzuordnung hinzufügen

Ich habe na.value = "white" verwendet, um die fehlenden Daten korrekt anzuzeigen, aber ich möchte ein Feld mit einer weißen Füllung in der Legende (oder einer separaten Legende) mit der Bezeichnung "no data" hinzufügen.

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

(Ich habe ein großes Bild, dies zu veranschaulichen, aber nicht genug Rufpunkte muß post it)

ich this gelesen habe, aber meine Daten kontinuierlich (nicht diskret) und this , aber ich kann nicht herausfinden, wie man die "Linien" -Änderung auf "Füllen" umstellt.

Danke für die Hilfe !!

+2

Gefunden https://github.com/hadley/ggplot2/issues/410 scheint wie wir mit Problemlösungen stecken bleiben ... – animalito

+0

Es ist wahrscheinlicher, dass wir Ihnen helfen können, wenn Sie Machen Sie ein minimales reproduzierbares Beispiel, um Ihrer Frage zu folgen. Etwas, von dem wir arbeiten können und zeigen, wie es möglich ist, Ihr Problem zu lösen. Sie können sich [diese SO-Post] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) ansehen, um ein gutes reproduzierbares Beispiel in R zu erstellen –

Antwort

1

können Sie Ihre NAs mit 0 mit

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

auf diese Weise Ihre nas durch Null und yout Legende ersetzt werden ersetzen wird „0“ zeigen

Und uns das Bild zeigen Sie eine haben kann Blog und kann den Link hier einfügen

+0

Dies behandelt nicht die Situation, die das OP beschreibt, in der "keine Daten" nicht dasselbe ist wie "Daten wurden für diesen Bereich auf der Karte gesammelt, aber es gab 0 Fälle" - sollte es keine Feature-Anfrage sein Wenn ggplot2 eine Option zum Anzeigen von NAs haben soll, wählen Sie, wie Sie diese beschriften, sie färben und in die Legende einfügen möchten. –