我正在尝试将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()
})
答案 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
。