Как установить пределы для осей на графиках ggplot2 R?

Я строю следующее:

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 вместо всего диапазона .

Как это сделать?

334
задан zx8754 9 April 2017 в 20:38
поделиться

1 ответ

В основном у вас есть два варианта

scale_x_continuous(limits = c(-5000, 5000))

или

coord_cartesian(xlim = c(-5000, 5000)) 

, где первый удаляет все точки данных за пределами заданного диапазона, а второй настраивает только видимую область. В большинстве случаев вы не увидите разницы, но если вы подгоните что-нибудь к данным, это, вероятно, изменит подобранные значения.

Вы также можете использовать сокращенную функцию xlim (или ylim), которая, как и первая опция, удаляет точки данных за пределами заданного диапазона:

+ xlim(-5000, 5000)

Для получения дополнительной информации см. описание coord_cartesian .

Шпаргалка RStudio для ggplot2 наглядно демонстрирует это. Вот небольшая часть этой шпаргалки:

enter image description here

Распространяется под CC BY .

557
ответ дан 23 November 2019 в 00:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: