【问题标题】:Removing lines between a scatter plot in R删除R中散点图之间的线条
【发布时间】:2021-01-06 07:47:57
【问题描述】:

有问题的数据是时间序列数据。我正在尝试绘制残差值与拟合值的图,但散点图将这些点连接在一起。无论如何我可以摆脱连接线吗? 这是代码:

library(quantmod)
library(fpp2)
#head(fancy)

plot(fancy)
hist(fancy)
f_log = log(fancy)
hist(f_log)

lmod <- tslm(f_log ~ trend + season)
summary(lmod)
#residuals
res <- residuals(lmod)
plot(res, ylab="Residuals",xlab="Year")
plot(res,type = "p", ylab="Residuals",xlab="Year")
plot(lmod$fitted.values,res , xlab = "fitted values")

【问题讨论】:

    标签: r plot lm


    【解决方案1】:

    您的残差和值属于 ts:

    > class(lmod$fitted.values)
    [1] "ts"
    > class(res)
    [1] "ts"
    

    所以当你输入 plot(...) 时,它会调用 plot.ts:

    plot.ts(lmod$fitted.values,res , xlab = "fitted values")
    

    这就是你所看到的。所以如果你想使用默认的绘图功能,你可以这样做:

    plot.default(lmod$fitted.values,res , xlab = "fitted values")
    

    或使用 plot.ts:

    plot(lmod$fitted.values,res , xlab = "fitted values",plot.type="single",xy.labels=FALSE)
    

    或者如果您想查看标签:

    plot(lmod$fitted.values,res , xlab = "fitted values",plot.type="single",xy.lines=FALSE,cex=0.5)
    

    【讨论】: