vignettes/web_only/how_to_export_maps.Rmd
how_to_export_maps.Rmd
mf_export()
exports maps in PNG or SVG formats.
The exported map width/height ratio will match the one of a spatial object.
If width
is specified, then height
is deduced from the width/height ratio of x
, figure margins and title size.
If height
is specified, then width
is deduced from the width/height ratio of x
, figure margins and title size.
Additionally, mf_export()
can be used to set a theme, to extend the map space on one or several side of the figure, or to center a map on a specific area.
In this example we only set the width
of the exported figure.
library(mapsf)
mtq <- mf_get_mtq()
mf_export(x = mtq, filename = "fixed_width.png", width = 500)
mf_map(mtq, add = TRUE)
mf_title(txt = "PNG export: width=500px, height=605px (deduced)")
dev.off()
Note that we have to set add = TRUE
to the first layer plotted. Internally, mf_export()
start a device (PNG or SVG) with a specific dimension (figure size) and extent (x
extent).
In this example we use the “dark” theme.
mf_export(x = mtq, filename = "fixed_width_theme.png",
width = 500, theme = "dark")
mf_map(mtq, add = TRUE)
mf_title(txt = "PNG export: width=500px, height=611px (deduced)")
dev.off()
Here we have added some space on the right side of the plot (50% of x
width).
mf_export(x = mtq, filename = "fixed_width_expand.png",
width = 500, expandBB = c(0,0,0,.5), theme = "default")
mf_map(mtq, add = TRUE)
mf_title(txt = "PNG export: width=500px, height=427px (deduced)")
dev.off()
In this export, the map is focused on a specific spatial object. height
is fixed and width
is deduced.
target <- mtq[5,]
mf_export(x = target, filename = "fixed_height_centered.png", height = 600)
mf_map(mtq, add = TRUE)
mf_shadow(target, add = TRUE)
mf_map(target, add = TRUE)
mf_title(txt = "PNG export: height=600px, width=433px (deduced)")
mf_scale(1, pos = "bottomleft")
dev.off()
mf_export()
can produce SVG figures (with export = "svg"
) and use other parameters of png()
or svg()
functions (e.g. res
, bg
or family
).
mf_export(x = mtq, export = "svg", filename = "fixed_width.svg",
width = 5, theme = "nevermind", bg = "black")
#> "export" is deprecated.
mf_map(mtq, add = TRUE)
mf_title(txt = "SVG export: bg = 'black'")
dev.off()
If a theme is set before an mf_export()
call, the theme is applied to the export.
mf_theme('agolalight')
mf_export(x = mtq, filename = "theme_before.png", width = 200)
mf_map(mtq, add = TRUE)
mf_title(txt = "agolalight")
dev.off()
If a theme is set before or within an mf_export()
call, the theme is also applied after the export.
mf_export(x = mtq, filename = "theme_within.png", width = 200,
theme = "darkula")
mf_map(mtq, add = TRUE)
mf_title(txt = "darkula")
dev.off()
#> png
#> 2
mf_map(mtq)
mf_title("Still 'darkula'")
If a theme is set between an mf_export()
call and dev.off()
, the theme is not applied correctly.