在闪亮的应用程序中将ggplot对象转换为plotly

ath*_*shi 16 r ggplot2 shiny plotly

我试图将ggplot对象转换为plotly并在闪亮的应用程序中显示它.但我遇到一个错误"没有适用于'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()
})
Run Code Online (Sandbox Code Playgroud)

但莫名其妙地无法转换它.

我的代码看起来像这样

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

Bry*_*gin 21

尝试:

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)
Run Code Online (Sandbox Code Playgroud)

  • 我也必须重启服务器,是的.但是,我的绘图输出不会转到浏览器中的应用程序,而是在Rstudio的Viewer选项卡中呈现...任何想法? (3认同)
  • 同样的问题在这里。它将转到 Rstudio 的情节而不是浏览器。无用 (2认同)

小智 12

如果它在RStudio窗格而不是应用程序中呈现,请确保您plotlyOutput在UI部分以及renderPlotly服务器部分中使用.