2016-06-06 15 views
7

Tôi đang cố chuyển đổi một đối tượng ggplot thành lôgic và hiển thị nó trong ứng dụng sáng bóng. Nhưng tôi gặp lỗi "không có phương pháp áp dụng cho 'plotly_build' áp dụng cho một đối tượng của lớp 'NULL'"Chuyển đổi đối tượng ggplot thành lôgic trong ứng dụng sáng bóng

tôi đã có thể trả lại đối tượng ggplot đến các ứng dụng sáng bóng thành công,

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

nhưng bằng cách nào đó không thể chuyển đổi nó.

Mã của tôi trông như thế này

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

sử dụng renderPlotly thay – MLavoie

Trả lời

9

Hãy thử:

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) 
+0

Cảm ơn, nhưng vẫn không làm việc. – athlonshi

+0

Xin lỗi về điều đó. hãy thử lại. –

+1

Nó hiện đang hoạt động. Trên thực tế cả ggplotly hoặc in (ggplotly()) làm việc tốt. Tôi nhận thấy rằng tôi cần phải khởi động lại máy chủ sáng bóng để thực hiện thay đổi (từ ggplot đến cốt truyện) có hiệu lực. Tôi không biết liệu điều này là bình thường hay không nhưng nó đã gây ra một số quan sát không phù hợp khi chạy sáng bóng trong Rstudio vs trên máy chủ web. – athlonshi

Các vấn đề liên quan