What a dummy I am. It just occurred to me that you can set
grid graphical parameters with par.settings.

cloud(your stuff,
      par.settings = list(grid.pars = list(lineend = "butt")))

 -Peter Ehlers


On 2010-04-06 14:53, Peter Ehlers wrote:
On 2010-04-06 7:28, Daniel Alcock wrote:
First, apologies for no example data but I don't think it's needed in
this case,

Q: Can (and if so how ) the line end style be changed for 'cloud' plots?

I've tried par(lend=2), trellis.par.set(add.line = list(lend=2)) and
much googling but to no avail


You can't use 'lend' because it's not an add.line component. What
you need is the grid graphics parameter 'lineend' which is
ultimately used in lsegments().

Here's a crude way to possible achieve what you need.
(I'm still getting to grips with grid graphics.)
This will replace panel.cloud and panel.3dscatter
with very minor modifications.

1. make a copy of panel.3dscatter
You should find, near the end, a call to lsegments() that
ends with:

lwd = lwd[ord])

replace that line with:

lwd = lwd[ord], ...)

This will permit passing grid graphics parameters to gpar() in
lsegments().

(I think that all we really need is for Deepayan to make this
change to panel.3dscatter; I suspect that this was an oversight,
but there may well be good reasons.)

2. Save your copy as mypanel.3dscatter and set its environment to
lattice's namespace:

environment(mypanel.3dscatter) <- environment(xyplot)

3. Make a copy of panel.cloud
Change the default argument for panel.3d.cloud from
"panel.3dscatter" to "mypanel.3dscatter" and save the
modified function to mypanel.cloud and set its environment
as above.

Now you should be able to call cloud:

cloud(z ~ x*y | etc, panel = "mypanel.cloud", lineend = "square")

Your choice are "round" (default), "butt" and "square".


-Peter Ehlers

Thanks in advance

Dan

P.S. the reason for this is that the round end looks bad at lwd=3 or
more

Daniel Alcock
Malaria Genetics (T112)
Wellcome Trust Sanger Institute
Cambridge
CB10 1SA
UK
+44 (0)1223 834244 ext. 4994
"The most exciting phrase to hear in science, the one that heralds new
discoveries, is not Eureka! But rather, "hmm.... that's funny...." --
Isaac Asimov






--
Peter Ehlers
University of Calgary

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to