2016-01-15 116 views
0

最近我有一些問題代表一些數據與xyplot。一切都顯得很好,但我的老闆讓我打破軸心(我不是很喜歡中軸)。到目前爲止,我已經能夠使用shingle這個功能來做到這一點,但是面板的順序卻是如此混亂以至於讀取信息是不可行的。另外,我想在圖形上只顯示變量csst(我的示例data.frame中指定的信息)。然後,真正的挑戰是將所有這些需求修正爲格子,這是組中圖形的內部標準。中斷軸R

這裏是我的榜樣data.frame的代碼(http://1drv.ms/1JOKSPU)樣本:

AA<-read.csv("~/example.csv",header = T,sep = ";",dec = ",") 
    AA$st <- 
     shingle(Indl.Data$t, 
       intervals = rbind(c(0, 14), 
           c(23, 26))) 
    AA<-AA[with(AA, order(t)), ] 



    my.panel.1 <- function(x, y, subscripts, col, pch,cex,sd,...) { 
     low95 <- y-sd[subscripts] 
     up95 <- y+sd[subscripts] 
     panel.xyplot(x, y, col=col, pch=pch,cex=cex, ...) 
     panel.arrows(x, low95, x, up95, angle=90, code=3,lwd=3, 
        length=0.05, alpha=0.5,col=col) 
    } 
    xyplot(logOD~t|cs+st, 
      data=AA, 
      strip = T, 
      sd=0, 
      groups=cs, 
      xlab = list("Time ", cex=1.5), 
      ylab = list("growth", cex=1.5), 
      type="p", 
      col=c("red","black"), 
      scales = list(x = "free"), between = list(x = 0.5), 
      panel.groups="my.panel.1", 
      panel="panel.superpose", 
      par.settings = list(layout.widths = list(panel = c(6, 2)))) 

這就是我得到這個: AS can be noticed upper line has the times higher than 24h and the lower line the lower times. My target is to make a continuum with an hypothetic panel 1(cs=X t0-t15) and next to it a narrower panel 2 (cs=X t23-t26)

在提前,對不起,如果有在任何錯誤提出我的問題,我沒有編程背景,這是我的第三個問題。

乾杯;

+0

在SO中搜索術語「strip.custom」(因爲有許多工作示例)並閱讀其幫助頁面以解決有關條帶內容的問題。我無法幫助其他人,因爲我不明白軸或佈局需要進行哪些更改或添加。 (格子包的作者是強烈反對軸斷裂。) –

+0

那麼,我已經打破了軸(這就是爲什麼我有寬和窄的面板)。但是,它們並不合適。例如,前兩個(左上)是Ace(時間24-26)-fru(時間24-26),當它應該是Ace(時間0-15)-Ace(時間24-26)。 感謝您提供有關條的提示,我會仔細看看。 – Santi

+0

試圖複製這個我得到錯誤說'Indl.Data'找不到。 –

回答

0

你想通過st然後cs。所以請嘗試xyplot(logOD~t|st+cs,

如果需要也許使用layout=c(4,3)。如果你想讓它從左上角開始,則可以使用as.table=TRUE

+0

你完全擊中了正確的指甲!走多餘的路,我想要什麼樣的方式來改變佈局上的顯示。 謝謝! – Santi

+0

不確定我通過更改佈局上的顯示來了解你的意思。佈局由'layout = c(numColumns,numRows)'設置'你只需要偶數個列,因爲它們是成對的,調整以適應你想要的佈局。我首先得到了不適合我的圖形設備的佈局,所以我指定了'c(4,3)'。你顯示的情節是'c(6,2)'。 – DaveTurek