Thanks, Peter.  
I did the following: restart R and run the same code with and without a minimal system pause (Sys.sleep) after the line that adds the device to the GTK window.
Adding a pause will make it work, though I do not understand what is happening here. Note the different settings of par("din").
This is probably not the expected behavior, I guess.
Any ideas why this is the case? It seems as if "din" is not adjusted on time? Might that be?


> library(RGtk2)
> library(cairoDevice)
> 
> win = gtkWindow()
> da = gtkDrawingArea()
> asCairoDevice(da) 
[1] TRUE
> win$add(da)          
> plot(1:10)           
Fehler in plot.new() : Grafikr舅der zu groﾟ
> par(c("din", "mai"))
$din
[1] 0.01388889 0.01388889

$mai
[1] 0.7791667 0.6263889 0.6263889 0.3208333

     
> win = gtkWindow()
> da = gtkDrawingArea()
> asCairoDevice(da) 
[1] TRUE
> win$add(da)          
> Sys.sleep(.1) 
> plot(1:10)    
> par(c("din", "mai"))   
$din
[1] 2.777778 2.777778

$mai
[1] 0.7791667 0.6263889 0.6263889 0.3208333


Thanks in advance
--- Mark


Am 09.03.2012 um 00:01 schrieb peter dalgaard:

> 
> On Mar 8, 2012, at 23:25 , Mark Heckmann wrote:
> 
>> Peter, thanks for the answer!
>> Indeed, it does work if I set par(mar=c(0,0,0,0)) but not when it is set to the default values mar=c(5.1, 4.1, 4.1, 2.1).
>> The par settings returned in the example are the defaults, so no extraordinary big mar settings or char size (see below).
>> Also, it does not matter what size the drawing area is set to (e.g. 1000x 1000). The error always occurs.
>> Any idea?
>> 
> 
> The other parameters...
> 
> What about "din" and "mai"? The margin problem usually means that the sum of the relevant margins is bigger than the device size. E.g.
> 
>> quartz()
>> par(mai=rep(4,4))
>> plot(0)
> Error in plot.new() : figure margins too large
> 
> 
> 
>> examples:
>> 
>>> win = gtkWindow()
>>> da = gtkDrawingArea()
>>> win$add(da)
>>> asCairoDevice(da)
>> [1] TRUE
>>> par(c("mar", "cra", "oma"))
>> $mar
>> [1] 5.1 4.1 4.1 2.1
>> 
>> $cra
>> [1]  7 11
>> 
>> $oma
>> [1] 0 0 0 0
>> 
>>> plot(1:10)   
>> Fehler in plot.new() : Grafikr舅der zu groﾟ  ###ERROR###
>> 
>> Thanks 
>> Mark
>> 
>> 
>> Am 08.03.2012 um 22:48 schrieb peter dalgaard:
>> 
>>> 
>>> On Mar 8, 2012, at 20:27 , Mark Heckmann wrote:
>>> 
>>>> When using a gtkDrawingArea as a Cairo device I very often encounter the error: "figure margins too large" 
>>>> Even for the below "getting started" example from http://www.ggobi.org/rgtk2/ this is the case.
>>>> 
>>>>> win = gtkWindow()
>>>>> da = gtkDrawingArea()
>>>>> win$add(da)
>>>>> asCairoDevice(da)
>>>> [1] TRUE
>>>>> plot(1:10)   
>>>> Fehler in plot.new() : Grafikr舅der zu groﾟ
>>>>> 
>>>> 
>>>> Also enlarging the drawing area does not help.
>>>> 
>>>>> win = gtkWindow()
>>>>> da = gtkDrawingArea()
>>>>> win$add(da)
>>>>> asCairoDevice(da)
>>>> [1] TRUE
>>>>> da$setSizeRequest(700, 700)
>>>>> plot(1:10)   
>>>> Fehler in plot.new() : Grafikr舅der zu groﾟ
>>>> 
>>>> Any ideas?
>>> 
>>> I'd check the par() settings for the device. Especially mar/mai and cra/cin to see whether margins are set unusually large and/or character sizes are unusually big, but check help(par) yourself. 
>>> 
>>> -- 
>>> Peter Dalgaard, Professor,
>>> Center for Statistics, Copenhagen Business School
>>> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
>>> Phone: (+45)38153501
>>> Email: pd.mes@cbs.dk  Priv: PDalgd@gmail.com
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
>> 末末末末末末末末末末末末末末末末末末
>> Mark Heckmann
>> Blog: www.markheckmann.de
>> R-Blog: http://ryouready.wordpress.com
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
> 
> -- 
> Peter Dalgaard, Professor,
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Email: pd.mes@cbs.dk  Priv: PDalgd@gmail.com
> 
> 
> 
> 
> 
> 
> 
> 

末末末末末末末末末末末末末末末末末末
Mark Heckmann
Blog: www.markheckmann.de
R-Blog: http://ryouready.wordpress.com











	[[alternative HTML version deleted]]

