On 2010-09-21 8:23, Ivan Calandra wrote:
   Dear users,

I would like all the ticks on a boxplot (x and y) to be labeled
I have checked all the par() arguments but couldn't find what I'm
looking for

Here is an example to show it:
df<- structure(list(SPECSHOR = structure(c(1L, 1L, 1L, 3L, 3L, 3L, 3L,
3L, 4L, 4L), .Label = c("cotau", "dibic", "eqgre", "gicam"), class =
"factor"), Sq122.median = c(2.335835, 1.76091, 1.64717, 1.285505,
1.572405, 1.86761, 1.82541, 1.62458, 0.157813, 0.864523)), .Names =
c("SPECSHOR", "Sq122.median"), class = "data.frame", row.names = c(9L,
16L, 23L, 74L, 83L, 90L, 98L, 109L, 121L, 139L))

par(mfrow=c(2,2))  ## not necessary in that example, but I do need it
with my real data
boxplot(Sq122.median~SPECSHOR, data=df, horizontal=TRUE)  ## the upper
label on the y-axis (gicam) is not shown

I know I can decrease the size of the labels by setting cex.axis=0.8,
but I would prefer that all labels are always there, independent of
their size, without me setting their size explicitly, and even if they
then overlap.

Am I clear? Is it possible, and how?

Thanks in advance
Ivan


Two suggestions:

1) use staxlab() in the plotrix package (but the staggered
labels might look a bit strange if you have short labels).

 library(plotrix)
 boxplot(Sq122.median~SPECSHOR, data=df, horizontal=TRUE, axes=FALSE)
 box(); axis(1)
 staxlab(side=2, at=1:4, lab=levels(df$SPECSHOR), cex=.8)


2) use mtext() to control your labelling.

 boxplot(Sq122.median~SPECSHOR, data=df, horizontal=TRUE, axes=FALSE)
 box(); axis(1)
 axis(2, at=1:4, lab=NA)
 mtext(levels(df$SPECSHOR), side=2, at=1:4, line=1, cex=0.8)


  -Peter Ehlers

______________________________________________
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