[R] Equivalent of box() in grid graphics
Paul Murrell
paul at stat.auckland.ac.nz
Mon Jan 28 00:21:44 CET 2013
Hi
On 17/01/13 13:19, p_connolly at slingshot.co.nz wrote:
> Paul Murell's article "What's in a Name" in The R Journal Vol 4/2
> gives an interesting example of editing a stacked barplot of the barley
> data. Using the method described in that article, it's easy to do
> something along the lines of
>
> grid.edit("plot_01.border.strip.1",
> grep=TRUE, global=TRUE,
> gp=gpar(col = "red"))
>
> That changes more than I'd like to change. I'd like to change only the
> bottom line of the rectangle. How would I overwrite the unwanted red
> lines along the lines of what box() would do with base graphics?
You cannot modify just part of a basic shape (e.g., just the bottom line
of a rectangle). One way to do what I think you want is to specify a
custom strip function that draws an extra line over the top of the
existing rectangle, like this ...
library(lattice)
library(grid)
barchart(yield ~ variety | site, data = barley,
groups = year, layout = c(1,6),
stack = TRUE,
ylab = "Barley Yield (bushels/acre)",
scales = list(x = list(rot = 45)),
strip = function(...) {
strip.default(...)
grid.segments(0, 0, 1, 0, gp=gpar(lwd=1.5, col="red"))
})
Is that the sort of effect you want?
Paul
> TIA
> Patrick
>
> ______________________________________________
> 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