[R] boxplots
Uwe Ligges
ligges at statistik.uni-dortmund.de
Sun May 27 10:52:06 CEST 2001
Roger Koenker wrote:
>
> Was there ever a convenient method provided to add boxplots to the
current
> plot at specified x values? There was a question by Martin Maechler
some
> time ago here, but I could seem to find any satisfactory resolution of
it.
> I see that there is an add=T option to boxplot and bxp, but I don't see
> how to set the x-values.
bxp() can easily be extended to handle a new argument like x.loc = NULL ,
in which you can specify the x-values manually:
bxp <-
function (z, notch = FALSE, width = NULL, varwidth = FALSE, notch.frac =
0.5,
boxwex = 0.8, border = par("fg"), col = NULL, log = "", pars = NULL,
- frame.plot = axes, horizontal = FALSE, add = FALSE, ...)
+ frame.plot = axes, horizontal = FALSE, add = FALSE, x.loc = NULL,
...)
{
[SNIP]
if (!add) {
plot.new()
if (horizontal)
plot.window(ylim = c(0.5, n + 0.5), xlim = ylim,
log = log)
else plot.window(xlim = c(0.5, n + 0.5), ylim = ylim,
log = log)
}
+ if(is.null(x.loc))
+ x.loc <- 1:n
- for (i in 1:n) bplt(i, wid = width[i], stats = z$stats[,
+ for (i in 1:n) bplt(x.loc[i], wid = width[i], stats = z$stats[,
i], out = z$out[z$group == i], conf = z$conf[, i], notch = notch,
border = border[(i - 1)%%length(border) + 1], col = if (is.null(col))
col
else col[(i - 1)%%length(col) + 1], horizontal = horizontal)
[SNIP]
}
So you can do for example:
my.bxp <- boxplot(data.frame(v13 = 1:10, v15 = 2:11))
plot(1:20)
bxp(my.bxp, add = TRUE, x.loc = c(13, 15))
Uwe Ligges
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list