Я строю следующее:
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)
Теперь скажите, что я хочу построить только область между x = -5000
и 5000
вместо всего диапазона .
Как это сделать?
В основном у вас есть два варианта
scale_x_continuous(limits = c(-5000, 5000))
или
coord_cartesian(xlim = c(-5000, 5000))
, где первый удаляет все точки данных за пределами заданного диапазона, а второй настраивает только видимую область. В большинстве случаев вы не увидите разницы, но если вы подгоните что-нибудь к данным, это, вероятно, изменит подобранные значения.
Вы также можете использовать сокращенную функцию xlim
(или ylim
), которая, как и первая опция, удаляет точки данных за пределами заданного диапазона:
+ xlim(-5000, 5000)
Для получения дополнительной информации см. описание coord_cartesian
.
Шпаргалка RStudio для ggplot2
наглядно демонстрирует это. Вот небольшая часть этой шпаргалки:
Распространяется под CC BY .