Существует ли функция построения графика, которая переключает условные обозначения и цвет графика на основе различных условий во фрейме данных? - PullRequest
0 голосов
/ 22 января 2019

У меня есть два одинаковых графика, за исключением цвета, на который ссылается aes ().Я хотел бы использовать сюжет для переключения между цветовыми схемами двух графиков.Как я могу это сделать?

require(ggplot2)
require(plotly)

#DF Construction
col1 <- c(84, 55, 69, 65, 80, 67, 90, 75, 89, 88)
col2 <- c(81, 70, 88, 78, 77, 72, 88, 79, 88, 90)
col3 <- c("L2", "L1", "L2", "L1", "L1", "L2", "L1", "L2", "L2", "L2")
col4 <- c("Ready", "Not", "Not", "Not", "Not", "Not", "Ready", "Not", "Ready", "Ready")
df <- data.frame(col1, col2, col3, col4)

#ggplot Construction
plot1 <- ggplot(df, aes(x = col1, y = col2, colour = col3)) +
             geom_jitter()
plot2 <- ggplot(df, aes(x = col1, y = col2, colour = col4)) +
             geom_jitter()

#Plotly Toggle
???

1 Ответ

0 голосов
/ 23 января 2019

Предлагаю вам прочитать документацию по кнопкам https://plot.ly/r/custom-buttons/

Вот моя попытка решить эту проблему.

 button_list = list(
  list(
    type = "buttons",
    buttons = list(
      list(method = "update",
           label = "col3",
           args = list(
             list(visible = c(TRUE, TRUE, FALSE, FALSE)))),
      list(method = "update",
           label = "col4",
           args = list(
             list(visible = c(FALSE, FALSE, TRUE, TRUE))))
    )
  )
)

plot_ly(df, x = ~col1, y = ~col2) %>%
  add_markers(color = ~col3, colors = c("red","blue", "red", "blue")) %>%
  add_markers(color = ~col4, colors = c("red", "blue", "red", "blue")) %>%
  layout(
    updatemenus = button_list
  )
...