Re: [R] xyplot auto.key issue

From: Sundar Dorai-Raj <sundar.dorai-raj_at_pdf.com>
Date: Sun 31 Jul 2005 - 20:19:08 EST

Hi, Mike,

Mike Lawrence wrote:
> Hi Deepayan,
>
> Thanks for the reply, but when I enter the " type = "b" " code into the
> auto.key
> (see below) command I get the following message:
>
> Error in valid.pch(x$pch) : zero-length 'pch'
>
> Any suggestions?
>

Why not just ignore auto.key and use key? Personally, I use auto.key only when I want the defaults. If I want something more customized, then I use key. As in,

library(lattice)
set.seed(1)
z <- expand.grid(x=1:10, g = LETTERS[1:5]) z$y <- rnorm(nrow(z))
trellis.par.set(theme = col.whitebg())
par.line <- trellis.par.get("superpose.line") par.symb <- trellis.par.get("superpose.symbol") n <- seq(nlevels(z$g))
my.key <- list(space = "right",

                border = TRUE,
                cex.title = 1.2,
                title = "My Key",
                size = 7,
                lines = list(pch = par.symb$pch[n],
                   lty = par.line$lty[n],
                   col = par.line$col[n],
                   type = "b"),
                text = list(levels(z$g)))
xyplot(y ~ x, z, groups = g,
        pch = par.symb$pch[n], type = "b",
        key = my.key)


