将白色背景添加到plot.xts()图例[R]

时间:2019-02-04 01:35:36

标签: r plot xts

我希望使用plot.xts()绘制多个时间序列,p.xts()是R中xts对象的内置包。

当前,我正在使用以下内容:

## Create xts dataset
ust <- merge.xts(us.3m, 
                 us.6m,
                 us.2y,
                 us.3y,
                 us.5y,
                 us.10y,
                 us.30y)
## Create color scheme using rainbow()
tsRainbow = rainbow(ncol(as.zoo(ust)))

## Create plot of dataset
plot.xts(ust, screens=1,
             major.ticks="years",
             main="U.S. Bond Yield Evolution",
             yaxis.right=FALSE,
             grid.ticks.on="years",
             col=tsRainbow)
## Add legend
addLegend("topright", 
              legend.names=c("US 3M", "US 6M", 
                       "US 2Y", "US 3Y", 
                       "US 5Y", "US 10Y", "US 30Y"),
              col=tsRainbow,
              lty=c(1,1,1,1,1,1,1),
              lwd=c(2,2,2,2,2,2,2),
              ncol=2,
              bg="white")

这将产生以下图形:

the mongoose's docs

我想为图例添加白色覆盖背景,以使在图例区域中看不到网格线。这样可以使图形区域更加整洁,并可以在类似出版物的文档中看到图例标签。

编辑

@JuliusVainora提供的解决方案效果很好。简单解决我的问题。

Evolution of Bond Yields

1 个答案:

答案 0 :(得分:1)

您可以使用

addLegend("topright", 
          legend.names=c("US 3M", "US 6M", 
                         "US 2Y", "US 3Y", 
                         "US 5Y", "US 10Y", "US 30Y"),
          col=tsRainbow,
          lty=c(1,1,1,1,1,1,1),
          lwd=c(2,2,2,2,2,2,2),
          ncol=2,
          bg="white",
          bty="o")

其中bty="o"给出一个带有白色背景的完整框。如果您希望边框颜色也为白色,请添加box.col="white"