Thanks for the reply.

It works fine for a single plot-call.
But as soon as I call layout() before plotting I again run into the problem 
that plots are not drawn into one graphic device but another one is opened for 
the second plot-call.


see here;


setHook("plot.new", function() 
        par(bty='n', 
                cex=0.8,
                las=1, 
                ann=F, 
                lwd=2, 
                mar=c(5, 4, 2, 1), 
                oma=c(0,0,0,0), 
                pch=19, 
                xpd=T, 
                cex.axis=0.85, 
                mgp=c(2.5, 0.72, 0),
                tcl=-0.4
                )
)


layout(matrix(1:2, 1, 2, byrow=T))

plot(c(1,2,3))
plot(c(3,2,1))






On 20 Jul 2015, at 17:48 , Duncan Murdoch <murdoch.dun...@gmail.com> wrote:

> On 20/07/2015 11:27 AM, Martin Batholdy via R-help wrote:
>> Hi,
>> 
>> I am looking for a way to modify the basic setup for any kind of plot.
>> (everything that is set with the par function – like margins, cex, las etc.)
>> 
>> I want to do this once – preferably across R sessions and not individually 
>> before every plot.
>> 
>> 
>> My first attempt was to add a par() with all my own defaults to the 
>> .Rprofile file.
>> This obviously does not work because par opens a new drawing device, 
>> applying its effect only to this device.
>> 
>> My next attempt was to write my own version of all basic plot functions 
>> (like plot, barplot etc.) adding a par() call within these functions.
>> This works but only if I draw a single plot. As soon as I want to use mfrow 
>> or layout to draw multiple plots side by side into one device this version 
>> also does not work, since each of these functions will open a new drawing 
>> device by themselves.
>> 
>> 
>> So, my question is;
>> Is there any way to globally define parameters given to par() so that they 
>> apply to all plots in (at least) an entire R-session?
> 
> I haven't played with it, but setting a "plot.new" hook (or
> "before.plot.new") might do it for you.  See ?plot.new.
> 
> It might be tricky, because some par() parameters (e.g. "mfrow")
> shouldn't be called before every plot.  You'd have to look at
> par("mfrow") to decide whether to call it or not.
> 
> Duncan Murdoch

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to