Skip to content

Controlling line-join style in Lattice

3 messages · Morgan, Andrew Parker, Peter Ehlers

#
R users,

I am creating a series of scatterplots with Lattice's xyplot().  Some of the plotting symbols are squares with thick borders.  The corners of the squares are rounded by default; I would like them to be square.  In base graphics this is easily done with par(ljoin = "mitre"), and in grid graphics with gpar(linejoin = "mitre").  Is there an analogous parameter in Lattice?  Passing ljoin as an argument to xyplot() or panel functions doesn't seem to work, and I can't find anything promising in lattice.par.get().

Thanks,
Andrew Morgan
Department of Genetics
University of North Carolina - Chapel Hill
#
You can set grid parameters in the grid.pars component of
trellis.par.get().

  x <- 1:4; y <- c(1,3,2,4)
  xyplot(y ~ x, type = "l", lwd = 20)  # default linejoin

  ## set linejoin to 'mitre'
  trellis.par.set(grid.pars = list(linejoin = "mitre"))
  xyplot(y ~ x, type = "l", lwd = 20)

Peter Ehlers
On 2012-08-22 11:09, Morgan, Andrew Parker wrote:
#
I should add that you can also use the par.settings()
mechanism to set your linejoin specification on the fly:

  x <- 1:4; y <- c(1,3,2,4)
  xyplot(y ~ x, type = "l", lwd = 20,
     par.settings = list(grid.pars = list(linejoin = "mitre")))

Peter Ehlers
On 2012-08-22 12:28, Peter Ehlers wrote: