Ich versuche, die Größe eines Diagramms so zu ändern, dass es in mein Dokument passt, aber ich habe Schwierigkeiten, das geplottete Diagramm als Quadrat darzustellen.
Beispiel:
pdf(file = "./out.pdf", width = 5, height = 5)
p <- ggplot(mydata, aes(x = col1, y = col2))
print(p)
aux <- dev.off()
Obwohl die Grenzen für x und y gleich sind, ist die Darstellung im Ergebnis nicht quadratisch. Ich denke, dass R das beiliegende Panel 5x5 "macht, sich aber nicht um die tatsächliche Diagrammgröße kümmert.
Wie kann ich meine Diagramme entfernen ?
hjust
Position des Titels zu ändern - versuchen Sie esopts(axis.title.y=theme_text(hjust=10))
. Aber leider scheint es nicht. Unter groups.google.com/group/ggplot2/browse_thread/thread/… finden Sie eine Diskussion über die ggplot-Mailingliste und die Antwort von @ Baptiste.y=runif(100, 0, 50)
ist der Aspekt des Diagramms nicht mehr quadratisch.coord_fixed()
bewirkt, dass der Maßstab jeder Achse gleich ist, nur wie es scheint?Verwenden Sie, um ein bestimmtes Seitenverhältnis sicherzustellen, z. B. für ein Quadrat
theme(aspect.ratio=1)
.Andries Antwort gibt nicht das vollständige Bild wieder, da das Beispiel möglicherweise unnatürliche Daten liefert, bei denen der Bereich von x dem Bereich von y entspricht. Wenn jedoch die Daten wären:
dann würde die Handlung so aussehen:
Die Funktion coord_fixed () hat auch ein Argument zum Anpassen des Achsenverhältnisses:
Damit die Handlung quadratisch gemacht werden kann mit:
Sie müssen dies jedoch an die Grenzen der Variablen oder des Plotbereichs anpassen (nicht alle Grenzen sind wie in diesen Beispielen durch ganze Zahlen teilbar).
quelle
Der Vollständigkeit halber: Wenn Sie sehr unterschiedliche Achsengrenzen berücksichtigen möchten:
Ergebend:
quelle
plot + theme(aspect.ratio=4/3)
? Das ggplot kann mehrere Schichten mit mehreren Datensätzen haben, und die Achsen können beliebige Expansionsfaktoren haben, so dass die Berechnung des Verhältnisses von y / x aus einer Datenquelle ziemlich fragil erscheint.