[R] splot.screen: multiple plots
Romain François
francoisromain at free.fr
Thu Dec 30 14:01:50 CET 2004
You can also try ?layout to specify more complicated layout such as
______________
|___1___|__2___|
| |
|______ 3 ____ |
layout(matrix(c(1,3,2,3),nc=2),widths=c(50,50),heights=c(25,50))
and then use par(mar) to specify the margins of each plot.
Romain.
BXC (Bendix Carstensen) a écrit :
>You probably want to use something like
>
>par( mar=c(0,0,0,0), oma=c(3,3,2,3) )
>
>which will put all your plots next to each other with no space between
>them
>and with a reasonable margin outside ("oma").
>
>Take a print of the (rather long) help page for "par", and bring it with
>you
>wherever you go, so youcan study it in waiting lines, traffic jams,
>trains etc.
>It's boring to learn but useful to know all those weird arguments...
>
>best
>Bendix Carstensen
>----------------------
>Bendix Carstensen
>Senior Statistician
>Steno Diabetes Center
>Niels Steensens Vej 2
>DK-2820 Gentofte
>Denmark
>tel: +45 44 43 87 38
>mob: +45 30 75 87 38
>fax: +45 44 43 07 06
>bxc at steno.dk
>www.biostat.ku.dk/~bxc
>----------------------
>
>
>
>
>
>>-----Original Message-----
>>From: r-help-bounces at stat.math.ethz.ch
>>[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Anne G
>>Sent: Monday, December 27, 2004 11:55 AM
>>To: r-help at stat.math.ethz.ch
>>Subject: [R] splot.screen: multiple plots
>>
>>
>>I have multiple conditions that I would like to plot in a
>>grid. To save space, I don't need the ticks, labels etc on
>>the plots which are not on the outside.
>>
>>I tried split.screen, but if it is clearer to use, it seems
>>pretty rigid since it decides of each screen size apriori
>>while I need more space for the left column and top or bottom
>>row screens than for the other plots.
>>
>>axis(1,tick=FALSE) does not seem to do anything, asp=1 does
>>not seem to do anything either. par(pty="s") gave it a
>>somewhate square aspect, But there is a lot of empty space
>>which must have to do with margins, but setting the margins
>>did not seem to change anything.
>>
>>I think I have seen examples like mine in a book, but it
>>might have been a book on Splus. Do you know where I can
>>find an example of what I am looking for.
>>
>>thanks
>>Anne
>>----------------------------------------------------------
>>here is a simplified example with the same data for all
>>plots
>>
>>X<-c(1.00000 3.63168 6.44916 10.17572 20.47440)
>>Y<-c(0.26 0.56 0.80 0.92 0.88)
>>
>>numFreq<-7
>>numdist<-8
>>
>>coefind <- 1
>>quartz(display = "", width =15, height = 10, pointsize = 9,
>> family = "Helvetica", antialias = TRUE,
>>autorefresh = TRUE)
>>par(pty="s")
>>split.screen(c(numdist,numFreq))
>>
>>for (inddist in 1:numdist)
>> {
>> for (indFreq in 1:numFreq)
>> {
>> indscreen<- indFreq+(inddist-1)*numFreq
>>
>> screen(indscreen)
>># mar<-c(1,1,1,0)
>>
>> plot(X,Y,
>>log="x",col="red",xlim=c(1,100),ylim=c(0,1),lab=5, xlab="",
>>ylab="")
>> axis(1,tick=FALSE)
>> axis(2,tick=FALSE)
>>
>> if( inddist==1)
>> {
>> title(main=sprintf('Freq =
>>%d',indFreq));
>> }
>>
>> if( indFreq==1)
>> {
>> axis(2, tick=TRUE)
>> title(ylab=sprintf('dist =
>>%d',inddist));
>> }
>> if (inddist==8)
>> {
>> axis(1,tick=TRUE)
>> title(xlab="perc face")
>> }
>>
>> coefind <- coefind+1
>> }
>> }
>>close.screen(all = TRUE) # exit split-screen mode
>>
>>______________________________________________
>>
>>
--
Romain FRANCOIS : francoisromain at free.fr
page web : http://addictedtor.free.fr/ (en construction)
06 18 39 14 69 / 01 46 80 65 60
_______________________________________________________
Etudiant en 3eme année
Institut de Statistique de l'Université de Paris (ISUP)
Filière Industrie et Services
http://www.isup.cicrp.jussieu.fr/
More information about the R-help
mailing list