Trazo lo siguiente:
library(ggplot2)
carrots <- data.frame(length = rnorm(500000, 10000, 10000))
cukes <- data.frame(length = rnorm(50000, 10000, 20000))
carrots$veg <- 'carrot'
cukes$veg <- 'cuke'
vegLengths <- rbind(carrots, cukes)
ggplot(vegLengths, aes(length, fill = veg)) +
geom_density(alpha = 0.2)
Ahora digamos que solo quiero trazar la región entre x=-5000a 5000, en lugar del rango completo.
¿Cómo puedo hacer eso?


library(scales); ... + scale_x_continuous(limits = c(-5000, 5000), oob=squish)(el valor predeterminado esoob=censor); ver?squish,?censor: groups.google.com/forum/#!topic/ggplot2/AsJ6xpmR9tUcoord_cartesianenfoque?coord_cartesian(xlim =probablemente también necesite restablecerylim, y restablecer la etiqueta y los saltos de cuadrícula.Nota rápida: si también está utilizando
coord_flip()para voltear el eje xy el eje y, no podrá establecer límites de rangocoord_cartesian()porque esas dos funciones son exclusivas (consulte aquí ).Afortunadamente, esta es una solución fácil; establece tus límites dentro de esta
coord_flip()manera:Esto solo altera el rango visible (es decir, no elimina los puntos de datos).
fuente