web-dev-qa-db-fra.com

Convertir un objet ggplot en tracé dans une application brillante

J'essaie de convertir un objet ggplot en tracé et de le montrer dans une application brillante. Mais j'ai rencontré une erreur "aucune méthode applicable pour 'plotly_build' appliquée à un objet de classe" NULL ""

J'ai réussi à renvoyer l'objet ggplot vers l'application brillante,

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

mais d'une manière ou d'une autre, il ne peut pas le convertir.

Mon code ressemble à ceci

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

Essayer:

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)
21
Bryan Goggin

S'il est rendu dans le volet RStudio au lieu de l'application, assurez-vous que vous utilisez plotlyOutput dans la section UI ainsi que renderPlotly dans la section serveur.

14
TrivialSpace