¿Es posible establecer solo el límite inferior de un límite para escala continua? Quiero hacer que todas mis gráficas se basen en 0 sin necesidad de especificar el límite superior.
p.ej
+ scale_y_continuous(minlim=0)
Puedes usar expand_limits
ggplot(mtcars, aes(wt, mpg)) + geom_point() + expand_limits(y=0)
Aquí hay una comparación de los dos:
expand_limits
expand_limits
A partir de la versión 1.0.0 de ggplot2
, puede especificar solo un límite y hacer que el otro sea como se determinaría normalmente estableciendo ese segundo límite en NA
. Este enfoque permitirá tanto la expansión como el truncamiento del rango del eje.
ggplot(mtcars, aes(wt, mpg)) + geom_point() +
scale_y_continuous(limits = c(0, NA))
especificarlo a través de ylim(c(0, NA))
da una cifra idéntica.
¿Qué tal usar
aes(ymin=0)
, como en:ggplot(mtcars, aes(wt, mpg)) + geom_point() + aes(ymin=0)
fuente
geom_density
que me daError: stat_bin() must not be used with a y aesthetic
o cuando se coloca dentro degeom_density
,Warning: Ignoring unknown aesthetics: ymin
(este último es completamente esperado)También puede probar el siguiente código que le dará el eje y mínimo en cero y también sin el espacio adicional entre el eje x y el valor y mínimo.
scale_y_continuous(limits = c(0, NA), expand = c(0,0))
fuente
coord_cartesian()
?No creo que puedas hacer esto directamente. Pero como solución alternativa, puede imitar la forma en que ggplot2 determina el límite superior:
scale_y_continuous(limits=c(0, max(mydata$y) * 1.1))
fuente