I want to plot data from a time-series object and properly customise the labels that are shown in the x-axis.
The data I am plotting correspond to monthly values, from January 2017 to December 2017.
I've read other similar posts on the same subject here, and I have tried everything I imagined, but I can't make this work:
# Data to be plotted
actual <- c(153.3, 12.5, 52, 23, 11.8, 20.8, 1.9, 26.4, 6, 17, 7.4, 3.5)
# Transform them into a time-series object
ts_actual <- ts(actual, frequency = 12, start = c(2017, 1), end = c(2017, 12))
# Create the labels
labels.chart = seq(as.Date("2017-01-01"), as.Date("2017-12-01"), by = "months")
# My plot
plot(ts_actual, col = "blue", type = "p", ylim = c(-100, 200), xaxt = "n")
# This does not work:
axis(1, labels.chart , format(labels.chart, "%Y-%m"))
# Neither does this:
axis.Date(side = 1, at = labels.chart , format = "%Y-%m")
Any hint on what I am missing?
I want to keep my data as a time-series object because this is a part of a time-series analysis. Default x-axis labels are not appropriate:
# Data to be plotted
actual <- c(153.3, 12.5, 52, 23, 11.8, 20.8, 1.9, 26.4, 6, 17, 7.4, 3.5)
# Transform them into a time-series object
ts_actual <- ts(actual, frequency = 12, start = c(2017, 1), end = c(2017, 12))
# Create the labels
labels.chart = seq(as.Date("2017-01-01"), as.Date("2017-12-01"), by = "months")
# My plot
plot(ts_actual, col = "blue", type = "p", ylim = c(-100, 200))
So, how can I fix this (without using ggplot2
or other unnecessary packages)?