Слайдер для Plotly R

Я построил два следующих графика, используя ggplot2, используя следующие коды.

p <- ggplot() +
  geom_line(data = campaigns_profit_3months, aes(y = clients_3monthsBefore, x = c(1:41), group = 1, color = "Clients 3 Months Before"), 
            size = 1 ) +
  geom_line(data = campaigns_profit_3months, aes(y = clients_3monthsAfter, x = c(1:41), group = 1, color = "Clients 3 Months After"), 
            size = 1 )  + 
  xlab('Campaigns') + ylab('Clients') + ggtitle('Clients 3 months before and after the campaigns') +
  scale_x_continuous(breaks = seq(1,41,1)) + scale_y_continuous(limits=c(0, 200)) +
  theme(legend.title=element_blank())

q <- ggplot() +
  geom_line(data = campaigns_profit_6months, aes(y = revenue_6monthsBefore, x = c(1:41), group = 1, color = "Revenue 6 Months Before"), 
            size = 1 ) +
  geom_line(data = campaigns_profit_6months, aes(y = revenue_6monthsAfter, x = c(1:41), group = 1, color = "Revenue 6 Months After"), 
            size = 1 )  + 
  xlab('Campaigns') + ylab('Revenue (USD)') + ggtitle('Revenue 6 months before and after the campaigns') +
  scale_x_continuous(breaks = seq(1,41,1)) + scale_y_continuous(limits=c(0, 200000)) +
  theme(legend.title=element_blank())

plot(p)
plot(q)

введите здесь описание изображения

введите здесь описание изображения

Есть ли способ добавить ползунок или кнопки (не знаю, правильная ли это терминология) с помощью Plotly для создания двух параметров 3 months revenue и 6 months revenue, где выбор первого параметра отобразит первый график, а выбор второго параметра отобразит второй?


person Chirag Srinivas    schedule 17.11.2019    source источник


Ответы (1)


Используйте эстетику frame. Вот пример.

library(plotly)

dat <- iris
dat$months <- c(3,6)

gg <- 
  ggplot(dat, aes(Sepal.Length, Sepal.Width, color = Species, frame = months)) + 
  geom_point()

ggplotly(gg)

введите здесь описание изображения

person Stéphane Laurent    schedule 18.11.2019
comment
отличный ответ! есть ли способ вручную перетащить ползунок вместо нажатия кнопки воспроизведения? - person Noob; 08.02.2021
comment
(Я разместил здесь связанный вопрос: stackoverflow.com/questions/66096701/) - person Noob; 08.02.2021