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
umgehenMeine Daten
%Vor%Versuchen Sie so etwas?
Erhalte einen Datenrahmen der Schwerpunkte deiner Polygone von der ursprüngliches Kartenobjekt.
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.
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 .
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?