2012-01-23 7 views
4

zooオブジェクトのxyplotを作成する際に問題があります。私がやりたい何zooオブジェクトのxyplotでy軸を1つだけ逆にする方法

numLbl <- 4 
xx <- seq(from = min(time(z)), to = max(time(z)), length.out = numLbl) 
xyplot(z[,c(1,2,4,6)],scales = list(x = list(at = time (z), rot = 90)), layout = c(1,4), aspect = "fill", xlab = "", 
panel = function (x,y, ...) { 
    panel.abline (v = xx, col = "grey", lty = 3) 
    panel.xyplot(x, y, type = "b", col = 1) 
}) 

がy軸を逆です:私は、マルチパネルxyplotを作成するには、次のコードを使用しています

z <- zoo(cbind(a=1:4,b=11:14,c=10:13,d=5:8,e=10:7,f=1:4), 1991:1994) 

私は簡単な例を作成しましたこのパネルのうちの1つにのみ表示されます。私は私の例で動作するようにprepanelを取得することはできませんしかし

http://r.789695.n4.nabble.com/lattice-limits-in-reversed-order-with-relation-quot-same-quot-td2399883.html

:私は、関連する例を発見しました。私は格子にはまったく新しいです、そしておそらく私が理解していないパネル機能を持​​つものがあります。

さらに、パネルの1つをヒストグラムとして取得する簡単な方法と、他のものを線として取得する方法があれば、ヒントには非常に感謝しています。

ご協力いただきありがとうございます。

+0

あなたがggplotを使用して答えを許可されていれば、あなたがより良い反応を得るでしょうかしら? – Seth

答えて

1

は、ここで最初の仕事をしていませんprepanelの例です:

numLbl <- 4 
count <- 0 
swap <- 3 
xx <- seq(from = min(time(z)), to = max(time(z)), length.out = numLbl) 
xyplot(z[,c(1,2,4,6)],scales = list(x = list(at = time (z), rot = 90)), 
    layout = c(1,4), aspect = "fill", xlab = "", 
panel = function (x,y, ...) { 
    panel.abline (v = xx, col = "grey", lty = 3) 
    panel.xyplot(x, y, type = "b", col = 1) 
}, 
prepanel = function (x,y, ...) { 
    count <<- count + 1 

    lims <- list(xlim=c(min(x),max(x)), ylim=c(min(y),max(y))); 

    if (swap == count) { 
     lims[[2]] = rev(lims[[2]]); 
    } 
    lims; 
} 
) 
関連する問題