[R-sig-Geo] layout and plot.stars
Roger@B|v@nd @end|ng |rom nhh@no
Tue Mar 15 11:27:10 CET 2022
On Tue, 15 Mar 2022, Patrick Giraudoux wrote:
> I have a trouble with the combination of layout and plot.stars. e.g.
> nf <- layout(matrix(c(1,2),2,1,byrow = TRUE), c(3,3), c(3,1), TRUE)
You have already noticed that sf and stars, like raster and terra, modify
the assumptions of base plot methods, as graphics::filled.contour(),
unless some ordering and argument conditions are met, crucially the
non-base reset= argument. I do not think that you can use layout() at all.
nc <- st_read(system.file("gpkg/nc.gpkg", package="sf"))
bir74_rast <- st_rasterize(nc["BIR74"])
g <- grid.grab()
gv <- grid.grab()
gridExtra::grid.arrange(g, gv, ncol=2)
Grabbing the base graphics device state lets you use
gridExtra::grid.arrange() to place multiple graphics objects; here I
haven't tried to constrain aspect or relative sizes. I don't think that
the plot methods in sf and stars play well with layout, because they use
it themselves internally.
Hope this helps,
> I expect that the first two plots display in region #1, the second added
> to the first, and the third plot in region #2. However, this is not what
> happens: actually, the third plot displays in region 1 erasing the
> others. I understand that plot.stars when not "added" does not respect
> the layout definition (and displays its own regions), and that my
> problem comes from the way plot.stars deals with that.
> Has anyone an idea about a workaround ?
> R-sig-Geo mailing list
> R-sig-Geo using r-project.org
Department of Economics, Norwegian School of Economics,
Postboks 3490 Ytre Sandviken, 5045 Bergen, Norway.
e-mail: Roger.Bivand using nhh.no
More information about the R-sig-Geo