[BioC] OT: question about plots, general R, really...
Martin Maechler
maechler at stat.math.ethz.ch
Wed Jul 5 14:55:14 CEST 2006
>>>>> "JimMcD" == James W MacDonald <jmacdon at med.umich.edu>
>>>>> on Tue, 04 Jul 2006 14:53:06 -0400 writes:
JimMcD> You might also consider using the 'xpd' argument to par().
>> par(xpd = NA)
>> plot(1:10)
>> plot(1:10)
>> plot(1:10)
>> plot(1:10)
>> plot(1:10)
>> plot(1:10)
>> text(-12,28,"A header string")
JimMcD> The only problem with this solution is finding where to put things. An
JimMcD> alternative is to use
>> text(locator(1), "A header string") and then place it where you want.
As a slightly better (most of the time) and more convenient
alternative I have written the function mult.fig() more than 10
years ago {for S-plus at the time}.
I still think it's nice and recommendable and even worth
installing the 'sfsmisc' package:
install.packages("sfsmisc")
library(sfsmisc)
mult.fig(6, main = "My title")
for(i in 1:6) plot(rnorm(50))
## or look at example(mult.fig)
Martin Maechler, ETH Zurich
JimMcD> HTH,
JimMcD> Jim
JimMcD> Ana Conesa wrote:
>> Hi Jose,
>>
>> I came across this same problem some time ago and I figured out a quite
>> rudimentary solution, I guess. Probably there are more elgant ones (I would
>> love to know them!!!)
>> Basically what I do is:
>> - Split my device up into one more row, very narrow, at the upper part, to
>> host the general title, and then set my first figure to spand across this
>> first row.
>> - Then plot a "ghost" plot in which I have made everything not visible but
>> the Title. Normally you have to adjust the margins for this first "plot" in
>> advance.
>> - Resest the margins
>> - Plot the other plots
>>
>> For example, for a title, plus 4 figures you could use:
>>
>>> layout(matrix(c(1,1,2,3,4,5),3,2, byrow=T),heights=c(1,6,6))
>>> par(mar=c(0.1,0.1,2,0.1))
>>> plot(0, main="Your Title", xaxt="n", yaxt="n", xlab="",
>>
>> ylab="",bty="n",col="white")
>>
>>> par(mar=c(c(4, 4, 4, 2)))
>>> plot...what ever...
>>
>>
>> You have to play a bit with the heights parameter of layout to get the
>> division you are happy with (the function layout.show() shows you the
>> position of each plot in your screen). And play also with the margins, maybe.
>>
>> Hope this is of some use to you...
>>
>> Ana
>>
>>
>> On Tue, 04 Jul 2006 18:12:56 +0100, J.delasHeras wrote
>>
>>> This is a bit off-topic, as it's purely R, I suppose...
>>>
>>> I am making figures containing 6 plots (MA plots, in this case), using:
>>>
>>> par(mfrow=c(2,3))
>>>
>>> now, I would like to add a title, for instance, to the whole figure,
>>> not to the individual plots... how does one do that? I can only seem
>>> to add text, title etc to each plot...
>>>
>>> thanks for any pointers!
>>>
>>> Jose
>>>
>>> --
>>> 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
>>> UK
>>>
>>> _______________________________________________
>>> Bioconductor mailing list
>>> Bioconductor at stat.math.ethz.ch
>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>> Search the archives:
>>
>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>
>>
>> --
>> IVIA (http://www.ivia.es)
>> Open WebMail Project (http://openwebmail.org)
>> Debian Project (http://www.debian.org)
>>
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
JimMcD> --
JimMcD> James W. MacDonald
JimMcD> University of Michigan
JimMcD> Affymetrix and cDNA Microarray Core
JimMcD> 1500 E Medical Center Drive
JimMcD> Ann Arbor MI 48109
JimMcD> 734-647-5623
JimMcD> **********************************************************
JimMcD> Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues.
More information about the Bioconductor
mailing list