1

我想在我使用 R 的 lattice 库中的 levelplot 函数创建的图表上放置 2 组 y 轴标签。我能够显示两组标签,但它们是重叠的。下面请看一个最小的例子。我还在 par.settings 中尝试了一些选项,例如 ylab.axis.padding 和 axis.components 填充,但似乎没有改变 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)) ))
4

1 回答 1

0

我想我已经找到了解决方案。如果有人感兴趣:我将第一个 tck=0 更改为 tck=2,并添加了 line.col=“透明”,因此两个左轴彼此相邻堆叠。瞧!但是,我似乎找不到使用 pad1 和 pad2 参数的文档在哪里。有什么建议吗?

于 2015-05-24T01:50:21.403 回答