[BioC] OT: question about plots, general R, really...

J.delasHeras at ed.ac.uk J.delasHeras at ed.ac.uk
Wed Jul 5 16:52:40 CEST 2006


Thanks Ulrik, and everyone else...

it turns out I was forgetting to specify "outer=TRUE" on 'mtext'
doh!

It works perfectly now :-)

Jose


Quoting Ulrik Stervbo <ulriks at ruc.dk>:

> This should work...
>
> # save defaults for resetting
> def.par <- par(no.readonly = TRUE)
> # Set the layout
> par(mfrow=c(2,3))
> # Set the size of the outer margin
> par(oma=c(0,0,2,0))
> # Add a title to the top of the outer margin, using a bolf-face font
> # Margin text is by default set to the side 3, which is the top, 1 = bottom,
> 2 = left, 4 = right
> mtext("A nice title", outer = TRUE, font=2)
> # do all the plotting
> #
> # reset to default par
> par(def.par)
>
> On 7/5/06, J.delasHeras at ed.ac.uk <J.delasHeras at ed.ac.uk> wrote:
>>
>>
>> Hi Ulrik,
>>
>> thanks for your reply.
>>
>> I haven't managed to make it work the way you describe, unfortunately.
>> It seems to affect only the last plot, not the whole figure... I guess
>> I need to investigate this further. If you can send me the example that
>> worked for you I'd appreciate that, as it may help me find out why it
>> doesn't work for me.
>> The link about Rgraphics is quite good, thanks for that!
>>
>> Just for teh record, this is one example of the plots I would like to
>> add text to:
>>
>> par(mfrow=c(2,3))
>> for (i in 1:3) {
>> plot(log2(RG$Rb[,i]),log2(RG$R[,i]),pch=".")
>> abline(0,1,col="blue")}
>> for (i in 1:3) {
>> plot(log2(RG$Gb[,i]),log2(RG$G[,i]),pch=".")
>> abline(0,1,col="blue")}
>>
>> so that gives me 6 plots in the same figure. I want to be able to add a
>> title to the whole figure... or maybe add other text here and there...
>> using the whole figure, not the individual plots.
>>
>> Thanks for your help!
>>
>> Jose
>>
>>
>>
>> Quoting Ulrik Stervbo <ulriks at ruc.dk>:
>>
>> > I can't remember syntax exactly, but using the omi argument to par to
>> > set the top outer margin and then mtext, to set some margin text,
>> > works very well
>> >
>> > something like
>> > par(omi=c(0,0,0.1,0)) # omi is for inches, oma (usage oma=c(0,0,3,0))
>> > is for lines
>> > mtext(label="Something")
>> >
>> > Maybe this link will help you:
>> > http://www.stat.auckland.ac.nz/~paul/Talks/Rgraphics.pdf
>> >
>> > I have a working solution on my home computer I can share if needed
>> >
>> > Ulrik
>> >
>> > On 7/4/06, James W. MacDonald <jmacdon at med.umich.edu> wrote:
>> >> 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")
>> >>
>> >> The only problem with this solution is finding where to put things. An
>> >> alternative is to use
>> >>
>> >>  > text(locator(1), "A header string") and then place it where you
>> want.
>> >>
>> >> HTH,
>> >>
>> >> Jim
>> >>
>> >>
>> >> 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
>> >>
>> >>
>> >> --
>> >> James W. MacDonald
>> >> University of Michigan
>> >> Affymetrix and cDNA Microarray Core
>> >> 1500 E Medical Center Drive
>> >> Ann Arbor MI 48109
>> >> 734-647-5623
>> >>
>> >>
>> >>
>> >> **********************************************************
>> >> Electronic Mail is not secure, may not be read every day, and should
>> >> not be used for urgent or sensitive issues.
>> >>
>> >> _______________________________________________
>> >> 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
>> >>
>> >
>> >
>> > --
>> > Blog: http://ulrikstervbo.blogspot.com
>> > Mailing-list: http://www.coollist.com/group.cgi?l=ulrik_i_berlin
>> >
>> > _______________________________________________
>> > 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
>> >
>>
>>
>>
>> --
>> 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
>>
>>
>
>
> -- 
> Blog: http://ulrikstervbo.blogspot.com
> Mailing-list: http://www.coollist.com/group.cgi?l=ulrik_i_berlin
>



-- 
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



More information about the Bioconductor mailing list