这是生成 xts 对象图的代码:
require("quantmod")
getSymbols("SPY")
plot(Cl(SPY))
产生以下情节:
您可以从 xts 对象的图中删除 y 轴值(价格)吗?
提示:传递 yaxt='n'
不起作用。
移除 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
。
添加到 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 添加到函数定义中。
您还可以尝试将 x 和 y 作为标签指定为空,或不包含值/字符。尝试xlab=""
在您的绘图命令中使用该术语:例如plot(beers,ranking,xlab="",ylab="")
通过不包括引号之间的任何内容,R 不会绘制任何内容。使用此命令,您还可以指定标签,因此要使 x 轴的标签为“啤酒”,请使用术语xlab="beer"
.