Преобразовать объект ggplot в графически в блестящем приложении

Я пытаюсь преобразовать объект ggplot в замысел и показать его в блестящем приложении. Но я столкнулся с ошибкой "не применимый метод для" plotly_build ", примененный к объекту класса" NULL ""

Мне удалось успешно вернуть объект ggplot в блестящее приложение,

output$plot1 <- renderplot({
   gp <- ggplot(data = mtcars, aes(x = disp, y = cyl)) + geom_smooth(method = lm, formula = y~x) + geom_point() + theme_gdocs()
})

но каким-то образом он не может его преобразовать.

Мой код выглядит следующим образом

output$plot2 <- renderplotly({
   gp <- ggplot(data = mtcars, aes(x = disp, y = cyl)) + geom_smooth(method = lm, formula = y~x) + geom_point() + theme_gdocs()
   ggplotly()
})

Ответ 1

Try:

library(shiny)
library(ggplot2)
library(ggthemes)
library(plotly)

ui <- fluidPage(  
titlePanel("Plotly"),
sidebarLayout(
sidebarPanel(),
mainPanel(
  plotlyOutput("plot2"))))

server <- function(input, output) {

output$plot2 <- renderPlotly({
print(
  ggplotly(
    ggplot(data = mtcars, aes(x = disp, y = cyl)) + geom_smooth(method = 
                      lm, formula = y~x) + geom_point() + theme_gdocs()))

})
}

shinyApp(ui, server)

Ответ 2

Если это рендеринг в панели RStudio вместо приложения, убедитесь, что вы используете plotlyOutput в разделе пользовательского интерфейса, а также renderPlotly в разделе сервера.