基数绘图:让时间序列显示一周中的天数,而不是整数值



在R中,我想使用基础绘图系统绘制时间序列,并且我已经有了按时间排序的数据列表。我想弄清楚如何让x轴显示一周的天数("星期一","星期二"等),而不是显示整数值。

当我调用像

这样的东西时
 plot(ts(my_values, frequency = 365, start = c(2000, 1)))

例如,我得到x轴从2000开始,最后一个缺口是2008。我尝试为start属性传递字符串,但我得到错误:

 Error in start[2L] - 1 : non-numeric argument to binary operator

所以我猜我必须提供一个数值来开始。对于如何做到这一点有什么建议吗?

请在StackOverflow上查看此问题:将x轴整数值替换为自己的值您可能会这样做:

 plot(ts(my_values, frequency = 365, start = c(2001, 1)), xaxt = "n")
 axis(1, at=seq(2001,2008,1), labels = c("Mon", "Tues", "Wed", "Thurs", "Fri", "Sat", "Sun"))

我知道你的序列从2000年开始,但是一周只有7天:O

标记,这可能是你正在寻找的:

# creating data frame
set.seed(123)
df <- data.frame(date= seq.Date(as.Date('2015-06-01'), by='day',length.out = 10),value=sample(1:10,10,replace = TRUE))
df
> df
         date value
1  2015-06-01     3
2  2015-06-02     8
3  2015-06-03     5
4  2015-06-04     9
5  2015-06-05    10
6  2015-06-06     1
7  2015-06-07     6
8  2015-06-08     9
9  2015-06-09     6
10 2015-06-10     5

将x轴标签绘制为"Monday, tuesday,…"在格式字符串中使用"%A",对于缩写标签"Mon, Tue,…",使用"%A",如下所示:

plot(value ~ date, df, xaxt = "n", type = "l")
axis(1, df$date, format(df$date, "%a"), cex.axis = .7)

最新更新