Wie kann ich den Ursprung / das Abfangen der y-Achse und der x-Achse in ggplot2 einstellen?
Die Linie der x-Achse sollte genau bei sein y=Z
.
Mit Z=0
oder einem anderen gegebenen Wert.
Wie kann ich den Ursprung / das Abfangen der y-Achse und der x-Achse in ggplot2 einstellen?
Die Linie der x-Achse sollte genau bei sein y=Z
.
Mit Z=0
oder einem anderen gegebenen Wert.
Antworten:
xlim
und ylim
schneide es hier nicht. Sie verwenden müssen expand_limits
, scale_x_continuous
und scale_y_continuous
. Versuchen:
df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for
p + scale_x_continuous(expand = c(0, 0)) + scale_y_continuous(expand = c(0, 0))
Möglicherweise müssen Sie die Einstellungen ein wenig anpassen, um sicherzustellen, dass Punkte nicht abgeschnitten werden (siehe z. B. den Punkt bei x = 5
und y = 5
.
expand=expand_scale(mult=c(0,0.1))
so dass Sie immer noch die Polsterung an den oberen Enden erhalten: stackoverflow.com/a/59056123/8400969
Fügen Sie diese einfach Ihrem ggplot hinzu:
+ scale_x_continuous(expand = c(0, 0), limits = c(0, NA)) +
scale_y_continuous(expand = c(0, 0), limits = c(0, NA))
df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for
p + scale_x_continuous(expand = c(0, 0), limits = c(0,NA)) +
scale_y_continuous(expand = c(0, 0), limits = c(0, NA))
Schließlich nehmen große Sorgfalt nicht versehentlich Daten aus Ihrem Diagramm auszuschließen. Beispielsweise kann ein position = 'dodge'
Balken / Histogramm vollständig aus dem Diagramm entfernt werden, wenn sein Wert Null ist und Sie die Achse bei Null beginnen, sodass Sie ihn möglicherweise nicht sehen und wissen, dass er vorhanden ist. Ich empfehle, die Daten zuerst vollständig zu zeichnen, zu überprüfen und dann den obigen Tipp zu verwenden, um die Ästhetik des Diagramms zu verbessern.
scale_x_continuous(expand = c(0, 0), limits = c(0,5))