Ich verwende plotrix
in R
einen Zustand Ebene Karte der USA zu zeichnen. Es hat eine ausgezeichnete Funktion floating.pie
, um Kreisdiagramme für jeden Zustand zu erstellen.
Ich frage mich, ob es in dem plotrix
Paket ähnliche Funktionen zum Anzeigen von Balkendiagrammen in jedem Status gibt. (Ich habe mir die Dokumentation und die Funktionen angeschaut, die sich mit Balkendiagrammen befassen, aber ich wollte nur sicher sein.) Ich arbeite lieber innerhalb des plotrix-Pakets, aber ich kann es gerne benennen andere Pakete.
Als Beispiel wäre ich daran interessiert, eine ähnliche Karte zu erstellen (aber für die USA):
Für meine US-Karte gäbe es 50 Balkendiagramme, eines für jeden Staat.
Ich habe diese Karte von /programming/20465070/barplots-on-a-map erhalten , aber es scheint, dass ggsubplot auf meiner Version von R nicht funktioniert (ähnlich wie in anderen Beiträgen ).
quelle
ggsubplot
Paket macht, aber es ist jetzt veraltet und es wird nicht mehr funktionieren (wie du erwähnt hast). Vielleicht kann dieser Beitrag ein Ausgangspunkt sein: stackoverflow.com/questions/36063043/…Antworten:
Ich weiß, dass ich wirklich spät dran bin, aber ich denke, ich habe eine ziemlich einfache Lösung gefunden.
Wenn Sie sich den Quellcode von ansehen
floating.pie()
(z. B. durch Aufrufen vongetAnywhere(floating.pie)
), werden Sie feststellen, dass es einen sehr einfachen und dennoch effektiven Ansatz gibt: Zeichnen der Tortensegmente als Polygone. Wenn Ihre Balkendiagramme nur Balken enthalten sollen (keine Beschriftungen, Achsen usw.), können Sie denselben Ansatz verwenden und Ihre eigene Funktion schreiben. Hier ist eine schnelle und schmutzige Version:x
ist für die Werte, die durch die Balken dargestellt werdenxllc
undyllc
geben Sie die Position der linken unteren Ecke des linken Balkens in dem von Ihnen verwendeten Koordinatensystem anbarwidth
undmaxheight
werden zum Skalieren der Balkengröße verwendetHier ist eine Demo mit einem grundsätzlichen
sp
Plot. Ich glaube nicht, dass ich vorher mit gearbeitet habeplotrix
, aber basierend auf der Funktionsweisefloating.pie
würde ich davon ausgehen, dass dies auch mit funktionieren sollteplotrix
.Das Ergebnis sieht so aus:
quelle
ggplot2 und ggvis sind zwei Bibliotheken, mit denen Sie die Diagramme auf der Karte anzeigen können. In ggplot2 können Sie Blasen auf der Karte zeichnen und dann müssen Sie nur aes () die Koordinaten geben, die nichts mit der Größe und Farbe der Blasen zu tun haben. In Bezug auf ein Balkendiagramm müssen Sie mindestens 2 Paare von x und y zuweisen, eines für die Position des Balkendiagramms und das andere für die Höhe und Breite des Balkendiagramms. Mit anderen Worten, Sie müssen die Koordinaten von 4 Ecken für einen Balken kennen.
quelle