[BioC] simpleaffy question

J.delasHeras at ed.ac.uk J.delasHeras at ed.ac.uk
Sat Dec 9 21:34:38 CET 2006

Quoting "James W. MacDonald" <jmacdon at med.umich.edu>:

> J.delasHeras at ed.ac.uk wrote:
>> Quoting "D.Enrique ESCOBAR ESPINOZA" <escobarebio at yahoo.com>:
>>> HI ,
>>> does someone know if there is a built-inn
>>> function for adding a legend to the QC grph obtained
>>> with :
>>> data(Dilution)
>>> plot(qc(Dilution))
>>> or if there is an easy way to add a legend to this graph
>>> thanks.
>> In general I find that one or some of these functions help me   
>> annotate any plot in R:
>> ?text
>> ?mtext
>> ?title
>> ?legend
>> I presume you probably were looking for 'legend'.
> Unfortunately legend won't work in this case. The qc() plot is produced
> after a call to layout(), which cuts the plotting device into four
> sections. The last section to be plotted is the upper left hand, which
> contains the names of the QC probesets. If you make a call to legend(),
> it will put the legend in that very small section, most likely right on
> top of the names of the QC probesets.
> To see what I mean, try this code (which comes directly from this
> plotting function):
> m <- matrix(c(4, 2, 1, 3), nrow = 2, ncol = 2)
> layout(m, c(1, 2), c(0.1, 1))
> layout.show(4)
> The plots will be added to each box in the order listed.
> That said, if you want to hack the code it wouldn't be that difficult
> to  add a call to legend() right after the second call to plot() in the
> function plot.qc.stats(). This will put a legend in the second layout
> box, which currently only contains the chip names on the extreme right
> edge. If you placed the legend "upperleft" and made the font size small
> enough, it might fit.
> Luckily, since simpleaffy doesn't use a namespace, you can simply
> copy-paste the function into an editor, hack away, then source() back
> in and go.
> HTH,
> Jim


I wasn't familiar with the qc() plots, so I assumed they were straight  
plots. Sorry!

Your idea to just get into the qc() code and add a call to legend as  
required seems good and simple enough.

Is there a function in R that allows you to plot polygons, circles,  
etc... *anywhere*? Something similar to 'mtext', only not just for text?
I often multiplot figures, using 'par(mfrow=c(x,y))' among other  
suitable parameters to fit several plots consecutively into a larger  
figure. Then I use 'mtext' to place text information anywhere in the  
final multiplot figure. It works well enough. If there is an  
equivalent funtion that you can sue to draw lines, rectangles etc with  
in teh same fashion, that would work too.

Dr. Jose I. de las Heras                      Email: J.delasHeras at ed.ac.uk
The Wellcome Trust Centre for Cell Biology    Phone: +44 (0)131 6513374
Institute for Cell & Molecular Biology        Fax:   +44 (0)131 6507360
Swann Building, Mayfield Road
University of Edinburgh
Edinburgh EH9 3JR

More information about the Bioconductor mailing list