Несколько поверхностей данных на одном графике с кнопками, использующими Plotly - PullRequest
0 голосов
/ 29 июня 2018

Я делаю поверхностный график с заговором в R, и я почти получил то, что хочу от него. Я хочу иметь интерактивный сюжет с кнопками, который позволяет переключаться между различными поверхностями.

Вот мой код.

#simulating random data
x1 <- rnorm(n = 100, mean = 5, sd = 1)
x2 <- rnorm(n = 100, mean = 10, sd = 2.5)

y1 <- rnorm(n = 1000, mean = 4, sd = 3)
y2 <- rnorm(n = 1000, mean = 100, sd = 2.5)

#creating two-dimensional kernal density estimation 
data1 <- kde2d(x = x1, y = x2, n = 25) # n = number of grids)
data2 <- kde2d(x = y1, y = y2, n = 25) # n = number of grids)


p <- plot_ly() %>%
  add_surface(z = data1$z) %>%
  add_surface(z = data2$z)

p <- p %>% layout(
  title = "Button Restyle",
  updatemenus = list(
    list(
      type = "buttons",
      y = 0.8,
      buttons = list(

             list(method = "restyle",
             args = list("visible", c(F,T)),
             label = "group1"),


        list(method = "restyle",
             args = list("visible", c(T,F)),
             label = "group2")))
  ))

Кнопки работают хорошо, и они правильно переключаются между различными поверхностями. Моя единственная проблема заключается в том, что для первоначального представления сюжета я бы хотел, чтобы сюжет либо показывал первый сюжет, либо пока ничего не показывал. В настоящее время обе поверхности отображаются вместе, когда я первоначально запускаю код.

Есть предложения, как это изменить?

1 Ответ

0 голосов
/ 01 июля 2018

Вы можете добавить visible = F к любой из ваших функций графика (add_surface), чтобы изначально скрыть их.

...