I have also posted this on stackoverflow, but got no response yet. I will try my luck here!
I am making a surface plot with plotly in R and I almost got what I want from it. I want to have an interactive plot with buttons that allows you to switch between different surfaces.
Here is my code.
#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"))) ))
The buttons work well, and they switch properly between the different surfaces. My only problem is that for the initial presentation of the plot, I would like the plot either to show the first plot, or show nothing yet. Currently both surfaces are displayed together when I initially run the code.
Any suggestion for how to change this is very welcome!
Thanks in advance!