Black Lives Matter. Please consider donating to Black Girls Code today.

Using ggplotly() in a Shiny app

As described in some other topics on this forum (Plotly in R Shiny and Ggplot2 Map fine in R Shiny, but fails to render as a plotly), I have an RShiny app that seems to be having trouble with a ggplotly, though it works with a static ggplot.

It may be tricky to put up a reproducible example, but I’ll try to describe the situation.

I have a plotting function that renders a ggplot() and has an argument called dynamic.plot. If dynamic.plot is FALSE, the function returns p. If dynamic.plot is TRUE, the function returns ggplotly(p).

When dynamic.plot is FALSE and I use renderPlot() in server.R and plotOutput() in ui.R, the RShiny app runs and produces a static ggplot.

I changed dynamic.plot to TRUE, changed renderPlot() to renderPlotly(), and changed plotOutput() to plotlyOutput(), as seems to be indicated in the documentation (, and the plot looks erroneous. I included a screenshot, in case that’s useful.