簡體   English   中英

帶有2個yaxis標簽的levelplot(R點陣包裝)

[英]levelplot (R lattice package) with 2 yaxis labels

我想在使用R的點陣庫中的levelplot函數創建的圖形上放置2組y軸標簽。我能夠顯示兩組標簽,但它們是重疊的。 下面請參閱一個最小示例。 我還在參數設置中嘗試了一些選項,例如ylab.axis.padding和axis.components padding,但似乎沒有什么改變2個y標簽的疊加。 也許它們已經以某種方式被覆蓋了? 任何想法將不勝感激。 我的示例代碼:

A = matrix( c(3, 1, 0, 1, 2, 3, 1, 0, rep(1,4), 2, 0, 1), nrow=3, ncol=5, byrow = TRUE)  
colnames(A)= c("XXX5", "XXX4", "XXX3", "XXX2", "XXX1")

axis.build=function(side,...){
              if(side == "left"){   
                                 panel.axis(side=side, outside=TRUE, at=1:5,tck=0, text.col="black", labels=colnames(A), text.cex=0.5)
                                 panel.axis(side=side, outside=TRUE, at=1:5,tck=0, text.col="brown", labels=seq(ncol(A)), text.cex=0.9 )
              }else axis.default(side=side, ...)
                              }

levelplot(A, aspect="iso", shrink = c(0.8, 0.8), scales= list(x=list(draw=F),cex=0.5, font=2) ,axis=axis.build,, xlab= NULL, ylab=NULL, col.regions=c("black", "orange", "red","purple"), at=c(-1, 0, 1, 2, 3), colorkey = FALSE, par.settings = list(axis.line=list(col="transparent"),axis.components=list(bottom=list(pad1=1, pad2=3)) ))

我想我已經找到了解決方案。 如果有人感興趣:我將第一個tck = 0更改為tck = 2,並添加了line.col =“ transparent”,因此兩個左軸彼此相鄰堆疊。 瞧! 但是,我似乎找不到用於使用pad1和pad2參數的文檔。 有什么建議嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM