web-dev-qa-db-ja.com

光沢のあるアプリケーションでggplotオブジェクトをplotlyに変換します

Ggplotオブジェクトをplotlyに変換して、光沢のあるアプリケーションで表示しようとしています。しかし、「クラス "NULL"のオブジェクトに適用された 'plotly_build'に該当するメソッドがありません」というエラーが発生しました

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()
})
19
athlonshi

試してください:

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

アプリではなくRStudioペインでレンダリングする場合は、UIセクションでplotlyOutputを使用し、サーバーセクションでrenderPlotlyを使用していることを確認してください。

14
TrivialSpace