¿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_densityque me daError: stat_bin() must not be used with a y aesthetico 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