[R] Does anybody know how to control the appearance of the end of the line in lattice?

Paul Murrell p.murrell at auckland.ac.nz
Sun Aug 8 22:23:03 CEST 2010


Hi

On 9/08/2010 7:49 a.m., George Chen wrote:
> Hi All,
>
> I am plotting vertical lines using xyplot in lattice and type="h".
> It works well, but the problem is that the tops of the lines are convex and the bottoms are concave.
> Is there a way to flatten the tops and bottoms?

You want to control the graphical parameter called "lineend", but I 
don't think this is generally made available via trellis.par.set(). 
Also, trying to set a default value via the 'grid.pars' argument, or via 
a viewport with the 'draw.in' argument doesn't appear to work in this 
case (the lineend may be hard coded in the internal code somewhere). 
The following code (to be run AFTER your code) does the trick for your 
example ...

library(grid)
grid.gedit("segments", gp=gpar(lineend="butt"), grep=TRUE)

... though I believe this will also make the ends of the tick marks on 
the axes square (not obvious to the naked eye at the default size).

Paul

> Here's my code:
>
> Source<-matrix(1:30,10,3)
> colnames(Source)<-c("x","y1","y2")
> Source<-data.frame(Source)
>
> xyplot(y2+y1~x,
> 	data=Source,
> 	distribute.type=TRUE,
> 	type=c("h","h"),
> 	col=c("black","white"),
>          lwd=20)
> graphics.off()
>
> Thanks.
>
> George Chen
>
> ______________________________________________
> R-help at 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.

-- 
Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
Auckland
New Zealand
64 9 3737599 x85392
paul at stat.auckland.ac.nz
http://www.stat.auckland.ac.nz/~paul/



More information about the R-help mailing list