绘制两个xts对象

时间:2012-12-04 21:49:38

标签: r xts

我正在使用xtsExtra绘制两个xts对象。

考虑以下对plot.xts的调用:

plot.xts(merge(a,b),screens=c(1,2))

用于在两个单独的面板中绘制xts对象a和b。

如何控制y轴的间距?具体来说,我遇到了y轴标签过于靠近甚至重叠的问题。

理想情况下,我想指定在两个y轴标签之间保持的最小填充。任何帮助表示赞赏!

编辑:一个可重复的例子:

#install if needed
#install.packages("xtsExtra", repos="http://R-Forge.R-project.org")
library(xtsExtra)

ab=structure(c(-1, 0.579760106421202, -0.693649703427259, 0.0960078627769613, 
0.829770469089809, -0.804276208608663, 0.72574639798749, 0.977165659135716, 
-0.880178529686181, -0.662078620277974, -1, 2.35268982675599, 
-0.673979231663719, 0.0673890875594205, 1.46584597734824, 0.38403707067242, 
-1.53638088345349, 0.868743976582955, -1.8394614923913, 0.246736581314485
), .Dim = c(10L, 2L), .Dimnames = list(NULL, c("a", "b")), index = structure(c(1354683600, 
1354770000, 1354856400, 1354942800, 1355029200, 1355115600, 1355202000, 
1355288400, 1355374800, 1355461200), tzone = "", tclass = "Date"), class = c("xts", 
"zoo"), .indexCLASS = "Date", .indexTZ = "", tclass = "Date", tzone = "")

plot.xts(ab,screens=c(1,2))

产生:

y-axis labels too close

3 个答案:

答案 0 :(得分:3)

对不起,这花了这么长时间。我试图弄清楚为什么我的图表从2012年12月4日开始到2012年12月13日结束,当时你的图表从2012年12月5日开始到2012年12月14日结束。你能检查以确保{{1}您在上面发布的内容与您用于绘制图表的ab相同吗?

另外,我使用了库ab而不是xts。是否有理由使用xtsExtra

以下是代码:

xtsExtra

enter image description here

答案 1 :(得分:1)

我玩一些参数

   plot.xts(ab, bty = "n",    las = 1,     cex.axis = 0.5 )

enter image description here

答案 2 :(得分:1)

由于y轴格式不佳,我放弃了使用xts进行绘图。 这个问题提到了完全相同的问题。

autoplot.zoo一直是个不错的选择。

library(ggplot2)
autoplot.zoo(ab) + theme(panel.background = element_blank(),
                         panel.grid.major = element_blank(),
                         panel.grid.minor = element_blank()) +
                         theme_bw()

enter image description here