Thank you very much Annette,

With your help I can do exactly what I wanted to.

Best wishes,
-Pooja
On 26 Mar 2009, at 06:59, Annette Heisswolf wrote:

Hei,

the error message below just tells you that you have specified nine places along the axis where you want to have labels (i.e. at=1:9) but obviously you have only specified three labels (i.e. labels = c("C","M","S")). Thus, R is complaining that there are not enough labels for all positions. However, I guess from your description that you want to have only three labels below your plot, one for each group of three boxes that share the same ASA1 value. Thus, you could for example do like this:

axis(side=1,at=c(2,5,8),labels=c("C","S","M"))

Then you would get the label always below the middle one of the three boxes of each group.

Now the boxes are, however, still distributed evenly across the plot, but in case you want to have those that belong to the same subgroup a bit closer together, you can specify their position via the "at" option on the boxplot function (see ?boxplot).

An example with random data might look like this:

ASA1=factor(rep(c("C","S","M"),each=100))
ASA2=factor(rep(c("C","S","M"),100))
C1_C2=runif(300)
boxplot(C1_C2~ASA2*ASA1,xlim=c(0,12),at=c(1:3,5:7,9:11),xaxt="n")
axis(side=1,at=c(2,6,10),labels=c("C","S","M"))

See ?axis for further options, e.g. tcl=0 in case you don't want to have a tick at the axis at the position of the label.

Hope that helps,

Annette

Pooja Jain schrieb:
Hi,
I have data that looks like this:
ASA1    ASA2    C1_C2
C       M       9.0225
S       S       2.4315
M       C       3.4894
M       S       4.5282
C       M       1.3183
C       S       1.3735
S       C       1.0488
S       M       7.948
M       C       4.5827
I need to plot Boxplots for a given ASA1 (either C,S, or M) with respect to C1_C2. However, instead of one boxplot I want to plot three boxplots for a given ASA1 value such that each sub-boxplot represent the distribution for C1-C2 for each of the three possible values of ASA2 (C,S or M). I want to show this subgroup with a single xtics (either C, S or M) corresponding to the ASA1 value selected. I tried to do it, but ending with the following error. I am not sure how exactly I should build the object to plot as subgroup.
Error in axis(side = 1, at = 1:9, labels = c("C", "M", "S" :
 'at' and 'labels' lengths differ, 9 != 3
In addition: Warning message:
In bxp(list(stats = c(1e-04, 2.82745, 6.0193, 10.5957, 22.2476,  :
 some notches went outside hinges ('box'): maybe set notch=FALSE
I would greatly appreciate any help in this matter.
Thank you.
-Kanu

--
Annette Heisswolf
Section of Ecology
Department of Biology
University of Turku
20014 Turku, Finland

phone   + 358 2 333 6006
fax     + 358 2 333 6550
mail    annette.heissw...@utu.fi

______________________________________________
R-help@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.

Reply via email to