从xts对象的绘图中删除y轴标签

时间:2011-05-29 00:37:47

标签: r plot xts

以下是生成xts对象图的代码:

require("quantmod")
getSymbols("SPY")
plot(Cl(SPY))

产生以下情节:

graph

您可以从xts对象的图中删除y轴值(价格)吗?

提示传递 yaxt='n' 不起作用

3 个答案:

答案 0 :(得分:6)

移除y轴很容易,但它也会移除x轴。几个选项:

1)轻松使用plot.zoo

plot.zoo(Cl(SPY), yaxt="n", ylab="")

2)Harder-ish - 从plot.xts获取片段:

plot(Cl(SPY), axes=FALSE)
axis(1, at=xy.coords(.index(SPY), SPY[, 1])$x[axTicksByTime(SPY)],
  label=names(axTicksByTime(SPY)), mgp = c(3, 2, 0))

3)自定义 - 修改plot.xts,以便axes=接受要绘制的轴矢量和/或TRUE / FALSE

答案 1 :(得分:1)

添加Joshua的答案,修改plot.xts(),您需要做的就是改变以下部分:

    if (axes) {
      if (minor.ticks) 
        axis(1, at = xycoords$x, labels = FALSE, col = "#BBBBBB")
      axis(1, at = xycoords$x[ep], labels = names(ep), las = 1,lwd = 1, mgp = c(3, 2, 0))
    #This is the line to change:
    if (plotYaxis) axis(2)
    }

显然你将参数plotYaxis = TRUE添加到函数定义中。

答案 2 :(得分:0)

您也可以尝试指定x和y作为标签为空,或者不包含任何值/字符。尝试在plot命令中使用术语xlab="": 例如plot(beers,ranking,xlab="",ylab="")

如果在引号之间不包含任何内容,则R不会绘制任何内容。 使用此命令,您还可以指定标签,以便为x轴制作标签 '啤酒',使用术语xlab="beer"