Skip to content

Instantly share code, notes, and snippets.

@jtag04
Last active March 27, 2019 05:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jtag04/98d8295af8d9953e3c6656e2aa4d9824 to your computer and use it in GitHub Desktop.
Save jtag04/98d8295af8d9953e3c6656e2aa4d9824 to your computer and use it in GitHub Desktop.
Remaking Carson Sievert's updating a reactive plotly chart example
---
title: "dash"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```{r setup, include=FALSE}
library(tidyverse)
library(plotly)
# data sets
three_samples <- tibble(first_set = rnorm(3),
second_set = rnorm(3),
third_set = rnorm(3))
```
SideBar {.sidebar}
---
```{r}
radioButtons("radio", "set seed", choices = c("first_set" ,
"second_set",
"third_set"),
selected = "first_set")
```
Column
-----------------------------------------------------------------------
### Chart A
```{r}
# the slow way...
plotly_object <- reactive(
plot_ly(x = c("a", "b", "c"),
y = three_samples %>% pull(input$radio)
) %>%
layout(yaxis = list(range = c(-4, 4)))
)
renderPlotly(
plotly_object()
)
# the fast way... apparently using...
# new_plotly_object <- plotlyProxy(plotly_object) %>%
# plotlyProxyInvoke("restyle", "y", data_for_plot())
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment