我正在尝试添加一个功能,用户可以查看某个变量的几个患者的所有时间戳的图表,选择一个点并查看该点所属的患者,以及有关的所有其他信息当时的病人盖章。我的数据是被动的,因为获取它的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的所有演示都使用典型的数据表,如何使用反应数据进行此操作,或者这不是问题吗?