2016-09-08 189 views
1

几周前,我问了R - Shiny的反应性,而且我还没有设法破解螺母。这让我疯狂,我读过100多篇有关反应性的文章,但我无法完成它!闪亮的无功输入值 - 无图显示,没有错误

这是我走到这一步:

ui.R:

column(width = 3, 
box(
    title = "Pick a metric", 
     status = "primary", 
     width = 12, 
     height = 200, 
     solidHeader = FALSE, 
     collapsible = FALSE, 
     selectInput("value", "Metric:", 
        c("Pages/Session" = "pageviewsPerSession", 
         "Avg. Session Duration" = "avgSessionDuration")) 
            ) ) 
    column(width = 9, 
           box(
           title = "Title", 
           status = "primary", 
           width = 12, 
           height = 950, 
           solidHeader = FALSE, 
           collapsible = FALSE, 
              plotlyOutput("Scatter1") 

server.R:

output$Scatter1 <- renderPlotly({ 

datasetInput <- reactive({ 
    switch(input$value, 
    "Pages/Session" = SourcesDetail$pageviewsPerSession, 
    "Avg. Session Duration" = SourcesDetail$avgSessionDuration) 
}) 

p <- plot_ly(SourcesDetail, x = datasetInput(), y = SourcesDetail$visits, text = paste("Source/Medium: ", SourcesDetail$sourceMedium), 
     mode = "markers", color = SourcesDetail$medium, opacity = SourcesDetail$sourceMedium, marker = list(size = 15)) 

}) 

没有错误消息,根本就没有在图我的输出。

任何帮助将不胜感激!

+0

虽然我没有测试出来,我想'dataInput'应该已经已在'renderPlotly'之外声明。 – user5029763

+0

谢谢!现在所有的作品:) – RSesom

回答

0

您正在将输出分配给p,但不会输出p本身。要么删除p <-或放单prenderPlotly末:

要么

output$Scatter1 <- renderPlotly({ 

    datasetInput <- reactive({ 
    switch(input$value, 
      "Pages/Session" = SourcesDetail$pageviewsPerSession, 
      "Avg. Session Duration" = SourcesDetail$avgSessionDuration) 
    }) 

    plot_ly(SourcesDetail, x = datasetInput(), y = SourcesDetail$visits, text = paste("Source/Medium: ", SourcesDetail$sourceMedium), 
       mode = "markers", color = SourcesDetail$medium, opacity = SourcesDetail$sourceMedium, marker = list(size = 15)) 

}) 

output$Scatter1 <- renderPlotly({ 

    datasetInput <- reactive({ 
    switch(input$value, 
      "Pages/Session" = SourcesDetail$pageviewsPerSession, 
      "Avg. Session Duration" = SourcesDetail$avgSessionDuration) 
    }) 

    p <- plot_ly(SourcesDetail, x = datasetInput(), y = SourcesDetail$visits, text = paste("Source/Medium: ", SourcesDetail$sourceMedium), 
       mode = "markers", color = SourcesDetail$medium, opacity = SourcesDetail$sourceMedium, marker = list(size = 15)) 
    p 
}) 
+0

我知道它一定是一些愚蠢的小事......非常感谢Brian,我终于明白了! :) 你让我今天一整天都感觉很好 – RSesom