Changes in version 1.2.1 (2026-05-29) Fix - allow custom legend position for "prop_typo" type (#93) - use a seed to fix the vertical position of points in mf_distr() Feat - add "add", "extent" and "expandBB" args to mf_label() Changes in version 1.2.0 (2026-05-05) Fix - add minimal version for maplegend in DESCRIPTION (#89) - remove unused leg_border arg in mf_map() - remove unused args pch_na and cex_na from "typo" and "choro" map types - use theme palette for types classes and continuous in mf_raster() - implement leg_val_rnd, leg_val_dec and leg_val_big for grad type - allow only one value for proportional symbols border color - allow only one pch and cex in "typo" for points. - better default for "grad" decimal precision in legend - test double arguments for "prop_choro", "prop_typo", "symb_choro" types - test for polygons in mf_shadow(), document default color - update mf_legend(), add val_dec et val_big (#92) Feat - add "bg" and "extent" to mf_map(), mf_shadow() and mf_graticule() to modify background color and use an extent to define the plot extent (#90) - add "bg" in mf_raster() to modify background color - add points and lines layers in the sample dataset, modify mf_get_mtq() to load these layers, update documentation accordingly - add mf_logo() to add images (PNG or JPEG) on the map - add mf_text() to display texts on maps - add a max_val arg to mf_legend() to use a maximum value to set the symbol size - use better legends for "prop_typo" and "prop_choro" maps - use better legends for "choro" maps on lines and on points - add the possibility to display break values along the statistical distribution in mf_distr() - add "main", "ylab" and "yaxt" to mf_distr() for changing title, y labels and y axis Docs - general improvement of the documentation - help pages for each map types have been added Deprecation - mapsf-deprecated help page has been added. - direct calls to mf_base(), mf_choro(), mf_grad(), mf_init(), mf_prop*(), mf_symb*(), mf_typo() - mf_export() - mf_annotation() - double legends for "prop_choro", "prop_typo", "symb_choro" types - old arguments and themes of mf_themes() Changes in version 1.1.0 (2026-01-10) Fix - better adaptation to lon/lat plots - use a different heuristic to guess if the current plot is lon/lat in mf_scale() - use correct plot limits in mf_raster() Feat - add "res" argument to mf_png() to set nominal resolution - add "leg_val_dec" & "leg_val_big" to set decimal and big mark values in relevent functions (those already using "leg_val_rnd") Docs - new website (using pkgdown) Changes in version 1.0.0 (2025-07-01) This is the first major version of mapsf. Feat - a new theming system has been introduced, leading to new default values and a new default map style. "bg", "fg", "tab", "pos", "inner", "line", "cex" and "font" are now deprecated arguments - redraw map elements when resizing device, leading to a better display of maps in positron and rstudio graphics devices - add a "center" position to mf_annotation(), no arrow displayed when used - add "adj" argument to mf_scale() to adjust the scale bar - default values for mf_scale() are "prettier" - add alpha (transparency) for all map types in mf_map() and mf_raster() - mf_get_pal() gains the ability to create diverging colors palettes based on a vector of break values - add a new "banner" argument in mf_title() - add a mf_frame() function to add a frame around the map or the figure - add mf_png() and mf_svg() functions to export maps in PNG and SVG Breaking changes - removed deprecated functions: mf_legend_*() functions - removed deprecated arguments: adjust in mf_arrow(); theme and export in mf_export(); theme in mf_init(); pt_pch, pt_cex, pt_pch_na, pt_cex_na in mf_legend(); unit in mf_scale() - in mf_background(), ellipsis (...) is now ignored, no further parameters from graphics::rasterImage() can be passed - in mf_base() (and mf_map(type="base")), the "bg" argument is removed - in mf_base() (and mf_map(type="base")), 21:25 points symbols uses "col" and "border" for fill and contour colors instead of "bg" and "col" - in mf_base() (and mf_map(type="base")), ellipsis (...) is ignored, no further parameters from sf::plot() can be passed - in mf_get_ratio(), the "res" argument has been removed Docs - update the cheat sheet - update vignettes - new website (using altdoc) Changes in version 0.12.0 (2024-10-22) Fix - use 1/4 of line for typical offset space (title, credits, scale bar, north arrow etc.) (#74) - change text adj to allow multiple lines titles in mf_title() - make mf_inset_*() work on split windows (#77) - add a message when values are outside class limits for type="choro" Feat - add cex and adj args to mf_arrow(), better arrow shape, better real north adjustemnent - add mf_get_pencil() function to create a pencil layer from a polygon layer - add "Q6" and "ckmeans" classification methods to mf_get_breaks() - add mf_get_borders() to extract borders from contiguous polygons Changes in version 0.11.0 (2024-07-29) Fix - better management of label display in mf_graticule(), fix #73 Changes in version 0.10.1 (2024-05-06) Fix - revert previous remove "export" and "theme" args from mf_export() to accommodate dependencies - revert previous remove "theme" from mf_init() to accommodate dependencies Changes in version 0.10.0 Fix - allow to plot non overlapping labels from a layer made of strictly overlapping features with mf_label() (#65) - fully display mf_raster() legends after a terra::plot() call (#67) - remove "export" and "theme" args from mf_export() - remove "theme" from mf_init() Feat - improved and cleaner documentation for mf_map() (#62) Changes in version 0.9.0 (2024-01-26) Fix - add the possibility to use a scale bar in (US) maps using feet based CRS (#59) - deprecate unit argument in mf_scale() - remove wrong ellipsis propagation in mf_label() - better environment management in mf_legend() to allow usage inside a function (#58) - fix raster legends (using type arg, see feat.) (#60) Feat - add "interval", "continuous" and "classes" types with matching legends in mf_raster() (#60) - mf_raster() invisibly returns the initial raster Changes in version 0.8.0 (2023-11-21) Fix - raise an error and display an informative message if no points are plotted when type = "prop*" Feat - add mf_distr(), a function to display a statistical distribution with histogram, boxplot, stripchart and density curve - add a lot of legend related args (leg_frame_border, leg_horiz, leg_adj, leg_bg, leg_fg, leg_size, leg_border, leg_box_border, leg_box_cex) - double legends (prop_choro, prop_typo, etc.) are stacked by default - add legends for raster - deprecate all mf_legend_*() functions - add rev arg for function using pal to reverse named palettes - add a q arg in mf_label() to select the quality of the non overlapping placement Refactor - use the maplegend pkg for legends (this change may introduce minor breaking changes) - use s2 instead of overcomplicated sf code for othographic proj in mf_worldmap() - use R base instead of C++ in mf_label() non overalapping placement Changes in version 0.7.1 (2023-09-05) Fix - fix bug in color assignment in "choro", "prop_choro" and "symb_choro" maps when supplying "incomplete" breaks (#56) Changes in version 0.7.0 (2023-07-06) Fix - use a vector of colors for lines if necessary in mf_label() (#50) - enable pipe without side effects (no extra plot) - use a default transparent background for insets - deprecate "theme" arg in relevant function, adapt docs and vignettes, use options() for themes instead of global variable & mimic the behaviour of basetheme package - force the use of cairo device, if available, in mf_export() for png - fix wrong class allocation when using breaks = "jenks" (#53) - exports using unprojected objects do not produce figures with inaccurate height/width ratio anymore. Feat - add expandBB arg in mf_map() - add expandBB arg in mf_raster() - add arg checking depending on type in mf_map() - add an error message for functions that need a pre-existing plot - add mf_graticule() to add graticule lines and labels - set internally the "add" arg for each map types in mf_map() Changes in version 0.6.1 (2022-12-12) Fix - add explicit support for sfg objects in mf_base(), mf_map(..., type = "base") Changes in version 0.6.0 Fix - use val_max in mf_prop() for LINES - add message when mf_export() is based on longlat obj - add a test for "x" class in mf_map() - enable proportional symbol plots for single points when using "prop", "prop_typo" & "prop_choro" maps; see #45 - fix a bug in color assignment when there is a mismatch between the number of classes and the size of the color palette - add an error for method "geom" in mf_get_breaks() when min(x) <= 0 - remove Inf values from x when using mf_get_breaks() - remove Inf values from x when using "prop", "prop_typo" & "prop_choro" maps - add informative message when NA, 0 & Inf values are removed when using "prop", "prop_typo" & "prop_choro" maps - add informative message when negative values are transformed to positive values when using "prop", "prop_typo" & "prop_choro" maps Feat - add "prop_typo"" maps for LINES objects - add mf_get_ratio() to get appropriate values for map width & height Changes in version 0.5.0 (2022-05-30) Fix - remove "export" arg for exports based on terra rasters - remove "bg"" arg in mf_map() - add "pch = 20" default to plot points with mf_base() - get sf back from Depends to Imports - remove s2 related message for recent version of sf in mf_worldmap() Feat - add "interactive" position for legends, north arrow, scale bar, annotation - add self-adjusted rounded values for proportional circles legends Changes in version 0.4.0 (2022-01-03) Fix - allow the display of raster with >=2 bands (not only exactly 3) - avoid mf_map(..., type="symb") failing when there is only one modality - make mf_export() aware of the export format with the filename extension only (+ deprecate "export"" arg) - add a default maximum to maxcell arg for raster display in mf_raster() - change smooth defaults in mf_raster(), TRUE if nlyr>=2, FALSE otherwise Feat - add a web only vignette on faceted maps - add a web only vignette on custom fonts - add a cheat sheet - add parameters to customize worldmaps (land and ocean colors and borders) - add informatives messages concerning mf_map() input (checking type and variable names) Changes in version 0.3.0 (2021-09-24) Fix - add support for native pipe - suppress messages that appear when s2 use is switched with mf_worldmap() - replace raster by terra in all things raster Feat - add a web only vignette on insets - add a web only vignette on themes - add mf_background(), a function to plot a background image for map - add support for raster in mf_export() and mf_init() Changes in version 0.2.0 (2021-04-29) Fix - change default value for interpolate and display without extra margins in mf_raster() - increase minimal R version to 3.6.0 to use hcl.colors() - adjust the largest symbol size in mf_map(..., "prop*") - remove frame around insets - remove LazyData from DESCRIPTION - use sf "on the fly" projection for unprojected sf objects - better display of titles and maps (tiny extra space around maps) - add explicit default value for "add" arg in mapping functions - allow to plot (coherent) GEOMETRYCOLLECTIONS - better default for POINT and LINES in mf_map(..., type = "base") - fix mf_worldmap() by bypassing s2 use Feat - Added a NEWS.md file to track changes to the package. - split mf_init() to mf_init() and mf_export() - allow width AND height set in mf_export() - allow raster as input in mf_init() and mf_export() - allow to change existent theme settings directrly in mf_theme() - make mf_theme() return the current theme - add default value for txt, add bg arg (for background) in mf_credits() - add coordinates positioning for maps with 2 legends - add alpha arg for transparency in mapping functions using "pal" - change the default theme value to a theme with only tiny margins - a web only vignette on map export - allow hcl.colors palette names use in mf_legend*() functions