我正在使用plotly
和list comprehension
。我希望我的x轴对正在显示的日期范围作出反应。因此,如果用户正在考虑1990年至2015年,我希望x轴显示年份。
现在,当用户刷子并且绘图调整以显示用户时,比方说,1990 - 1991,我希望x轴显示几个月。
我需要帮助设置这个的反应性部分。有什么想法吗?
答案 0 :(得分:1)
使用scale_x_date
ggplot
library(ggplot2)
library(plotly)
library(shiny)
ui <- fluidPage(
dateRangeInput("SDates", label = ("Select range"),
start="2006-01-01",
min=min(economics$date),max=max(economics$date),
format="dd.mm.yyyy",
end = "2007-01-01"),
plolytOutput("plot")
)
server <- function(input, output, session) {
df<-reactive({
economics[economics$date<input$SDates[2]&economics$date>input$SDates[1]]
})
output$plot <- renderPlotly({
brakes<-ifelse(as.numeric(difftime(input$SDates[2],input$SDates[1], units="days"))>365,"1 year","1 month")
ldates<-ifelse(as.numeric(difftime(input$SDates[2],input$SDates[1], units="days"))>365,"%Y","%m-%y")
p<-ggplot(df(), aes(x=date, y=unemploy))+geom_line()+
scale_x_date(date_breaks = brakes, labels = date_format(ldates))
ggplotly(p)
})
}
shinyApp(ui, server)