[R] barplot() options for intervals on axes

Sebastien Moretti Sebastien.Moretti at igs.cnrs-mrs.fr
Mon Dec 6 16:31:50 CET 2004


> > Hello,
> > I am a beginner with R. I read many tutorials and the FAQ but I cannot
> > solve my problem.
> > I use barplot() to view my graph. I try to get more interval marks on y
> > axis. I wasn't able to find options in 'help(barplot)' or 'help(par)' to
> > do this with barplot().
> >
> > I seek for another option to print y values on my bars like on the graph
> > of the R homepage: http://www.r-project.org/
> >
> > Thanks for your help.
>
> The general process of customizing the annotation of the axes for a
> variety of plots is posted frequently to this e-mail list, so a search
> of the archive using "axis" as the keyword yields almost 2,000 hits.
> Using "axis labels" narrows that to 650, which are more relevant.
>
> The key is to inhibit the generation of the default y axis by using the
> argument 'yaxt = "n"':
>
> Compare:
>
> barplot(1:5)
>
> versus
>
> barplot(1:5, yaxt = "n")
>
>
> You can then use the axis() function to customize the y axis values:
>
> barplot(1:5, yaxt = "n")
> axis(2, at = seq(0, 5, 0.25), las = 1)

It's exactly what I seek for !
There are too many answers in the FAQ.
So, I use 
axis(2,at=c(0,round(max(y)/8),round(max(y)/4),round(max(y)/2),round(3*max(y)/4),max(y)))
to print the vertical axe I want.

> help("par") provides additional information on the graphic parameters,
> which are the key to these types of customizations. See ?axis for more
> information on that function as well.
>
> To your second query, the key is to note that barplot() returns the bar
> midpoints, which is referenced in the Value section of ?barplot.
>
> Thus:
>
> mp <- barplot(1:5, yaxt = "n", ylim = c(0, 6))
> axis(2, at = seq(0, 5, 0.25), las = 1)
> text(mp, 1:5, labels = 1:5, pos = 3)

The text() command prints y value labels over my bars

Maybe some examples like that should be in the R manual

Thanks

> See ?text for more information.
>
> Also, note that I increased the range of the y axis here to make room
> for the bar text labels (primarily the final tallest bar).
>
> Finally, there is an article in the R Help Desk section of the October
> 2003 R News on basic graphic operations in R, which you might find
> helpful. A direct link to it is:
>
> http://cran.r-project.org/doc/Rnews/Rnews_2003-2.pdf
>
> HTH,
>
> Marc Schwartz

-- 
Sebastien MORETTI
Linux User - #327894
CNRS - IGS
31 chemin Joseph Aiguier
13402 Marseille cedex 20, FRANCE
tel. +33 (0)4 91 16 44 55




More information about the R-help mailing list