【发布时间】:2014-08-22 15:57:00
【问题描述】:
我在 UI.R 中创建了一个 sliderInput
fluidRow(column(4,
uiOutput("showMapPlot"),
wellPanel(
sliderInput("slider", label = h4("Time (Hours)"), min = 1, max = 552, value = c(10,50),animate = FALSE, width="70%", format = "#")
), ...................
我将 input$slider1 和 input$slider[2] 传递到 server.R 并使用 ggplot 函数绘制一些图形。
函数如下
plot_1 <- function() {
var = input$select
gg1 <- aggregate(cbind(get(var)) ~ Mi + hours , a, FUN=mean)
names(gg1)[3] <- var
print(ggplot(gg1, aes_string(x = "hours", y = var, group = "Mi")) +
geom_point(aes(color = factor(Mi))) + geom_smooth(stat= "smooth" , alpha = I(0.4), method="loess",color="grey", formula = y ~ x)
如何从 UI.r 访问滑块输入并使用 server.R 实时更新。 我想根据滑块输入值递归更改 x 轴值。
我知道表达式中的数据集 a
gg1 <- aggregate(cbind(get(var)) ~ Mi + hours , a, FUN=mean)
应该以某种方式改变以访问滑块输入范围内的数据。 我不知道我应该在哪里实现它。 我试图在这个函数本身内更新,但它不起作用。 我绑定了renderUI,也没有用,主要是方法不对。
如果有人知道解决方案,请告诉我。
数据如下。 https://drive.google.com/file/d/0B54s5NXDypdMRmdsSjZnMzd5VVE/edit?usp=sharing
对象 a 是先验创建的,例如“a <- read.table(file=file.choose(), header=FALSE,col.names= c("Ei","Mi","hours","Nphy","Cphy","CHLphy","Nhet","Chet","Ndet","Cdet","DON","DOC","DIN","DIC","AT","dCCHO","TEPC","Ncocco","Ccocco","CHLcocco","PICcocco","par","Temp","Sal","co2atm","u10","dicfl","co2ppm","co2mol","pH"))”
【问题讨论】:
-
我不确定我是否理解您的要求。您是否希望图表根据滑块值进行更改?或者您是否尝试更新滑块以选择不同的值?
-
@JohnPaul 感谢您的回复。对不起,如果我的解释不完美。你的第一个假设是正确的。我正在尝试根据用户从浏览器中选择的滑块值更改图表。