以下是生成xts对象图的代码:
require("quantmod")
getSymbols("SPY")
plot(Cl(SPY))
产生以下情节:
您可以从xts对象的图中删除y轴值(价格)吗?
提示:传递 yaxt='n'
不起作用。
答案 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"
。