2011-05-29 102 views
3

下面是代碼生成XTS對象的曲線圖:刪除y軸標籤對象

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

其產生以下情節:

graph

你能從xts對象的圖表中刪除y軸值(價格)?

提示傳遞yaxt='n'不起作用

回答

4

刪除Y軸很容易,但它也會消除X軸。一對夫婦的選擇:

1)容易 - 用plot.zoo

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

2)更難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 so axes=接受繪製軸的矢量和/或TRUE/FALSE

+0

我最喜歡簡單的解決方案。利用動物園遺產。謝謝。 – Milktrader 2011-05-29 01:35:28

+0

誠實地說,我不會太多地使用'plot.xts'。 'plot.zoo'具有更好的功能,它可以與xts對象一起工作。 – 2011-05-29 01:45:11

1

添加到約書亞的答案,修改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函數定義。

0

您還可以嘗試指定x和y作爲標籤爲空或不包含值/字符。嘗試在您的繪圖命令中使用術語xlab=""plot(beers,ranking,xlab="",ylab="")

由於不包括引號之間的任何內容,R不會繪製任何內容。 使用此命令,您還可以指定標籤,因此要爲x軸 「啤酒」製作標籤,請使用術語xlab="beer"