Czy można ustawić tylko dolną granicę limitu dla skali ciągłej? Chcę, aby wszystkie moje wykresy były oparte na 0, bez konieczności określania górnej granicy.
na przykład
+ scale_y_continuous(minlim=0)
Odpowiedzi:
Możesz użyć expand_limits
ggplot(mtcars, aes(wt, mpg)) + geom_point() + expand_limits(y=0)
Oto porównanie tych dwóch:
expand_limits
expand_limits
Od wersji 1.0.0 programu ggplot2
możesz określić tylko jeden limit, a drugi będzie taki, jak zostałby normalnie określony, ustawiając drugi limit na NA
. Takie podejście pozwoli zarówno na rozszerzenie, jak i skrócenie zakresu osi.
ggplot(mtcars, aes(wt, mpg)) + geom_point() +
scale_y_continuous(limits = c(0, NA))
podanie go za pomocą ylim(c(0, NA))
daje identyczną liczbę.
Co powiesz na używanie aes(ymin=0)
, jak w:
ggplot(mtcars, aes(wt, mpg)) + geom_point() + aes(ymin=0)
geom_density
daje mi Error: stat_bin() must not be used with a y aesthetic
lub po umieszczeniu wewnątrz geom_density
, Warning: Ignoring unknown aesthetics: ymin
(ten ostatni jest w pełni expected)
Możesz również wypróbować następujący kod, który da ci minimalną oś Y na zero, a także bez dodatkowej przerwy między osią x a minimalną wartością y.
scale_y_continuous(limits = c(0, NA), expand = c(0,0))
coord_cartesian()
zamiast tego?