在ggplot

时间:2015-09-18 19:22:44

标签: r ggplot2 shiny

我正在尝试添加一个功能,用户可以查看某个变量的几个患者的所有时间戳的图表,选择一个点并查看该点所属的患者,以及有关的所有其他信息当时的病人盖章。我的数据是被动的,因为获取它的SQL查询需要用户输入。我正在尝试在服务器中使用plotOutput和nearPoints中的click,并且当在图上盘旋时点击器将显示,但是如果我尝试点击某个点,则不会发生任何事情(数据显示将保持为空)。这就是我所拥有的:

#ui.R
library(shiny)
library(ggplot2)
shinyUI(navbarPage("Choose Page",
               tabPanel("Page 1",
              #sidebar
              sidebarLayout(
                sidebarPanel(
                  *unrelated tab*
              )
          )
      ),
      tabPanel("Overall Metrics",
               sidebarLayout(
                 sidebarPanel(
                   h3("Metrics Across All Patients"),
                   selectInput("selecty1",
                               label = "Choose a variable to display on the y-axis:",
                               choices = list('Var1', 'Var2', 'Var3', 'Var4')),
                   dateRangeInput("dates1", label= "Date Range:"),
                   submitButton("Create Graph"),
                 ),
                 mainPanel(
                   plotOutput('plot1', click = "plotClick"),
                   verbatimTextOutput("click_info")
                 )
               )
      )
)
)

#server.R

library(shiny)
require(RODBC)
library(ggplot2)
library(quantmod)
library(reshape)

shinyServer(function(input, output) {

chan2 <- odbcConnect('date_base', uid='username')
queryString2 <- reactive({sprintf("**SQL Query**",input$dates1[1],input$dates1[2])}) 
overallData <- reactive({sqlQuery(chan2, queryString2())})

output$heartplot1 <- renderPlot({

ggplot(overallData(), aes_string(x = "Time_Stamp", y = input$selecty1)) + geom_point(size=2) + geom_line(aes(colour = factor(PatientNum))) + theme_bw() + stat_smooth(method="lm",se=FALSE,size=1)
})

output$click_info <- renderPrint({
nearPoints(overallData(), input$plotClick, addDist = FALSE)
  })
})

我发现nearPoints的所有演示都使用典型的数据表,如何使用反应数据进行此操作,或者这不是问题吗?

0 个答案:

没有答案