4

这是生成 xts 对象图的代码:

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

产生以下情节:

图形

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

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

4

3 回答 3

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) Customize-ish - 修改plot.xts所以axes=接受要绘制和/或TRUE/的轴向量FALSE

于 2011-05-29T01:10:22.747 回答
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 添加到函数定义中。

于 2011-05-29T01:20:40.700 回答
0

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

通过不包括引号之间的任何内容,R 不会绘制任何内容。使用此命令,您还可以指定标签,因此要使 x 轴的标签为“啤酒”,请使用术语xlab="beer".

于 2012-02-02T02:48:49.747 回答