Re: R-beta: plot annotation

Thomas Lumley (thomas@biostat.washington.edu)
Thu, 21 May 1998 13:19:02 -0700 (PDT)


Date: Thu, 21 May 1998 13:19:02 -0700 (PDT)
From: Thomas Lumley <thomas@biostat.washington.edu>
To: Bill Simpson <wsimpson@uwinnipeg.ca>
Subject: Re: R-beta: plot annotation
In-Reply-To: <Pine.OSF.3.95.980521141920.8818A-100000@io.uwinnipeg.ca>

On Thu, 21 May 1998, Bill Simpson wrote:

> I have a bunch of curves on a plot and I would like to label each curve.
> Currently, if I place the text right on the curve it is hard to read
> because the text and the curve overlap.  I would like to make a label
> on an opaque white box just slightly larger than the label, and this sits
> on top of the curve. (This is easy to do in drawing programs on the Mac)
> 
> If I have the label ||
> and the line ----------------
> I want the result to look like
> ----||-----
> not like
> ----H------
> 

I would have expected legend() to be able to do this, but it can't -- if
a box is not drawn the background is not shaded.  However you can do it
manually:

Suppose s<-"||" is your text, and lx,ly are the coordinates where you want
it.

hh<-strheight(s)/2
ww<-strwidth(s)/2
rect(lx-ww,ly-hh,lx+ww,ly+hh,border=par("bg"),col=par("bg"))
text(lx,ly,labels=s)

This draws a rectangle big enough for the text in the current background
color and then writes the text.  You can adjust how much space there is
by changing the 2 to something smaller


Thomas Lumley
------------------------------------------------------+------
Biostatistics		: "Never attribute to malice what  :
Uni of Washington	:  can be adequately explained by  :
Box 357232		:  incompetence" - Hanlon's Razor  :
Seattle WA 98195-7232	:				   :
------------------------------------------------------------


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._