From 749128c0d1f5156923df5ca58a94786a5eb7ce3d Mon Sep 17 00:00:00 2001 From: mtennekes Date: Sun, 5 May 2024 21:51:11 +0200 Subject: [PATCH] done #873 --- NAMESPACE | 1 + R/sysdata.rda | Bin 6022 -> 6061 bytes R/tm_layers_raster.R | 5 +++-- R/tm_layers_rgb.R | 14 ++++++++++++-- R/tmapGridRaster.R | 3 ++- man/opt_tm_donuts.Rd | 18 ++++++++++++++++++ man/tm_raster.Rd | 9 +++++++-- man/tm_rgb.Rd | 5 ++++- 8 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 man/opt_tm_donuts.Rd diff --git a/NAMESPACE b/NAMESPACE index d0ffc6a9..c74fdad4 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -130,6 +130,7 @@ export(opt_tm_lines) export(opt_tm_markers) export(opt_tm_polygons) export(opt_tm_raster) +export(opt_tm_rgb) export(opt_tm_sf) export(opt_tm_squares) export(opt_tm_symbols) diff --git a/R/sysdata.rda b/R/sysdata.rda index 8786a2006e0fe39fb83ac7d20fdf6fea2f313eb4..36f7b106e8ee0b00e6bce5645f9fd436251effbe 100644 GIT binary patch delta 6053 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 delta 6014 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 diff --git a/R/tm_layers_raster.R b/R/tm_layers_raster.R index 764be215..e98006db 100644 --- a/R/tm_layers_raster.R +++ b/R/tm_layers_raster.R @@ -1,9 +1,10 @@ #' @rdname tm_raster #' @name opt_tm_raster +#' @param interpolate Should the raster image be interpolated? Currently only applicable in view mode (passed on to [`grid`][grid::rasterGrob()]) #' @export -opt_tm_raster = function() { +opt_tm_raster = function(interpolate = FALSE) { list(trans.args = list(), - mapping.args = list()) + mapping.args = list(interpolate = interpolate)) } diff --git a/R/tm_layers_rgb.R b/R/tm_layers_rgb.R index 6ecd62b1..89316711 100644 --- a/R/tm_layers_rgb.R +++ b/R/tm_layers_rgb.R @@ -1,12 +1,22 @@ +#' @rdname tm_raster +#' @name opt_tm_rgb +#' @export +opt_tm_rgb = function(interpolate = TRUE) { + list(trans.args = list(), + mapping.args = list(interpolate = interpolate)) +} + #' Map layer: RGB #' #' @param col,col.scale,col.legend,col.chart,col.free Visual variable that determines #' the col color. +#' @param options options passed on to the corresponding `opt_` function #' @export tm_rgb = function(col = tm_mv(1:3), col.scale = tm_scale_rgb(), col.legend = tm_legend(), col.chart = tm_chart_none(), - col.free = NA) { - do.call(tm_raster, args = list(col = col, col.scale = col.scale, col.legend = col.legend, col.chart = col.chart, col.free = col.free)) + col.free = NA, + options = opt_tm_rgb()) { + do.call(tm_raster, args = list(col = col, col.scale = col.scale, col.legend = col.legend, col.chart = col.chart, col.free = col.free, options = options)) } diff --git a/R/tmapGridRaster.R b/R/tmapGridRaster.R index 14aded3a..de980dff 100644 --- a/R/tmapGridRaster.R +++ b/R/tmapGridRaster.R @@ -1,4 +1,5 @@ tmapGridRaster <- function(shpTM, dt, gp, bbx, facet_row, facet_col, facet_page, id, pane, group, o, ...) { + args = list(...) gts = get("gts", .TMAP_GRID) #bbx = get("bbx", .TMAP_GRID) @@ -70,7 +71,7 @@ tmapGridRaster <- function(shpTM, dt, gp, bbx, facet_row, facet_col, facet_page, } m[is.na(m)] = NA #"#0000FF" - grb = grid::rasterGrob(m, x=cx, y=cy, width=width, height=height, interpolate = FALSE, name = paste0("raster_", id)) #gpl$raster.misc$interpolate + grb = grid::rasterGrob(m, x=cx, y=cy, width=width, height=height, interpolate = args$interpolate, name = paste0("raster_", id)) #gpl$raster.misc$interpolate gt = grid::addGrob(gts[[facet_page]], grb, gPath = grid::gPath(paste0("gt_facet_", rc_text))) gts[[facet_page]] = gt assign("gts", gts, envir = .TMAP_GRID) diff --git a/man/opt_tm_donuts.Rd b/man/opt_tm_donuts.Rd new file mode 100644 index 00000000..e710a48a --- /dev/null +++ b/man/opt_tm_donuts.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/tm_layer_donuts.R +\name{opt_tm_donuts} +\alias{opt_tm_donuts} +\title{Options for tm_donuts} +\usage{ +opt_tm_donuts() +} +\arguments{ +\item{type}{cartogram type, one of: "cont" for contiguous cartogram, "ncont" for non-contiguous cartogram and "dorling" for Dorling cartograms} + +\item{itermax, }{maximum number of iterations (see \code{\link[cartogram:cartogram_cont]{cartogram::cartogram_cont()}})} + +\item{...}{arguments passed on to \code{\link[cartogram:cartogram_cont]{cartogram::cartogram_cont()}}} +} +\description{ +Options for tm_donuts +} diff --git a/man/tm_raster.Rd b/man/tm_raster.Rd index 625f24dc..80782f18 100644 --- a/man/tm_raster.Rd +++ b/man/tm_raster.Rd @@ -1,11 +1,12 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/tm_layers_raster.R +% Please edit documentation in R/tm_layers_raster.R, R/tm_layers_rgb.R \name{opt_tm_raster} \alias{opt_tm_raster} \alias{tm_raster} +\alias{opt_tm_rgb} \title{Map layer: raster} \usage{ -opt_tm_raster() +opt_tm_raster(interpolate = FALSE) tm_raster( col = tm_shape_vars(), @@ -24,8 +25,12 @@ tm_raster( options = opt_tm_raster(), ... ) + +opt_tm_rgb(interpolate = TRUE) } \arguments{ +\item{interpolate}{Should the raster image be interpolated? Currently only applicable in view mode (passed on to \code{\link[grid:grid.raster]{grid}})} + \item{col, col.scale, col.legend, col.chart, col.free}{Visual variable that determines the color. See details.} diff --git a/man/tm_rgb.Rd b/man/tm_rgb.Rd index 21c0d6ba..16fb7bb8 100644 --- a/man/tm_rgb.Rd +++ b/man/tm_rgb.Rd @@ -9,12 +9,15 @@ tm_rgb( col.scale = tm_scale_rgb(), col.legend = tm_legend(), col.chart = tm_chart_none(), - col.free = NA + col.free = NA, + options = opt_tm_rgb() ) } \arguments{ \item{col, col.scale, col.legend, col.chart, col.free}{Visual variable that determines the col color.} + +\item{options}{options passed on to the corresponding \verb{opt_} function} } \description{ Map layer: RGB