从STL图中更改轴值

时间:2016-03-08 22:19:33

标签: r

我有一年销售数据,我正在研究它的季节性。我创建了一个我的数据的时间序列,然后,我使用了函数stl,我已经绘制了它。

我想更改x轴的值并输入我自己的值。为此,我使用了函数par(xaxt =“n”),然后使用函数axis(side=1,at...)。我可以删除值(使用函数par(xaxt =“n”),但函数axis(side=1,at...)不起作用,我看不到自己的值。

有人如何解决这个问题?

这是我的代码:

stcf=ts(tcf$tc.Ventas,start=c(2015,1),frequency = 4)

modelstl<-stl(log(stcf),s.window="periodic")

par(xaxt="n")

plot(modelstl, xaxt = "n",yaxt = "n")

axis(side=1,at=1:12,labels=expression("Ene.15","Feb.15","Mar.15","Abr.15","May.15", "Jun.15","Jul.15","Ag.15","Sep.15","Oct.15","Nov.15","Dic.15"))

1 个答案:

答案 0 :(得分:0)

您正在全局设置xaxt参数,并且轴功能也遵守它。因此,您正在调用这样的轴:

axis(..., xaxt="n") # <-- the xaxt is implicit because of the par call before the plot

您可以在绘图前删除par调用,也可以在轴调用中添加xaxt =“s”。

另一个问题是你在表达式中缺少一个引号,它应该是:

expression("Ene.15", "Feb.15", "Mar.15", "Abr.15", "May.15", "Jun.15", "Jul.15", "Ag.15", "Sep.15", "Oct.15", "Nov.15", "Dic.15")

不评估给予表达式的值,因此在绘图时,R会尝试查找变量Jun.15并且它不存在。

或者你可以使用这样的东西来避免自己在脚下射击:

c("Ene.15", "Feb.15", "Mar.15", "Abr.15", "May.15", "Jun.15", "Jul.15", "Ag.15", "Sep.15", "Oct.15", "Nov.15", "Dic.15")