> xyplot(
> #basic settings
> bias ~ sample_size | measure,
> data = bias,
> groups = exp_tau,
> type = "b",
> pch = c(1,2,3,4,5),
> xlab = "Sample Size",
> ylab = "Bias (ms)",
> #make strips transparent
> strip = function(bg, ...) strip.default(bg = 'transparent', ...),
> # tweak scales
> scales=list(
> x=list(
> at = c(20, 40, 60),
> tck = c(1,0),
> alternating = F
> ),
> y=list(
> at = c(-50, -25, 0, 25, 50),
> tck = c(1,0),
> alternating = F
> )
> ),
> # tell key to match symbols to those used in the plot
> par.settings = list(
> superpose.symbol = list(
> cex = .8,
> pch = c(1,2,3,4,5)
> )
> ),
> # key settings
> auto.key = list (
> type = "b",
> lines = T,
> border = T,
> cex.title = 1.2,
> title = "Expected Tau",
> text = c("30 ms", "80 ms", "130 ms", "180 ms", "230 ms"),
> space = "right"
> )
> )
>
>
> Quoting Deepayan Sarkar <deepayan.sarkar@gmail.com>:
>
>
>>On 7/30/05, Mike Lawrence <Mike.Lawrence@dal.ca> wrote:
>>
>>>Quick correction:
>>>
>>>The lines "lines = T," & "type = "b"" in the "par.settings" section should
>>>not
>>>be there. They are remnants of my previous (failed) attempts at solving the
>>>problem. Below is the correct code:
>>>
>>>xyplot(
>>>	#basic settings
>>>	bias ~ sample_size | measure,
>>>	data = bias,
>>>	groups = exp_tau,
>>>	type = "b",
>>>	pch = c(1,2,3,4,5),
>>>	#make strips transparent
>>>	strip = function(bg, ...) strip.default(bg = 'transparent', ...),
>>>	# tweak scales
>>>	scales=list(
>>>		x=list(
>>>			at = c(20, 40, 60),
>>>			tck = c(1,0),
>>>			alternating = F
>>>		),
>>>		y=list(
>>>			at = c(-50, -25, 0, 25, 50),
>>>			tck = c(1,0),
>>>			alternating = F
>>>		)
>>>	),
>>>	# tell key to match symbols to those used in the plot
>>>	par.settings = list(
>>>		superpose.symbol = list(
>>>			cex = .8,
>>>			pch = c(1,2,3,4,5)
>>>		)
>>>	),
>>>	# key settings
>>>	auto.key = list (
>>>		lines = T,
>>>		size = 7,
>>
>>You seem to be missing a 'type="b"' somewhere here. The type="b"
>>argument to xyplot is actually handled by the panel function. The key
>>has type="l" by default (see under 'key' in ?xyplot) and has to be
>>changed explicitly.
>>
>>
>>>		border = T,
>>>		cex.title = 1.2,
>>>		title = "Expected Tau",
>>>		text = c("30 ms", "80 ms", "130 ms", "180 ms", "230 ms"),
>>>		space = "right",
>>>	)
>>>)
>>>
>>>
>>>
>>>Quoting Mike Lawrence <Mike.Lawrence@dal.ca>:
>>>
>>>
>>>>Hi all,
>>>>
>>>>I'm having a problem with the auto.key function in xyplot. I hate to
>>>>bother the
>>>>list like this and I'm positive I must be missing something very simple,
>>>
>>>yet
>>>
>>>>I've spent the last day searching for a solution to no avail.
>>>>
>>>>Essentially, I want a key that contains entries in which the plot points
>>>
>>>are
>>>
>>>>superimposed on a line of the same color as the points, like this:
>>>
>>>o--o--o
>>>
>>>>Now, given the presence of the default "divide" command, I assume this is
>>>>simple; indeed, I get the impression that this representation is
>>>>supposed to be
>>>>produced automatically. Yet I can't seem to get it to work!
>>>>
>>>>Now, I've incorporated various other tweaks to my xyplot function, so I'm
>>>>wondering if these tweaks are somehow hindering my efforts. The function
>>>
>>>is
>>>
>>>>pasted below; I am making a 3x3 plot, each panel contains 5 lines and it
>>>
>>>is
>>>
>>>>these lines that I want represented in the key. See the comments for
>>>>descriptions of the modifications.
>>>>
>>>>Any help would be greatly appreciated.
>>>>
>>>>Cheers,
>>>>
>>>>Mike
>>>>
>>>>
>>>>xyplot(
>>>>	#basic settings
>>>>	bias ~ sample_size | measure,
>>>>	data = bias,
>>>>	groups = exp_tau,
>>>>	type = "b",
>>>>	pch = c(1,2,3,4,5),
>>>>	#make strips transparent
>>>>	strip = function(bg, ...) strip.default(bg = 'transparent', ...),
>>>>	# tweak scales
>>>>	scales=list(
>>>>		x=list(
>>>>			at = c(20, 40, 60),
>>>>			tck = c(1,0),
>>>>			alternating = F
>>>>		),
>>>>		y=list(
>>>>			at = c(-50, -25, 0, 25, 50),
>>>>			tck = c(1,0),
>>>>			alternating = F
>>>>		)
>>>>	),
>>>>	# tell key to match symbols to those used in the plot
>>>>	par.settings = list(
>>>>		superpose.symbol = list(
>>>>			cex = .8,
>>>>			pch = c(1,2,3,4,5)
>>>>		),
>>>>		lines = T,
>>>>		type = "b"
>>>>	),
>>>>	# key settings
>>>>	auto.key = list (
>>>>		lines = T,
>>>>		size = 7,
>>>>		border = T,
>>>>		cex.title = 1.2,
>>>>		title = "Expected Tau",
>>>>		text = c("30 ms", "80 ms", "130 ms", "180 ms", "230 ms"),
>>>>		space = "right",
>>>>	)
>>>>)
>>>>
>>>>
>>>>
>>>>--
>>>>
>>>>Mike Lawrence, BA(Hons)
>>>>Research Assistant to Dr. Gail Eskes
>>>>Dalhousie University & QEII Health Sciences Centre (Psychiatry)
>>>>
>>>>Mike.Lawrence@Dal.Ca
>>>>
>>>>"The road to Wisdom? Well, it's plain and simple to express:
>>>>Err and err and err again, but less and less and less."
>>>>- Piet Hein
>>>>
>>>>______________________________________________
>>>>R-help@stat.math.ethz.ch mailing list
>>>>https://stat.ethz.ch/mailman/listinfo/r-help
>>>>PLEASE do read the posting guide!
>>>
>>>http://www.R-project.org/posting-guide.html
>>>
>>>
>>>
>>>--
>>>
>>>Mike Lawrence, BA(Hons)
>>>Research Assistant to Dr. Gail Eskes
>>>Dalhousie University & QEII Health Sciences Centre (Psychiatry)
>>>
>>>Mike.Lawrence@Dal.Ca
>>>
>>>"The road to Wisdom? Well, it's plain and simple to express:
>>>Err and err and err again, but less and less and less."
>>>- Piet Hein
>>>
>>>______________________________________________
>>>R-help@stat.math.ethz.ch mailing list
>>>https://stat.ethz.ch/mailman/listinfo/r-help
>>>PLEASE do read the posting guide!
>>>http://www.R-project.org/posting-guide.html
>>>
>>

>
>

>

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Sun Jul 31 20:24:39 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:39:38 EST