[R] change axis format for different panels in xyplot in lattice

levyr@umd.edu levyr at umd.edu
Tue Nov 29 01:50:27 CET 2005


Utilizing panel.number and grid allowed me to do all my
desired manipulations - thanks Deepayan!

Roy

---- Original message ----
>Date: Tue, 22 Nov 2005 13:47:20 -0600
>From: Deepayan Sarkar <deepayan.sarkar at gmail.com>  
>Subject: Re: change axis format for different panels in
xyplot in lattice  
>To: levyr at umd.edu
>Cc: r-help at stat.math.ethz.ch
>
>On 11/22/05, levyr at umd.edu <levyr at umd.edu> wrote:
>> Dear R users,
>>
>> My apologies for a simple question for which I suspect there
>> is a simple answer that I have yet to find.  I'd like to plot
>> panels in lattice with different graphical parameters for the
>> axes.  For example, the code
>>
>> x<-rnorm(100)
>> y<-rnorm(100)
>> z<-c(rep(1,50), rep(2,50))
>> library(lattice)
>> xyplot(y~x|z)
>>
>> plots two panels with the default black axes.  Running the
>> following code
>>
>> trellis.par.set(list(axis.line = list(col = "transparent")))
>> xyplot(y~x|z)
>>
>> plots the same data without the axes.  Is it possible (in one
>> plot) to plot the first panel with black axes and the second
>> panel with tranparent axes?
>
>Not systematically, but consider this approach:
>
>library(grid)
>trellis.par.set(list(axis.line = list(col = "transparent")))
>xyplot(y~x|z,
>       panel = function(..., panel.number) {
>           if (panel.number == 1) grid.rect(gp = gpar(col =
'black'))
>           panel.xyplot(...)
>       } )
>
>This is probably not exactly what you want, since the tick
marks are
>transparent in both panels, but you get the idea. You can
gain finer
>control of the axis annotation using panel.axis inside your panel
>function (but you will need to disable clipping, controlled by
>trellis.par.get("clip")). Alternatively, check out
?trellis.focus.
>
>Deepayan




More information about the R-help mailing list