[R] xyplot lattice fine control of axes limits and thick marks (with log scale)
David Winsemius
dwinsemius at comcast.net
Wed Apr 11 15:03:24 CEST 2012
On Apr 11, 2012, at 6:28 AM, maxbre wrote:
> hi, I just realised I want to go a little further in the control of
> the chart
> appearance and I would like to have the same number of ticks
> displayed in
> both axes of all panels
>
> given this code....
>
> xyplot(tv ~ ms | sub_family, data=tm,
> #as.table=TRUE,
> aspect="xy",
> xlab = expression(paste('ms [ fg/', m^3, ' ]', sep = '')),
> ylab = expression(paste('tv [ fg/', m^3, ' ]', sep = '')),
> scales= list(x=list(relation="free", log=10, cex=0.8),
> y=list(relation="free", log=10, cex=0.8)),
I'm wondering if you should be using relation="free" when you have
already set a panel specific range for the x and y limits? I'm
thinking that the panel function may be reversing your earlier
prepanel efforts. (No data offered ... why don't you use one of the
many test datasets in the examples of the lattice package?)
> prepanel = function(x, y, subscripts) {
> rr<- range(cbind(x,y))
> list(xlim = rr, ylim= rr)
> },
> panel = function(x, y ,subscripts,...) {
> panel.xyplot(x, y, cex=0.8,...)
> panel.abline(a = 0, b = 1, lty = 2, col ="gray")
> panel.text(x, y, labels=tm$name_short[subscripts], cex = 0.8,
> pos=3,
> offset=0.5, srt=0, adj=c(1,1))
> },
> subscripts=TRUE,
> xscale.components = xscale.components.logpower,
> yscale.components = yscale.components.logpower
> )
>
> ...I have been trying to insert in the 'prepanel' and also in the
> 'panel'
> the statement 'tick.number=5' but this does not seem to have any
> effect
>
> some useful hints for this?
>
> thanks a lot
>
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list