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

时间:2016-06-06 17:52:44

标签: 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()
})

但不知何故情节无法转换它。

我的代码看起来像这样

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

2 个答案:

答案 0 :(得分:18)

尝试:

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)

答案 1 :(得分:12)

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