我正在处理要在大约 1 周的时间窗口内绘制的单个时间序列测量值。
这是我正在使用的数据。
这是我的 R 脚本:
library(tidyverse)
library(ggplot2)
filesource <- "C:/ ... /testData.csv"
df <-read.csv(filesource, header = TRUE)
ggplot() +
geom_line(data = df, aes(x = date, y = value, group = 1), color = "red") +
ggtitle("Some Measure over Time") +
xlab("Time") +
ylab("Some Measure in %")
这产生了这个情节。
我想要的是像这样在 x 轴上显示各个独特的工作日,就好像我会将日子绘制为单独的类别,但只显示每天的第一个。我无法真正对此进行硬编码,因为我正在与不同的参与者、天数和每天的价值金额一起工作。
所以我用工作日创建了一个新变量:
df$day <- weekdays(as.Date(df$date, '%d-%m-%Y'))
但是,当我想将此列用作 x 轴变量时,天的顺序不正确,并且一天的所有值显然都绘制在每一天的顶部:
geom_line(data = df, aes(x = day, y = value, group = 1), color = "red")
我已经看到这在 python 中有所解决:Visualizing Time Series Data
但是,我真的很想使用 R 和 Markdown 来创建自动参与者报告。如果使用 R 中的另一个绘图功能更容易做到这一点,我很乐意接受。我只是喜欢 ggplot 的可定制性。
我希望我的例子很清楚。我想这可以通过正确的 ggplot() 参数和设置来解决。有没有人有一个解决方案来结束更像预期结果蒙太奇的东西?




