我希望能够在 R 的同一屏幕上绘制几个不连续时间序列的线图,并且无法一次显示所有数据:
require(xts)
require(xtsExtra)
df1=data.frame(a=1:30,b=3*1:30)
df1$b[2*1:15]=NA
df1A_xts=xts(df1,ISOdate(1900+1:30,1,1))
df1B_xts=xts(df1,ISOdate(1900+2*1:30,2,1))
df1_xts_merge=merge.xts(df1A_xts,df1B_xts)
Run Code Online (Sandbox Code Playgroud)
当然,当我绘制为点图时,一切都显示正常:
plot.xts(df1_xts_merge,screens=1,type="p",auto.legend=TRUE)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将一个或多个系列绘制为线时,不连续性会引起麻烦,例如:
plot.xts(df1_xts_merge,screens=1,auto.legend=TRUE)
Run Code Online (Sandbox Code Playgroud)
如何将这些系列中的每一个绘制为同一组轴上的连续线?
xts 和 Zoo 的行为与默认绘图方法一致:
matplot(df1_xts_merge,type="l")
Run Code Online (Sandbox Code Playgroud)

您似乎想要通过 xts 对象中的点插值的线条图,在这种情况下na.approx或na.spline将会有所帮助:
plot(na.approx(df1_xts_merge),screens=1,auto.legend=TRUE)
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
1612 次 |
| 最近记录: |