R语言sunspots数据集绘图:时间轴来源与默认图类型疑问
嘿,我来帮你理清这两个关于R语言sunspots数据集的问题~
问题1:sunspots数据集中隐藏的X轴位于何处?
sunspots看起来是个double类型的向量,但它本质是一个时间序列(ts)对象,所谓的“隐藏X轴”其实是它自带的时间戳信息,存储在对象的tsp属性里。你可以直接运行代码查看:
tsp(sunspots) # 输出会是:1750 1983.917 12
这里的三个值分别代表时间序列的起始年份、结束年份,以及数据的频率(12表示月度数据)。plot函数绘制时,就是基于这个tsp属性来生成X轴的时间标注的。
问题2:plot(sunspots)的时间数据来源&默认折线图的原因
这两个问题其实都和sunspots的类属性有关:
- 时间数据的来源:虽然
typeof(sunspots)返回"double",但你用class(sunspots)查看会发现它是"ts"类对象。ts类型的对象内置了时间维度信息,就存在刚才说的tsp属性里。当你调用plot(sunspots)时,R会自动调用针对ts对象的专属绘图方法plot.ts(),这个方法会读取tsp里的时间数据,把X轴渲染成时间刻度,而不是普通的数值索引。 - 默认折线图的原因:普通的数值向量用
plot()默认是散点图,但plot.ts()是专门为时间序列设计的绘图方法——时间序列是随时间连续变化的数据,折线图能更好地展示趋势变化,所以这个方法默认就会绘制折线图,而不是散点图。你如果想强制画散点图,可以手动指定参数:
plot(sunspots, type="p")
内容的提问来源于stack exchange,提问作者ADJenks
相关产品推荐
相关产品推荐

