我正在尝试使用一个滑块范围,该范围将动态更改ggplot的X轴上的值。我可以显示最小值和最大值(选择两个值),但是需要打印这些选定值之间的整个范围。
UI
sliderTextInput("slider", strong("Year and Quarter"),
choices = unique(mydata2$PERIOD),
selected = c(("2011-Q4"),("2017-Q3")),
dragRange=TRUE
服务器
图形功能
shovegraphintofunction1 = function(input) {
CCGdata = mydata2[(mydata2$GEOG_NAME==input$GEOG_NAME),]
CCGrefdata = mydata2[(mydata2$GEOGRAPHYref==input$GEOGRAPHYref),]
CCGdata = mydata2[(mydata2$PERIOD==input$slider),]
CCGrefdata = mydata2[(mydata2$PERIOD==input$slider),]
date_start <- as.character(input$slider[1])
date_end <- as.character(input$slider[2])
lineplot = ggplot(data=CCGdata, mapping=aes(x=PERIOD, y=statistic, group=statistic.name)) +
geom_line(aes(color=statistic.name, size=statistic.name))+ scale_y_continuous(breaks=seq(0,100,10), labels=c("0%", "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%"), limits=c(0, 100))+
scale_x_discrete(breaks=CCGdata$PERIOD, labels=CCGdata$PERIOD, limits=c(input$slider[1], input$slider[2]))
}
````
答案 0 :(得分:0)
为什么不这样:
mydata2 %>%
filter(between(PERIOD ,date_start, date_end)) %>%
select(PERIODE) %>%
unique()
当然,您首先需要将date_start
和date_end
转换为日期格式。我无法进一步进行日期转换,因为您未提供任何日期格式。
希望对您有所帮助。