【问题标题】:Changing Axis Values from STL Plot从 STL 图中更改轴值
【发布时间】:2016-03-08 22:19:32
【问题描述】:

我有一年的销售数据,我正在研究它的季节性。我已经创建了我的数据的时间序列,然后,我使用了函数 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"))

【问题讨论】:

    标签: r


    【解决方案1】:

    您正在全局设置 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")
    

    【讨论】:

    • 谢谢@brni。但它仍然不起作用!未评估轴功能。
    • 我已经修改了答案以帮助解决问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    相关资源
    最近更新 更多