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=-5000
a 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_cartesian
enfoque?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