Spisuję następujące:
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)
Teraz mówią, że tylko chce wykreślić obszar pomiędzy x=-5000
celu 5000
, zamiast całego zakresu.
Jak mogę to zrobić?
library(scales); ... + scale_x_continuous(limits = c(-5000, 5000), oob=squish)
(domyślnie jestoob=censor
); zobaczyć?squish
,?censor
: groups.google.com/forum/#!topic/ggplot2/AsJ6xpmR9tUcoord_cartesian
podejścia?coord_cartesian(xlim =
prawdopodobnie trzeba będzie również zresetować,ylim
a także zresetować etykiety i podziały siatki.Szybka uwaga: jeśli używasz także
coord_flip()
do odwracania osi x i y, nie będziesz w stanie ustawić limitów zakresu,coord_cartesian()
ponieważ te dwie funkcje są wyłączne (patrz tutaj ).Na szczęście jest to łatwa poprawka; ustaw swoje limity w
coord_flip()
taki sposób:To po prostu zmienia widoczny zakres (tzn. Nie usuwa punktów danych).
źródło