I am working with single time-series measurements that I want to plot for the time window of about 1 week.
This is the data I am working with.
This is my R script:
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 %")
This produces this plot.
What I want is to have the individual unique weekdays show on the x-axis like this, as if I would plot the days as individual categories but only show the first one of each day. I cannot really hardcode this, because I am working with different participants, days and value amounts per day.
So I created a new variable with the weekdays:
df$day <- weekdays(as.Date(df$date, '%d-%m-%Y'))
However, when I want to use this column as the x-axis variable, The days are not in the right order, and all values of one day obviously get plotted on top of each day:
geom_line(data = df, aes(x = day, y = value, group = 1), color = "red")
I have seen this being somewhat solved in python: Visualizing Time Series Data
However, I really want to use R and Markdown to create automated participant reports. If this is easier to accomplish with another plotting function in R, I am open ears. I just like the customizability of ggplot.
I hope my example is clear. I guess this can be solved with the right ggplot() parameters and settings. Does anyone have a solution for ending up with something more like the expected outcome montage?