Ich habe einen kreisförmigen Raum, in dem die Winkel 0 und 360 äquivalent sind. Ich möchte Rechtecke in diesem Raum so zeichnen, dass Rechtecke diesen Wert überschreiten können. Allerdings habe ich Probleme mit ggplot2.
%Vor%1. Versuchen Sie, mit Werten über xlim zu plotten:
%Vor%Alle Werte außerhalb von xlim werden entfernt, damit dies nicht funktioniert.
2. Versuch, mit skalierten Werten zu plotten
%Vor%Dies erzeugt zumindest eine Grafik, aber das Gegenteil von dem, was ich will. Statt von 340 auf 380 CCW zu gehen, zeichnet dies 340 bis 20 CW.
3. Versuch, zwei verbindenden Elemente zu erstellen
%Vor%Dies zeigt das Rechteck, wo ich es haben möchte, aber das ist nicht als Lösung wegen der Strichlinien im Winkel 0/360 befriedigend und weil ich nun jedes Rechteck als zwei Rechtecke darstellen muss.
4. Versuchen Sie 1, Zoomen statt Clipping zu verwenden
%Vor%Dies scheint das Zoomen und die Grenzen zu verlieren.
5. Versuch 2, Zoomen anstelle von Clipping zu verwenden
%Vor%Dies führt das Zoomen korrekt durch, überschreibt jedoch das Polarkoordinatensystem.
Wenn jemand eine Lösung oder Ideen für dieses Problem zur Verfügung stellen kann, würde ich es sehr schätzen. Auch hier suche ich nach etwas, das wie # 3 aussieht, aber ohne den inneren Strich und ohne zwei Rechtecke verwenden zu müssen.
Bearbeiten: Diese Frage ist verwandt und auch unbeantwortet.
Ist es entscheidend, dass das zugrunde liegende Koordinatensystem polar ist? geom_arc_bar()
aus dem ggforce
-Paket verhält sich wie erwartet, Sie können damit Bögen in beliebigen Winkeln zeichnen. Aber Sie haben ein kartesisches Koordinatensystem darunter, daher müssen Sie möglicherweise die Koordinatenlinien selbst zeichnen, wenn Sie sie benötigen.
Dies löst nicht das andere Problem, mit dem Sie verlinkt haben, aber im Allgemeinen werden Sie wahrscheinlich feststellen, dass die Konvertierung von Koordinaten von polar nach euklidisch Ihnen viel mehr Flexibilität gibt, um die Darstellung so zu gestalten, wie Sie es wollen.
>Tags und Links r ggplot2 polar-coordinates