Вопрос: geom_rect
предотвращает масштабирование из facet_grid
с помощью ggplot2.
Мне интересно, вызвано ли это конфликтом в двух фреймах данных, но я не знаю, как решить эту проблему.Надеюсь, ты сможешь мне помочь.
Пример кода следующий:
library(ggplot2)
data_1 <- data.frame(x = c(seq(from = 1, to = 10, by = 1),
seq(from = 21, to = 50, by = 1)),
y = rnorm(40, mean = 3, sd = 1),
z = c(rep("A", 10), rep("B", 30)))
shade <-
data.frame(xmin = c(2, 6, 39),
xmax = c(3, 8, 43),
ymin = - Inf,
ymax = Inf)
Если не использовать geom_rect
, я могу масштабировать с помощью facet_grid
соответственно следующим образом:
ggplot(data = data_1, aes(x = x, y = y)) +
geom_bar(stat = "identity", fill = "blue") +
facet_grid(.~z, space = "free_x", scales = "free_x")
результатвыглядит так:
Но если я нарисую geom_rect
, то ранее показанная шкала исчезнет, а код и график будут такими:
ggplot(data = data_1, aes(x = x, y = y)) +
geom_bar(stat = "identity", fill = "blue") +
geom_rect(data = shade, inherit.aes = FALSE,
mapping = aes(xmin = xmin,
xmax = xmax,
ymin = ymin, ymax = ymax),
fill = 'red', alpha = 0.2) +
facet_grid(.~z, space = "free_x", scales = "free_x")
Как сохранить предыдущее масштабирование по x при рисовании этих geom_rect
?
Любое предложение очень ценится.