2015-05-22 2 views
0

Я хочу разместить 2 набора меток оси Y на графике, который я создал с помощью функции levelplot из библиотеки решетки в R. Мне удалось получить два набора ярлыков, чтобы показать, но они перекрываются. Ниже приведен минимальный пример. Я также попробовал несколько вариантов в параметрах par.settings, таких как ylab.axis.padding и pad.components, но ничто не изменило наложение двух y-меток. Возможно, они каким-то образом переписаны? Любые идеи будут оценены. Мои примеры:levelplot (R решетчатый пакет) с 2 ярлыками ярлыка

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)))) 

ответ

0

Я думаю, что нашел решение. В случае, если кому-то интересно: я изменил первый tck = 0 на tck = 2 и добавил line.col = "transparent", поэтому две левые оси уложены друг на друга. Вуаля! Однако я не могу найти, где находится документация для использования параметров pad1 и pad2. Любое предложение?

Смежные вопросы