From 598537f5a756823ec9a6f67ffe04931bf4f1cd9a Mon Sep 17 00:00:00 2001 From: nperez Date: Tue, 15 Jun 2021 17:48:03 +0200 Subject: [PATCH 1/3] degree_sym added to PlotEquiMap --- R/PlotEquiMap.R | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/R/PlotEquiMap.R b/R/PlotEquiMap.R index 9c78873..8d76f8c 100644 --- a/R/PlotEquiMap.R +++ b/R/PlotEquiMap.R @@ -125,6 +125,7 @@ #'@param lab_dist_y A numeric of the distance of the latitude labels to the #' box borders. The default value is NULL and is automatically adjusted by #' the function. +#'@param degree_sym A logical indicating whether to include degree symbol (30° N) or not (30N; default). #'@param intylat Interval between latitude ticks on y-axis, in degrees. #' Defaults to 20. #'@param intxlon Interval between latitude ticks on x-axis, in degrees. @@ -237,7 +238,7 @@ PlotEquiMap <- function(var, lon, lat, varu = NULL, varv = NULL, arr_ref_len = 15, arr_units = "m/s", arr_scale_shaft = 1, arr_scale_shaft_angle = 1, axelab = TRUE, labW = FALSE, - lab_dist_x = NULL, lab_dist_y = NULL, + lab_dist_x = NULL, lab_dist_y = NULL, degree_sym = FALSE, intylat = 20, intxlon = 20, axes_tick_scale = 1, axes_label_scale = 1, drawleg = TRUE, subsampleg = NULL, @@ -708,20 +709,34 @@ PlotEquiMap <- function(var, lon, lat, varu = NULL, varv = NULL, ypos <- seq(latmin, latmax, intylat) xpos <- seq(lonmin, lonmax, intxlon) letters <- array('', length(ypos)) - letters[ypos < 0] <- 'S' - letters[ypos > 0] <- 'N' + if (degree_sym == FALSE) { + letters[ypos < 0] <- 'S' + letters[ypos > 0] <- 'N' + } else { + letters[ypos < 0] <- '° S' + letters[ypos > 0] <- '° N' + } ylabs <- paste(as.character(abs(ypos)), letters, sep = '') letters <- array('', length(xpos)) if (labW) { xpos2 <- xpos xpos2[xpos2 > 180] <- 360 - xpos2[xpos2 > 180] } - letters[xpos < 0] <- 'W' - letters[xpos > 0] <- 'E' + if (degree_sym == FALSE) { + letters[xpos < 0] <- 'W' + letters[xpos > 0] <- 'E' + } else { + letters[xpos < 0] <- '° W' + letters[xpos > 0] <- '° E' + } if (labW) { letters[xpos == 0] <- ' ' letters[xpos == 180] <- ' ' - letters[xpos > 180] <- 'W' + if (degree_sum == FALSE) { + letters[xpos > 180] <- 'W' + } else { + letters[xpos > 180] <- '° W' + } xlabs <- paste(as.character(abs(xpos2)), letters, sep = '') } else { xlabs <- paste(as.character(abs(xpos)), letters, sep = '') -- GitLab From 31ebb83a085f6ca2664a3c3301c18d7e36eaae1e Mon Sep 17 00:00:00 2001 From: nperez Date: Wed, 16 Jun 2021 11:03:34 +0200 Subject: [PATCH 2/3] Fixed degree symbol format to be tested --- R/PlotEquiMap.R | 12 ++++++------ man/PlotEquiMap.Rd | 3 +++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/R/PlotEquiMap.R b/R/PlotEquiMap.R index 8d76f8c..8ddfa9c 100644 --- a/R/PlotEquiMap.R +++ b/R/PlotEquiMap.R @@ -713,8 +713,8 @@ PlotEquiMap <- function(var, lon, lat, varu = NULL, varv = NULL, letters[ypos < 0] <- 'S' letters[ypos > 0] <- 'N' } else { - letters[ypos < 0] <- '° S' - letters[ypos > 0] <- '° N' + letters[ypos < 0] <- paste(intToUtf8(176), 'S') + letters[ypos > 0] <- paste(intToUtf8(176), 'N') } ylabs <- paste(as.character(abs(ypos)), letters, sep = '') letters <- array('', length(xpos)) @@ -726,16 +726,16 @@ PlotEquiMap <- function(var, lon, lat, varu = NULL, varv = NULL, letters[xpos < 0] <- 'W' letters[xpos > 0] <- 'E' } else { - letters[xpos < 0] <- '° W' - letters[xpos > 0] <- '° E' + letters[xpos < 0] <- paste(intToUtf8(176), 'W') + letters[xpos > 0] <- paste(intToUtf8(176), 'E') } if (labW) { letters[xpos == 0] <- ' ' letters[xpos == 180] <- ' ' - if (degree_sum == FALSE) { + if (degree_sym == FALSE) { letters[xpos > 180] <- 'W' } else { - letters[xpos > 180] <- '° W' + letters[xpos > 180] <- paste(intToUtf8(176), 'W') } xlabs <- paste(as.character(abs(xpos2)), letters, sep = '') } else { diff --git a/man/PlotEquiMap.Rd b/man/PlotEquiMap.Rd index c025afd..b574904 100644 --- a/man/PlotEquiMap.Rd +++ b/man/PlotEquiMap.Rd @@ -47,6 +47,7 @@ PlotEquiMap( labW = FALSE, lab_dist_x = NULL, lab_dist_y = NULL, + degree_sym = FALSE, intylat = 20, intxlon = 20, axes_tick_scale = 1, @@ -229,6 +230,8 @@ the function.} box borders. The default value is NULL and is automatically adjusted by the function.} +\item{degree_sym}{A logical indicating whether to include degree symbol (30° N) or not (30N; default).} + \item{intylat}{Interval between latitude ticks on y-axis, in degrees. Defaults to 20.} -- GitLab From 87f01cf990b6254b7557f45413bdb9ce9a87b639 Mon Sep 17 00:00:00 2001 From: nperez Date: Wed, 16 Jun 2021 12:25:59 +0200 Subject: [PATCH 3/3] Add extra space in the right margin --- R/PlotEquiMap.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/PlotEquiMap.R b/R/PlotEquiMap.R index 8ddfa9c..f6a8538 100644 --- a/R/PlotEquiMap.R +++ b/R/PlotEquiMap.R @@ -701,6 +701,7 @@ PlotEquiMap <- function(var, lon, lat, varu = NULL, varv = NULL, margin_scale[1] <- margin_scale[1] - 1 } margins <- rep(0.4, 4) * margin_scale + margins[4] <- margins[4] + 1 cex_title <- 2 * title_scale cex_axes_labels <- 1.3 * axes_label_scale cex_axes_ticks <- -0.5 * axes_tick_scale -- GitLab