[R] how to make a median line thicker in bwplot (lattice)
Duncan Mackay
mackay at northnet.com.au
Mon Feb 11 23:16:47 CET 2013
Hi
I had a similar problem - see
http://tolstoy.newcastle.edu.au/R/e9/help/10/03/7129.html
DF <-
data.frame(site = factor(rep(1:5, each = 20)),
height = rnorm(100))
bwplot(height~ site,DF,
pch = "|",
panel = function(x, y, ..., horizontal) {
panel.bwplot(x, y, ..., horizontal = horizontal)
if (horizontal) {
meds <- tapply(x, y, median)
ylocs <- seq_along(meds)
panel.segments(meds, ylocs - 1/4,
meds, ylocs + 1/4,
lwd = 2, col = "red")
} else {
meds <- tapply(y, x, median)
xlocs <- seq_along(meds)
panel.segments(xlocs - 1/4, meds,
xlocs + 1/4, meds,
lwd = 2, col = "red")
} ## if (horizontal)
} ## panel function
) ## bwplot
Regards
Duncan
Duncan Mackay
Department of Agronomy and Soil Science
University of New England
Armidale NSW 2351
Email: home: mackay at northnet.com.au
At 01:35 12/02/2013, you wrote:
>On Feb 11, 2013, at 1:23 AM, Elaine Kuo wrote:
>
>>Hello,
>>
>>I am drawing a boxplot using bwplot in lattice.
>>I would like to learn how to draw a thicker median line instead of the
>>default setting.
>>Thank you.
>>
>>Code
>>
>>bwplot(........,
>> pch=rep("|",2))
>
>At the moment panel.bwplot has code at the end that I think deals with
>that aspect:
>
> if (all(pch == "|")) {
> mult <- if (notch)
> 1 - notch.frac
> else 1
> panel.segments(levels.fos - mult * blist.height/2,
> blist.stats[, 3], levels.fos + mult * blist.height/2,
> blist.stats[, 3], lwd = box.rectangle$lwd, lty =
>box.rectangle$lty,
> col = box.rectangle$col, alpha = alpha, identifier =
>paste(identifier,
> "dot", sep = "."))
> }
> else {
> panel.points(x = levels.fos, y = blist.stats[, 3],
> pch = pch, col = col, alpha = alpha, cex = cex,
> fontfamily = fontfamily, fontface =
>chooseFace(fontface,
> font), fontsize = fontsize.points, identifier =
>paste(identifier,
> "dot", sep = "."))
> }
>
>So you need to find a way to change the box.rectangle$lwd setting
>before this code is executed. Looking at
>
>names(trellis.par.get())
>
>It appears that graphic parameter can be set with trellis.par.set().
>
>--
>David.
>
>
>>Elaine
>>
>> [[alternative HTML version deleted]]
>>
>>______________________________________________
>>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.
>
>David Winsemius, MD
>Alameda, CA, USA
>
>______________________________________________
>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.
>
More information about the R-help
mailing list