Ist es möglich, nur die Untergrenze eines Grenzwerts für die kontinuierliche Skalierung festzulegen? Ich möchte alle meine Diagramme auf 0 setzen, ohne die Obergrenze angeben zu müssen.
z.B
+ scale_y_continuous(minlim=0)
Sie können verwenden expand_limits
ggplot(mtcars, aes(wt, mpg)) + geom_point() + expand_limits(y=0)
Hier ist ein Vergleich der beiden:
expand_limits
expand_limits
Ab Version 1.0.0 von ggplot2
können Sie nur ein Limit angeben und das andere so festlegen, wie es normalerweise durch Festlegen dieses zweiten Limits festgelegt wird NA
. Dieser Ansatz ermöglicht sowohl das Erweitern als auch das Abschneiden des Achsenbereichs.
ggplot(mtcars, aes(wt, mpg)) + geom_point() +
scale_y_continuous(limits = c(0, NA))
Wenn Sie es über ylim(c(0, NA))
angeben, erhalten Sie eine identische Zahl.
Wie wäre es mit
aes(ymin=0)
, wie in:ggplot(mtcars, aes(wt, mpg)) + geom_point() + aes(ymin=0)
quelle
geom_density
es für mich gibtError: stat_bin() must not be used with a y aesthetic
oder wenn es innerhalb des platziertgeom_density
wirdWarning: Ignoring unknown aesthetics: ymin
(letzteres wird voll erwartet)Sie können auch den folgenden Code ausprobieren, der Ihnen die minimale y-Achse bei Null und auch ohne die zusätzliche Lücke zwischen der x-Achse und dem minimalen y-Wert gibt.
scale_y_continuous(limits = c(0, NA), expand = c(0,0))
quelle
coord_cartesian()
stattdessen zu tun ?Ich glaube nicht, dass Sie das direkt tun können. Als Workaround können Sie jedoch die Art und Weise nachahmen, wie ggplot2 die Obergrenze bestimmt:
scale_y_continuous(limits=c(0, max(mydata$y) * 1.1))
quelle