我合并了两个xts对象,并希望在单个显示中绘制它们。当我使用点(type =“p”)时,这很好用。但是,当我使用行(type =“l”)时会出现问题:第一个系列仅显示在第二个系列未涵盖的索引区域中。我希望线条和“点”一样长。可重复的示例发布在下面。
正如默认和ggplot绘图命令一样,我怀疑这与时间序列数据的某些属性有关。
这种行为的原因是什么?有没有正确的方法来绘制这种数据?
## Minimal example for Reproduction
library(xts)
library(ggplot)
# create two artificial xts objects
xts1 <- xts(1:15,Sys.Date()+10+seq(from=1,by=5,length.out=15))
xts2 <- xts(1:20,Sys.Date()+seq(from=1,by=2,length.out=20))
# merge them
merged.xts <- merge.xts(xts1,xts2)
# Plot as zoo objects to allow for panels
# plotting with points shows both series
plot(as.zoo(merged.xts),type="p",plot.type="single")
# plotting with lines
# The second series is "shortened"
plot(as.zoo(merged.xts),type="l",plot.type="single")
# Similar behaviour with ggplot2
autoplot(merged.xts)
答案 0 :(得分:3)
很简单,type="l"
看起来就是这样,因为你无法在一个点上绘制一条线。设置type="b"
以查看 b 的行和点。