У меня есть приложение Shiny, в котором есть как реактивная таблица, так и линейная диаграмма ggplot2
(временные ряды), в которой реактивная таблица используется в качестве набора данных. Я использую scale_x_date(date_breaks = "1 week")
в линейной диаграмме, и значения min
и max
наблюдаемых дат меняются соответствующим образом с реактивной таблицей.
Моя проблема в том, что я хотел бы, чтобы недельные интервалы были субботой (что соответствует концу нашей финансовой недели и всем временным меткам в реактивной таблице), но ggplot2
по умолчанию показывает понедельник. Как я могу изменить ось x, чтобы отображать субботу, но также соответствующим образом масштабировать в соответствии с реактивной таблицей?
Как насчет того, чтобы заимствовать у здесь, но использовать 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"))
Я попробую и посмотрю, смогу ли я сослаться на reactive_table () в последовательности
Мне просто нужно
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
})
И визуализация графика была «достаточно умной», чтобы отображать только те значения даты, которые существуют в отфильтрованной реактивной таблице.
Не совсем так, поскольку набор данных для моего объекта ggplot2 является реактивной таблицей, поэтому я не думаю, что могу ссылаться на нее в последовательности