我在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轴值。
我知道表达式
中的数据集agg1 <- 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"))
”
答案 0 :(得分:1)
我真的不知道ggplot
,但你的滑块会给你两个值input$slider[1]
和input$slider[2]
,它们分别是最小值和最大值。如果你想改变x轴的极限,我认为你使用
+ xlim(input$slider[1],input$slider[2])
在ggplot()
命令中。