Beschriftungszentrum von Kartenpolygonen in R gplot

8

Ich versuche, meine Polygone mit ggplot in R zu beschriften. Ich habe hier auf stackoverflow ein Thema gefunden, das meiner Meinung nach sehr nahe an dem ist, was ich möchte, außer mit Punkten.

Beschriften von Punkten in geom_point

Ich habe einige Methoden online gefunden. Jetzt muss ich zuerst die zentrale Position jeder Form finden und dann muss ich diese Stellen zusammen mit dem Namen zusammensetzen. Verknüpfen Sie dies mit der Beschriftungsfunktion in geom_text ()

ggplot zentrierte Namen auf einer Karte

Seit ich es lange versucht habe, habe ich beschlossen, die Frage zu stellen und hoffe, dass jemand hier mir den letzten Schub geben kann, was ich will. Meine Zeichenfunktion:

%Vor%

Es gibt mir den Fehler: ggplot2 kann nicht mit Daten der Klasse uneval

umgehen

Meine Daten

%Vor%     
Zuenie 26.02.2014, 10:32
quelle

2 Antworten

12

Versuchen Sie so etwas?

  1. Erhalte einen Datenrahmen der Schwerpunkte deiner Polygone von der ursprüngliches Kartenobjekt.

  2. Stellen Sie sicher, dass im Datenrahmen, für den Sie zeichnen, Spalten vorhanden sind die ID, die Sie beschriften möchten, sowie deren Längen- und Breitengrad Zentroide.

  3. Verwenden Sie geom_text in ggplot, um die Beschriftungen hinzuzufügen.

Basierend auf diesem Beispiel lese ich eine Weltkarte und entpacke die ISO3-IDs, die verwendet werden sollen meine Polygonetiketten, und machen Sie einen Datenrahmen von Ländern ID, Bevölkerung und Länge und Breite von Schwerpunkten. Ich zeichne dann die Populationsdaten auf einer Weltkarte auf und füge Markierungen an den Schwerpunkten hinzu.

%Vor%

Geringfügige technische Anmerkung: Tatsächlich coordinates im Paket sp nicht ziemlich genau den Schwerpunkt, aber normalerweise sollte es einen sinnvollen Ort für ein Label geben . Verwenden Sie gCentroid im Paket rgeos , wenn Sie in komplexeren Situationen den wahren Schwerpunkt angeben möchten wie nicht zusammenhängende Formen .

    
Silverfish 26.02.2014, 13:13
quelle
2

Die hier angenommene Antwort funktioniert vielleicht, aber die eigentliche Frage stellt ausdrücklich fest, dass ein Fehler vorliegt. "ggplot2 kann nicht mit Daten der Klasse uneval umgehen."

Der Grund dafür, dass Sie den Fehler erhalten, ist, dass die Aufnahme von centroids.df eine benannte Variable sein muss (z. B. von "data=" begleitet)

Derzeit:

%Vor%

Sollte sein (Anmerkung: "data = centroids.df"):

%Vor%

Dieses Problem wurde hier angesprochen: Wie zu handeln mit "Daten der Klasse uneval" Fehler von ggplot2?

    
Jarrod Olson 10.03.2015 15:48
quelle

Tags und Links