Постепенно выявляют бары барплота в иослайдах

Я пытаюсь выполнить постепенное раскрытие или построение столбцов на моем графике в рамках презентации Rstudio ioslides. Как я могу отобразить график ниже, скрывая 3-й и 4-й столбцы на одном слайде, прежде чем показывать полный график на следующем слайде? Важно, чтобы я поддерживал все интервалы текста и полос на двух слайдах.

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

library(tidyverse)

mtcars %>% 
  mutate(
    am = factor(am, labels = c("auto", "manual")),
    vs = factor(vs, labels = c("V", "S"))
  ) %>% 
  ggplot(aes(x = am, y = mpg, fill = vs)) + 
  geom_col(position = position_dodge()) +
  theme(
    panel.grid.minor = element_blank(),
    panel.grid.major = element_blank(),
    panel.background = element_blank(), 
    panel.border = element_blank(),
    axis.line = element_line(colour = "black")
  )

график, отображающий 2 бара график с отображением всех баров

1 ответ

Попробуйте это для своего первого слайда. Он удаляет данные для ручных передач, но оставляет место для столбца (scale_x_discrete). Затем сделайте свой оригинал для второго слайда, но оставьте в scale_y_continuous (который я добавляю к обоим, чтобы необходимая высота сохранялась на обоих слайдах).

mtcars %>% 
  mutate(
    am = factor(am, labels = c("auto", "manual")),
    vs = factor(vs, labels = c("V", "S"))
  ) %>% filter(am == "auto") %>%
  ggplot(aes(x = am, y = mpg, fill = vs)) + 
  geom_col(position = position_dodge()) +
  scale_x_discrete(drop=FALSE) +
  scale_y_continuous(limits = c(0,35)) + 
  theme(
    panel.grid.minor = element_blank(),
    panel.grid.major = element_blank(),
    panel.background = element_blank(), 
    panel.border = element_blank(),
    axis.line = element_line(colour = "black")
  )
Другие вопросы по тегам