Ich habe 3 SHP-Dateien, die das Haus, das Zimmer und die Betten eines Hauses repräsentieren. Ich muss sie in einem Diagramm mit R so plotten, dass sie sich alle überlappen. Ich weiß, dass ich in plot
function line
verwenden kann, um neue Zeilen über dem vorhandenen Plot zu zeichnen. Gibt es in spplot
etwas Entsprechendes? Danke.
Sie können das Argument sp.layout
in spplot
verwenden. Alternativ können Sie ggplot2 verwenden. Ein Beispielcode (ungetestet):
In ggplot2
sind Spalten in den Daten mit grafischen Skalen im Diagramm verknüpft. In diesem Fall ist x
die x-Koordinate, y
ist die y-Koordinate, group
ist eine Spalte im data.frame shp, die angibt, zu welchem Polygon ein Punkt gehört, und col
ist die Farbe von das Polygon. Die verwendete Geometrie ist geom_path
, die eine Reihe von Linien basierend auf dem Polygon-Eingabedatenfeld zeichnet. Eine Alternative ist geom_poly
, die auch das Füllen des Polygons unterstützt.
Hier ist ein Ansatz, der die nette Funktion layer()
aus dem Paket gitterExtra verwendet:
Alternativ können Sie dasselbe Ergebnis über spplot()
's sp.layout=
Argument erreichen. (Die Angabe von first=FALSE
stellt sicher, dass das "Dach" und die "Tür" nach / über dem grauen Quadrat gezeichnet werden, das als erstes Argument von spplot()
angegeben wird.)