Zeichne eine Legende und eine gut beabstandete universelle y-Achse und Haupttitel in grid.arrange

8

Ich habe den folgenden Code, der zwei PDF-Dateien erzeugt, die Diagramme zum aktuellen Arbeitsverzeichnis enthalten:

%Vor%

Die Diagramme sehen so aus:

Ich habe folgende Fragen:

  1. Wie kann ich die y-Achsenbeschriftung so platzieren, dass sie nicht so nah an der Kante ist?
  2. Wie kann ich das gleiche für den Haupttitel tun
  3. Warum erscheint die Legende nicht? (Dieser Teil des Codes wurde aus dem Grid entfernt. Arrange-Dokumentation). Und wenn ja, wie platziere ich das richtig? Jemand anderes da draußen grid.arrange?
  4. Wenn nicht, gibt es eine andere Möglichkeit, layout () - wie Positionierung in ggplot?
  5. anzuwenden

Vielen Dank, alle!

    
Atticus29 18.06.2012, 03:19
quelle

1 Antwort

23

Soweit ich das beurteilen kann, hat Ihr p1 keine Legende - daher gibt es keine zu extrahierende Legende und somit keine Legende, die im Aufruf von grid.arrange gezeichnet werden kann.

Hier ist ein einfacheres Beispiel. Es sollte dich beginnen.

BEARBEITEN: Code-Update für ggplot2 Version 0.9.3.1

%Vor%

Beachten Sie, wie widths die Breite der Legende verwendet. Das Ergebnis ist:

Der Haupttitel und der Titel der globalen Y-Achse wurden mit vjust positioniert. Wenn Sie möchten, dass der Titel der globalen Y-Achse mehr Platz beansprucht, erstellen Sie ihn als textGrob und verwenden Sie widths , um seine Breite festzulegen. Hier arrangiert der innere arrangeGrob die vier Plots und den Haupttitel. Der äußere grid.arrange ordnet und zeichnet den globalen Y-Achsentitel, das arrangeGrob-Objekt und die Legende. Die Breite des Titels der globalen Y-Achse ist auf drei Zeilen festgelegt.

%Vor%

BEARBEITEN

Unter Verwendung Ihrer Daten und Ihres Codes für das Subsetting und die Umformung der Daten habe ich die ersten vier Diagramme gezeichnet, die Legende aus dem ersten Diagramm extrahiert und dann die Diagramme, die Legende und das Etikett angeordnet. Der Code lief ohne Probleme.

Es gab einige Probleme mit den Plots (und außerdem konnte Ihr Code die in Ihrem Beitrag gezeigten Plots nicht erstellt haben). Ich habe ein paar kleine Änderungen vorgenommen.

%Vor%

    
Sandy Muspratt 19.06.2012, 00:58
quelle

Tags und Links