2
Я думаю, что моя проблема лучше всего объяснить на примере:Изменение xlim автоматически изменяет ylim для geom_density
set.seed(12)
n <- 100
x <- rt(n, 1, 0)
library("ggplot2")
p <- ggplot() + geom_density(aes(x))
p
p + xlim(min(x), 300)
Почему ось у автоматически изменяется при изменении xlim? Плотность не должна меняться, поэтому для меня это не имеет смысла. Когда я использую базовый график, этого не происходит.
plot(density(x))
plot(density(x), xlim = c(min(x), 300))
Спасибо, вещь с coord_cartesian работает. Однако нет x-значений больше 300. Чтобы сделать это более понятным: проблема также возникает для p + xlim (min (x), max (x) + 300) – Heidi
Я не уверен, что он делает точно, но используя ' xlim', кажется, «расширяет» плотность до конца указанного интервала, поэтому нажатие максимально вниз. Если вы играете с ограничениями, например. 'xlim (min (x), 200)', 'xlim (min (x), 100)' и т. д., вы увидите, что пик приближается к 0,3 при приближении к фактическому max (x). Это почти так, как если бы 'xlim()' добавляет наблюдения для каждого значения x в диапазоне. Weird. – eminik
См. Github issue https://github.com/hadley/ggplot2/issues/1643 – Heidi