mf_svg: Export a map in SVG format

View source: R/mf_svg.R

mf_svgR Documentation

Export a map in SVG format

Description

Export a map with the extent of a spatial object in SVG format.

SVG export is the perfect solution for editing maps with desktop vector graphics software. SVG is a vector graphics file format.

If width is specified, then height is deduced from the width/height ratio of x. Alternatively, if height is specified, then width is deduced from the width/height ratio of x. This helps to produce maps without too much wasted space.

Use dev.off to finish the export (see Examples).

Usage

mf_svg(
  x,
  filename = "map.svg",
  width,
  height,
  expandBB = rep(0, 4),
  svglite = TRUE,
  ...
)

Arguments

x

object of class sf, sfc or SpatRaster

filename

path to the exported file

width

width of the figure (inches)

height

height of the figure (inches)

expandBB

fractional values to expand the bounding box with, in each direction (bottom, left, top, right)

svglite

if TRUE, the export is done with the svglite package if it is installed (see Details)

...

further parameters

Details

The default driver for building SVG files, grDevices::svg(), has limitations regarding speed, file size, editability, and font support. The svglite package aims to solve these issues but it is not lightweight in terms of dependencies, so it is not imported by mapsf, but rather suggested.

However, we strongly recommend its use if the aim is to edit the maps after export.

Value

No return value, an SVG device is initiated.

Examples

mtq <- mf_get_mtq()
(filename <- tempfile(fileext = ".svg"))
mf_svg(mtq, filename = filename)
mf_map(mtq)
mf_title()
dev.off()

riatelab/mapsf documentation built on June 9, 2025, 10:07 p.m.