ggplot2 scale_x_date 闪亮反应 table

ggplot2 scale_x_date in Shiny reactive table

我有一个闪亮的应用程序,它有一个反应式 table 和一个使用反应式 table 作为数据集的 ggplot2 折线图(时间序列)。我在折线图中使用 scale_x_date(date_breaks = "1 week"),所见日期的 minmax 值随反应性 table 适当变化。

我的问题是我希望周间隔是星期六(对应于我们财政周的结束,以及反应 table 中的所有时间戳)但 ggplot2 默认为显示星期一。我如何更改 x 轴以显示星期六,同时适当缩放以响应反应 table?

这样怎么样,借鉴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"))

我刚好需要

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
})

并且绘图渲染是 "smart enough" 以仅显示存在于过滤反应 table 中的日期值。