R Shiny server.R 反应式时间/日期滑块,轴变化
Posted
技术标签:
【中文标题】R Shiny server.R 反应式时间/日期滑块,轴变化【英文标题】:R Shiny server.R reactive time/date slider with changing axis 【发布时间】:2016-10-26 05:23:04 【问题描述】:我有一个包含 5 个参数和一个日期/时间列的数据框。我希望能够使用下拉菜单将参数(即列)相互绘制,并使用滑块移动日期/时间。我在使用 server.R 时遇到了严重问题。日期/时间滑块表示随着下拉参数变化的数据。下面的示例数据,server.R 缺少关键元素
LAT=rnorm(10)
LONG=rnorm(10)
DO=rnorm(10)
SP=rnorm(10)
TMP=rnorm(10)
DateTime=as.POSIXct(c("2016-04-18 10:30:00 ",
"2016-04-18 10:30:00 ", "2016-04-18 10:31:00 ",
"2016-04-18 10:31:00 ", "2016-04-18 10:32:00 ",
"2016-04-18 10:32:00 ",
"2016-04-18 10:33:00 ", "2016-04-18 10:33:00 ",
"2016-04-18 10:34:00 ", "2016-04-18 10:34:00"))
DATA=data.frame(cbind(LAT,LONG,DO,SP,TMP,DateTime))
DATA$DateTime=as.POSIXct(DateTime)
ui=(pageWithSidebar(
headerPanel('DATA Comparison'),
sidebarPanel(
selectInput('xcol', 'X Variable', names(DATA)),
selectInput('ycol', 'Y Variable', names(DATA),
selected=names(DATA)[[3]]),
sliderInput('dtime', 'Date Time',min(DATA$DateTime),max(DATA$DateTime),
min(DATA$DateTime),step=60, timeFormat= "%F %T")
),
mainPanel(
plotOutput('plot1')
)
))
server=(function(input, output, session)
selectedData = reactive(
DATA[ , c(input$xcol, input$ycol)]
)
【问题讨论】:
你的问题到底是什么? 如何将日期/时间滑块链接到 DATA,以便绘图仅显示与每个下拉菜单 (xcol, ycol) 和 dtime 的输入相对应的数据点。取决于选择的绘图可能在 x 轴上具有 DO,在 y 轴上具有 SP,并且无论滑块输入在哪个日期/时间上都可以绘制点 【参考方案1】:请看下面的例子
server=(function(input, output, session)
output$plot1 <- renderPlot(
selected <- DATA[DATA$DateTime==input$dtime, ]
plot(selected[[input$xcol]], selected[[input$ycol]])
)
)
【讨论】:
以上是关于R Shiny server.R 反应式时间/日期滑块,轴变化的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ui.R 中读取 TextInput,在 global.R 中使用此值处理查询并使用 Shiny 在 server.R 中显示
SHINY-SERVER R(sparkR)语言web解决方案 架设shiny服务器