[R] lattice xyplot with bty="l"
Deepayan Sarkar
deepayan.sarkar at gmail.com
Wed Sep 5 02:00:24 CEST 2007
On 9/4/07, Patrick Drechsler <patrick at pdrechsler.de> wrote:
> Hi,
>
> what is the correct way of removing the "top" and "right" axes
> completely from a lattice xyplot? I would like to have a plot similar
> to using the bty="l" option for traditional plots.
There is no direct analog (and I think it would be weird in a
multipanel plot). Combining a few different features, you can do:
library(grid)
xyplot(1:10 ~ 1:10, scales = list(col = "black", tck = c(1, 0)),
par.settings = list(axis.line = list(col = "transparent")),
axis = function(side, ...) {
if (side == "left")
grid.lines(x = c(0, 0), y = c(0, 1),
default.units = "npc")
else if (side == "bottom")
grid.lines(x = c(0, 1), y = c(0, 0),
default.units = "npc")
axis.default(side = side, ...)
})
-Deepayan
>
> An example:
>
> --8<---------------cut here---------------start------------->8---
> rm(list=c(ls()))
> library(lattice)
>
> y <- 1:10
> x <- y
>
> ## Traditional plot:
> plot(x, y, bty = "l")
>
> ## Lattice plot 1:
> xyplot(y ~ x,
> panel = function(x, y, ...){
> panel.xyplot(x, y, ...)
> panel.axis(side = c("left", "bottom"))
> }
> )
>
> ## Lattice plot 2:
> xyplot(y ~ x,
> ## This just tries to remove all y axes:
> scales = list(y = list(draw = FALSE))
> )
> --8<---------------cut here---------------end--------------->8---
>
> Thankful for any pointers,
>
> Patrick
>
> ______________________________________________
> R-help at 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
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list