I often want to get a graphics window that is the same size as one that I 
resized by hand
(because it was quicker than setting the width and height directly in dev.new)
and have sometimes resorted to using a ruler on my screen or just resize 
matching.

I came up with the following function that does what I want

dev.clone <- function(){
        if(is.null(dev.list())) stop("No active graphics window!")
        dev.size() |> 
                as.list() |> 
                        setNames(c("width", 'height')) |> 
                                do.call(dev.new, args = _ ) 
        invisible(dev.size())
}

I thought that I might be able to leverage the new %||% operator but
wasn't able to get the logic to work out as I wanted.  

I haven't found another function to do this.  dev.copy doesn't keep
the dimensions of the previous plot, but maybe there is a more
concise and direct way to achieve this that has escaped me.  
If anyone knows?

Thanks.

best,

Ken
     
  
 R version 4.4.1 Patched (2024-06-15 r86749)
Platform: x86_64-apple-darwin20
Running under: macOS Monterey 12.7.6

Matrix products: default
BLAS:   
/Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib
 
LAPACK: 
/Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib;
  LAPACK version 3.12.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Europe/Paris
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_4.4.1 tools_4.4.1   

  ___
  Kenneth Knoblauch
 Inserm U1208
 Stem-cell and Brain Research Institute
 18 avenue du Doyen Lépine
 69500 Bron
 France
 tel: +33 (0)4 72 91 34 77
 fax: +33 (0)4 72 91 34 61
 portable: +33 (0)6 84 10 64 10
 https://sbri.fr/public-profile/63/single-member/
    
______________________________________________
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