[R] overlapping labels

Duncan Murdoch murdoch at stats.uwo.ca
Mon Dec 3 19:31:26 CET 2007


On 12/3/2007 12:21 PM, Biscarini, Filippo wrote:
> Good evening,
>  
> I am trying to add labels to the point of a simple plot, using the
> text() function; the problem is that sometimes, if two points are too
> close to each other, labels overlap and are no longer readable.
> I was wondering whether there are options that I can use to prevent this
> overlapping (by, for example, placing labels alternatively above and
> below the plotted curve), or whether I should use another set of
> graphical functions (grid or lattice packages).
> Does anybody have suggestions?

I don't think there are any functions to automatically avoid overlaps, 
but it is not hard to manually move some of the labels.  For example, 
you could alternate labels above and below with code like this:

 > x <- 1:10
 > y <- rep(0, 10)
 > plot(x,y)
 > text(x, y, rep("label", 10), pos=rep(c(1,3), 5))

because the pos parameter can be specified separately for each observation.

Duncan Murdoch

>  
> Thank you,
>  
> Filippo Biscarini
>  
> PS: These are the lines of codes that I have been using to generate the
> plot.
> 
> plot(
>  prova$x,
>  prova$y,
>  type="b",
>  mar=c(0.5,0.5,0.5,0.5),
>  xlab="basepairs",
>  ylab=""
> );
>  
> text(
>  prova$x,
>  prova$y,
>  prova$lab,
>  pos=3,
>  offset=2,
>  cex=0.5
> );



More information about the R-help mailing list