我有一个Shiny应用程序,它既有一个反应性表,又有一个将反应性表用作数据集的ggplot2
折线图(时间序列)。我在折线图中使用scale_x_date(date_breaks = "1 week")
,看到的日期的min
和max
值随反应表而适当地改变。
我的问题是我希望将周间隔设置为星期六(与我们的财政周结束以及响应式表中的所有时间戳相对应),但是ggplot2
默认显示为星期一。如何更改x轴以显示星期六,但又可以根据反应式表适当缩放?
答案 0 :(得分:0)
这样从here借钱但使用lubridate
设置前一个星期六的最低休息时间怎么样?
library(lubridate)
scale_x_date(breaks = seq(floor_date(min(data.set$week.start), unit = 'week',
week_start = getOption('lubridate.week.start', 6)), max(data.set$week.start),by="week"),
labels = date_format(format = "%Y-%m-%d"))
答案 1 :(得分:0)
我只需要
output$fcstlinechart_weekly <- renderPlotly({
p1 <- ggplot2::ggplot(data= my_reactive_table(),
aes(x=Week_End_Date,y=Forecast)+
geom_line()+ scale_x_date(
breaks= unique(data_frame_source_for_reactive_table$Week_End_Date))
p2 <- ggplotly(p1)
p2$elementId <- NULL
p2
})
并且绘图渲染“足够聪明”,仅显示过滤后的反应表中存在的日期值。