如何在闪亮的R中更新普通函数内的滑块值

时间:2014-08-22 15:57:01

标签: r shiny

我在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 = "#")
                  ), ...................

我正在传递输入$ slider 1并输入$ 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"))

1 个答案:

答案 0 :(得分:1)

我真的不知道ggplot,但你的滑块会给你两个值input$slider[1]input$slider[2],它们分别是最小值和最大值。如果你想改变x轴的极限,我认为你使用

 + xlim(input$slider[1],input$slider[2]) 

ggplot()命令中。