From 8d2b098402a0f005de4223c205dddca2378dd7fc Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Mon, 6 Nov 2023 10:53:08 +0100 Subject: [PATCH 01/12] Add PlotScorecard scripts --- NAMESPACE | 3 + R/SCPlotScorecard.R | 444 +++++++++++++++++++++++++++++++++++++++++ R/Utils.R | 91 +++++++++ man/SCPlotScorecard.Rd | 134 +++++++++++++ 4 files changed, 672 insertions(+) create mode 100644 R/SCPlotScorecard.R create mode 100644 man/SCPlotScorecard.Rd diff --git a/NAMESPACE b/NAMESPACE index 1d3bbc6..b847537 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -12,12 +12,14 @@ export(PlotPDFsOLE) export(PlotRobinson) export(PlotTriangles4Categories) export(PlotWeeklyClim) +export(SCPlotScorecard) export(ShapeToMask) import(RColorBrewer) import(cowplot) import(easyNCDF) import(ggplot2) import(graphics) +import(kableExtra) import(maps) import(multiApply) import(rnaturalearth) @@ -62,5 +64,6 @@ importFrom(plyr,dlply) importFrom(reshape2,melt) importFrom(s2dv,InsertDim) importFrom(s2dv,MeanDims) +importFrom(s2dv,Reorder) importFrom(scales,date_format) importFrom(stats,cor) diff --git a/R/SCPlotScorecard.R b/R/SCPlotScorecard.R new file mode 100644 index 0000000..6d086df --- /dev/null +++ b/R/SCPlotScorecard.R @@ -0,0 +1,444 @@ +#'Scorecards function create simple scorecards by region (types 1 & 3) +#' +#'@description This function creates a scorecard for a single system and +#'reference combination, showing data by region and forecast month. +#' +#'@param data A multidimensional array containing spatially aggregated metrics +#' data with dimensions: metric, region, sdate and ftime. +#'@param row.dim A character string indicating the dimension name to show in the +#' rows of the plot. +#'@param subrow.dim A character string indicating the dimension name to show in +#' the sub-rows of the plot. +#'@param col.dim A character string indicating the dimension name to show in the +#' columns of the plot. +#'@param subcol.dim A character string indicating the dimension name to show in +#' the sub-columns of the plot. +#'@param legend.dim A character string indicating the dimension name to use for +#' the legend. +#'@param row.names A vector of character strings with row display names. +#'@param subrow.names A vector of character strings with sub-row display names. +#'@param col.names A vector of character strings with column display names. +#'@param subcol.names A vector of character strings with sub-column display +#' names. +#'@param row.title A character string for the title of the row names. +#'@param subrow.title A character string for the title of the sub-row names. +#'@param table.title A character string for the title of the plot. +#'@param table.subtitle A character string for the sub-title of the plot. +#'@param legend.breaks A vector of numerics or a list of vectors of numerics, +#' containing the breaks for the legends. If a vector is given as input, then +#' these breaks will be repeated for each legend.dim. A list of vectors can be +#' given as input if the legend.dims require different breaks. This parameter +#' is required even if the legend is not plotted, to define the colors in the +#' scorecard table. +#'@param plot.legend A logical value to determine if the legend is plotted. +#'@param legend.width A numeric value to define the width of the legend bars. +#'@param legend.height A numeric value to define the height of the legend bars. +#'@param palette A vector of character strings or a list of vectors of +#' character strings containing the colors to use in the legends. If a vector +#' is given as input, then these colors will be used for each legend.dim. A +#' list of vectors can be given as input if different colors are desired for +#' the legend.dims. This parameter must be included even if the the legend is +#' not plotted, to define the colors in the scorecard table. +#'@param colorunder A character string or of vector of character strings +#' defining the colors to use for data values with are inferior to the lowest +#' breaks value. This parameter will also plot a inferior triangle in the +#' legend bar. The parameter can be set to NULL if there are no inferior values. +#' If a character string is given this color will be applied to all legend.dims. +#'@param colorsup A character string or of vector of character strings +#' defining the colors to use for data values with are superior to the highest +#' breaks value. This parameter will also plot a inferior triangle in the +#' legend bar. The parameter can be set to NULL if there are no superior values. +#' If a character string is given this color will be applied to all legend.dims. +#'@param round.decimal A numeric indicating to which decimal point the data +#' is to be displayed in the scorecard table. +#'@param font.size A numeric indicating the font size on the scorecard table. +#'@param fileout A path of the location to save the scorecard plots. +#' +#'@return An image file containing the scorecard. +#'@examples +#'data <- array(rnorm(1000), dim = c('sdate' = 12, 'metric' = 4, 'region' = 3, +#' 'time' = 6)) +#'row.names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') +#'col.names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') +#'SCPlotScorecard(data = data, row.names = row.names, col.names = col.names, +#' subcol.names = month.abb[as.numeric(1:12)], +#' row.title = 'Region', subrow.title = 'Forecast Month', +#' col.title = 'Start date', +#' table.title = "Temperature of ECMWF System 5", +#' table.subtitle = "(Ref: ERA5 1994-2016)", +#' fileout = 'test.png') +#' +#'@import kableExtra +#'@importFrom s2dv Reorder +#'@importFrom ClimProjDiags Subset +#'@export +SCPlotScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', + col.dim = 'metric', subcol.dim = 'sdate', + legend.dim = 'metric', row.names = NULL, + subrow.names = NULL, col.names = NULL, + subcol.names = NULL, row.title = NULL, + subrow.title = NULL, col.title = NULL, + table.title = NULL, table.subtitle = NULL, + legend.breaks = NULL, plot.legend = TRUE, + label.scale = NULL, legend.width = NULL, + legend.height = NULL, palette = NULL, + colorunder = NULL, colorsup = NULL, + round.decimal = 2, font.size = 1.1, + legend.white.space = NULL, + col1.width = NULL, col2.width = NULL, + fileout = './scorecard.png') { + # Input parameter checks + ## Check data + if (!is.array(data)) { + stop("Parameter 'data' must be a numeric array.") + } + ## Check row.dim + if (!is.character(row.dim)) { + stop("Parameter 'row.dim' must be a character string.") + } + if (!row.dim %in% names(dim(data))) { + stop("Parameter 'row.dim' is not found in 'data' dimensions.") + } + ## Check row.names + if (!is.null(row.names)) { + if (length(row.names) != as.numeric(dim(data)[row.dim])) { + stop("Parameter 'row.names' must have the same length of dimension 'row.dims'.") + } + } else { + row.names <- as.character(1:dim(data)[row.dim]) + } + ## Check subrow.dim + if (!is.character(subrow.dim)) { + stop("Parameter 'subrow.dim' must be a character string.") + } + if (!subrow.dim %in% names(dim(data))) { + stop("Parameter 'subrow.dim' is not found in 'data' dimensions.") + } + ## Check subrow.names + if (!is.null(subrow.names)) { + if (length(subrow.names) != as.numeric(dim(data)[subrow.dim])) { + stop("Parameter 'subrow.names' must have the same length of dimension 'subrow.dims'.") + } + } else { + subrow.names <- as.character(1:dim(data)[subrow.dim]) + } + ## Check col.dim + if (!is.character(col.dim)) { + stop("Parameter 'col.dim' must be a character string.") + } + if (!col.dim %in% names(dim(data))) { + stop("Parameter 'col.dim' is not found in 'data' dimensions.") + } + ## Check col.names + if (!is.null(col.names)) { + if (length(col.names) != as.numeric(dim(data)[col.dim])) { + stop("Parameter 'col.names' must have the same length of dimension 'col.dims'.") + } + } else { + col.names <- as.character(1:dim(data)[col.dim]) + } + ## Check subcol.dim + if (!is.character(subcol.dim)) { + stop("Parameter 'subcol.dim' must be a character string.") + } + if (!subcol.dim %in% names(dim(data))) { + stop("Parameter 'subcol.dim' is not found in 'data' dimensions.") + } + ## Check subcol.names + if (!is.null(subcol.names)) { + if (length(subcol.names) != as.numeric(dim(data)[subcol.dim])) { + stop("Parameter 'subcol.names' must have the same length of dimension 'subcol.dims'.") + } + } else { + subcol.names <- as.character(1:dim(data)[subcol.dim]) + } + ## Check legend.dim + if (!is.character(legend.dim)) { + stop("Parameter 'legend.dim' must be a character string.") + } + if (!legend.dim %in% names(dim(data))) { + stop("Parameter 'legend.dim' is not found in 'data' dimensions.") + } + ## Check row.title inputs + if (!is.null(row.title)) { + if (!is.character(row.title)) { + stop("Parameter 'row.title must be a character string.") + } + } else { + row.title <- "" + } + ## Check subrow.title + if (!is.null(subrow.title)) { + if (!is.character(subrow.title)) { + stop("Parameter 'subrow.title must be a character string.") + } + } else { + subrow.title <- "" + } + ## Check col.title + if (!is.null(col.title)) { + if (!is.character(col.title)) { + stop("Parameter 'col.title must be a character string.") + } + } else { + col.title <- "" + } + ## Check table.title + if (!is.null(table.title)) { + if (!is.character(table.title)) { + stop("Parameter 'table.title' must be a character string.") + } + } else { + table.title <- "" + } + ## Check table.subtitle + if (!is.null(table.subtitle)) { + if (!is.character(table.subtitle)) { + stop("Parameter 'table.subtitle' must be a character string.") + } + } else { + table.subtitle <- "" + } + # Check legend.breaks + if (is.vector(legend.breaks) && is.numeric(legend.breaks)) { + legend.breaks <- rep(list(legend.breaks), as.numeric(dim(data)[legend.dim])) + } else if (is.null(legend.breaks)) { + legend.breaks <- rep(list(seq(-1, 1, 0.2)), as.numeric(dim(data)[legend.dim])) + } else if (inherits(legend.breaks, 'list')) { + stopifnot(length(legend.breaks) == as.numeric(dim(data)[legend.dim])) + } else { + stop("Parameter 'legend.breaks' must be a numeric vector, a list or NULL.") + } + ## Check plot.legend + if (!inherits(plot.legend, 'logical')) { + stop("Parameter 'plot.legend' must be a logical value.") + } + ## Check label.scale + if (is.null(label.scale)) { + label.scale <- 1.4 + } else { + if (!is.numeric(label.scale) | length(label.scale) != 1) { + stop("Parameter 'label.scale' must be a numeric value of length 1.") + } + } + ## Check legend.width + if (is.null(legend.width)) { + legend.width <- length(subcol.names) * 46.5 + } else { + if (!is.numeric(legend.width) | length(legend.width) != 1) { + stop("Parameter 'legend.width' must be a numeric value of length 1.") + } + } + if (is.null(legend.height)) { + legend.height <- 50 + } else { + if (!is.numeric(legend.height) | length(legend.height) != 1) { + stop("Parameter 'legend.height' must be a numeric value of length 1.") + } + } + ## Check colour palette input + if (is.vector(palette)) { + palette <- rep(list(palette), as.numeric(dim(data)[legend.dim])) + } else if (is.null(palette)) { + palette <- rep(list(c('#2D004B', '#542789', '#8073AC', '#B2ABD2', '#D8DAEB', + '#FEE0B6', '#FDB863', '#E08214', '#B35806', '#7F3B08')), + as.numeric(dim(data)[legend.dim])) + } else if (inherits(palette, 'list')) { + stopifnot(length(palette) == as.numeric(dim(data)[legend.dim])) + } else { + stop("Parameter 'palette' must be a numeric vector, a list or NULL.") + } + ## Check colorunder + if (is.null(colorunder)) { + colorunder <- rep("#04040E",as.numeric(dim(data)[legend.dim])) + } else if (is.character(colorunder) && length(colorunder) == 1) { + colorunder <- rep(colorunder, as.numeric(dim(data)[legend.dim])) + } else if (is.character(colorunder) && + length(colorunder) != as.numeric(dim(data)[legend.dim])) { + stop("Parameter 'colorunder' must be a numeric vector, a list or NULL.") + } + ## Check colorsup + if (is.null(colorsup)) { + colorsup <- rep("#730C04", as.numeric(dim(data)[legend.dim])) + } else if (is.character(colorsup) && length(colorsup) == 1) { + colorsup <- rep(colorsup,as.numeric(dim(data)[legend.dim])) + } else if (is.character(colorsup) && + length(colorsup) != as.numeric(dim(data)[legend.dim])) { + stop("Parameter 'colorsup' must be a numeric vector, a list or NULL.") + } + ## Check round.decimal + if (is.null(round.decimal)) { + round.decimal <- 2 + } else if (!is.numeric(round.decimal) | length(round.decimal) != 1) { + stop("Parameter 'round.decimal' must be a numeric value of length 1.") + } + ## Check font.size + if (is.null(font.size)) { + font.size <- 1 + } else if (!is.numeric(font.size) | length(font.size) != 1) { + stop("Parameter 'font.size' must be a numeric value of length 1.") + } + ## Check legend white space + if (is.null(legend.white.space)){ + legend.white.space <- 6 + } else { + legend.white.space <- legend.white.space + } + ## Check col1.width + if (is.null(col1.width)) { + if (max(nchar(row.names)) == 1 ) { + col1.width <- max(nchar(row.names)) + } else { + col1.width <- max(nchar(row.names))/4 + } + } else if (!is.numeric(col1.width)) { + stop("Parameter 'col1.width' must be a numeric value of length 1.") + } + ## Check col2.width + if (is.null(col2.width)) { + if (max(nchar(subrow.names)) == 1 ) { + col2.width <- max(nchar(subrow.names)) + } else { + col2.width <- max(nchar(subrow.names))/4 + } + } else if (!is.numeric(col2.width)) { + stop("Parameter 'col2.width' must be a numeric value of length 1.") + } + + + # Get dimensions of inputs + n.col.names <- length(col.names) + n.subcol.names <- length(subcol.names) + n.row.names <- length(row.names) + n.subrow.names <- length(subrow.names) + + # Define table size + n.rows <- n.row.names * n.subrow.names + n.columns <- 2 + (n.col.names * n.subcol.names) + + # Column names + row.names.table <- rep("", n.rows) + for (row in 1:n.row.names) { + row.names.table[floor(n.subrow.names/2) + (row - 1) * n.subrow.names] <- row.names[row] + } + + # Define scorecard table titles + column.titles <- c(row.title, subrow.title, rep(c(subcol.names), n.col.names)) + + # Round data + data <- round(data, round.decimal) + + # Define data inside the scorecards table + for (row in 1:n.row.names) { + table_temp <- data.frame(table_column_2 = as.character(subrow.names)) + for (col in 1:n.col.names) { + table_temp <- data.frame(table_temp, + s2dv::Reorder(data = ClimProjDiags::Subset(x = data, along = c(col.dim, row.dim), + indices = list(col, row), drop = 'selected'), + order = c(subrow.dim, subcol.dim))) + } + if (row == 1) { + table_data <- table_temp + } else { + table_data <- rbind(table_data, table_temp) + } + } + + # All data for plotting in table + table <- data.frame(table_column_1 = row.names.table, table_data) + table_temp <- array(unlist(table[3:n.columns]), dim = c(n.rows, n.columns - 2)) + # Define colors to show in table + table_colors <- .SCTableColors(table = table_temp, n.col = n.col.names, + n.subcol = n.subcol.names, n.row = n.row.names, + n.subrow = n.subrow.names, legend.breaks = legend.breaks, + palette = palette, colorunder = colorunder, + colorsup = colorsup) + metric.color <- table_colors$metric.color + metric.text.color <- table_colors$metric.text.color + # metric.text.bold <- table_colors$metric.text.bold + + options(stringsAsFactors = FALSE) + title <- data.frame(c1 = table.title, c2 = n.columns) + subtitle <- data.frame(c1 = table.subtitle, c2 = n.columns) + header.names <- as.data.frame(data.frame(c1 = c("", col.names), + c2 = c(2, rep(n.subcol.names, n.col.names)))) + header.names2 <- as.data.frame(data.frame(c1 = c("", paste0(rep(col.title, n.col.names))), + c2 = c(2, rep(n.subcol.names, n.col.names)))) + title.space <- data.frame(c1 = "\n", c2 = n.columns) + + # Hide NA values in table + options(knitr.kable.NA = '') + + # Create HTML table + table.html.part <- list() + table.html.part[[1]] <- kbl(table, escape = F, col.names = column.titles, align = rep("c", n.columns)) %>% + kable_paper("hover", full_width = T, font_size = 14 * font.size) %>% + add_header_above(header = header.names2, font_size = 16 * font.size) %>% + add_header_above(header = title.space, font_size = 10 * font.size) %>% + add_header_above(header = header.names, font_size = 20 * font.size) %>% + add_header_above(header = title.space, font_size = 10 * font.size) %>% + add_header_above(header = subtitle, font_size = 16 * font.size, align = "left") %>% + add_header_above(header = title.space, font_size = 10 * font.size) %>% + add_header_above(header = title, font_size = 22 * font.size, align = "left") + + for (i in 1:n.col.names) { + for (j in 1:n.subcol.names) { + my.background <- metric.color[, (i - 1) * n.subcol.names + j] + my.text.color <- metric.text.color[, (i - 1) * n.subcol.names + j] + # my.bold <- metric.text.bold[(i - 1) * n.subcol.names + j] + + table.html.part[[(i - 1) * n.subcol.names + j + 1]] <- + column_spec(table.html.part[[(i - 1) * n.subcol.names + j]], + 2 + n.subcol.names * (i - 1) + j, + background = my.background[1:n.rows], + color = my.text.color[1:n.rows], + bold = T) ## strsplit(toString(bold), ', ')[[1]] + } + } + + # Define position of table borders + column.borders <- NULL + for (i in 1:n.col.names) { + column.spacing <- (n.subcol.names * i) + 2 + column.borders <- c(column.borders, column.spacing) + } + + n.last.list <- n.col.names * n.subcol.names + 1 + + table.html <- column_spec(table.html.part[[n.last.list]], 1, bold = TRUE, width_min = paste0(col1.width, 'cm')) %>% + column_spec(2, bold = TRUE, width_min = paste0(col2.width, 'cm')) %>% + column_spec(3:n.columns, width_min = "1.5cm") %>% + column_spec(c(1, 2, column.borders), border_right = "2px solid black") %>% + column_spec(1, border_left = "2px solid black") %>% + column_spec(n.columns, border_right = "2px solid black") %>% + row_spec(seq(from = 0, to = n.subrow.names * n.row.names, by = n.subrow.names), + extra_css = "border-bottom: 2px solid black", hline_after = TRUE) + + if (plot.legend == TRUE) { + # Save the scorecard (without legend) + save_kable(table.html, file = paste0(fileout, '_tmpScorecard.png'), vheight = 1) + + # White space for legend + legend.white.space <- 37.8 * legend.white.space ## converting pixels to cm + + # Create and save color bar legend + scorecard_legend <- .SCLegend(legend.breaks = legend.breaks, + palette = palette, + colorunder = colorunder, + colorsup = colorsup, + label.scale = label.scale, + legend.width = legend.width, + legend.height = legend.height, + legend.white.space = legend.white.space, + fileout = fileout) + + # Add the legends below the scorecard table + system(paste0('convert -append ', fileout, '_tmpScorecard.png ', fileout, + '_tmpScorecardLegend.png ', fileout)) + # Remove temporary scorecard table + unlink(paste0(fileout, '_tmpScorecard*.png')) + } + if (plot.legend == FALSE) { + save_kable(table.html, file = fileout) + } +} diff --git a/R/Utils.R b/R/Utils.R index b4874d0..5e20d89 100644 --- a/R/Utils.R +++ b/R/Utils.R @@ -242,3 +242,94 @@ GradientCatsColorBar <- function(nmap, brks = NULL, cols = NULL, vertical = TRUE } } + +# Scorecards function to create the color bar legends for the required metrics +# and paste them below the scorecard table +.SCLegend <- function(legend.breaks, palette, colorunder, colorsup, + label.scale, legend.width, legend.height, + legend.white.space, fileout) { + + ## Create color bar legends for each metric + for (i in 1:length(palette)) { + png(filename = paste0(fileout, '_tmpLegend', i, '.png'), width = legend.width, + height = legend.height) + ColorBarContinuous(brks = legend.breaks[[i]], cols = palette[[i]], vertical = FALSE, + label_scale = label.scale, col_inf = colorunder[[i]], + col_sup = colorsup[[i]]) + dev.off() + if (i == 1) { + ## Add white space to the left of the first color bar legend + system(paste0('convert ', fileout, '_tmpLegend1.png -background white -splice ', + legend.white.space, 'x0 ', fileout, '_tmpScorecardLegend.png')) + } else { + system(paste0('convert +append ', fileout, '_tmpScorecardLegend.png ', + fileout, '_tmpLegend', i, '.png ', fileout, + '_tmpScorecardLegend.png')) + } + } + unlink(paste0(fileout,'_tmpLegend*.png')) +} + +# Scorecards function to assign background color of table cells, +# color of text in table and to bold the text. +# +# It will return a list with 2 arrays: +# (1) metric.color, A 2-dimensional array with character strings containing the +# color codes for each cell background. +# (2) metric.text.color, A 2-dimensional array with character strings +# containing the color codes for each cell text. +.SCTableColors <- function(table, n.col, n.subcol, n.row, n.subrow, + legend.breaks, palette, colorunder, colorsup) { + # Define rows and columns + n.rows <- n.row * n.subrow + n.columns <- n.col * n.subcol + + ## Set table background colors + metric.color <- array(colorunder, c(n.row * n.subrow, n.columns)) + metric.text.color <- array("#2A2A2A", c(n.row * n.subrow , n.columns)) + # metric.text.bold <- array(TRUE, c(n.row * n.subrow , n.columns - 2)) ## Setting all values to bold + + ## Define cell and text colors to show in table + for (i in 1:n.col) { + metric.int <- legend.breaks[[i]] + for (rr in 1:n.rows) { + for (j in 1:n.subcol) { + for (pp in 1:(length(metric.int) - 1)) { + if (is.nan(table[rr,((i - 1) * n.subcol + j)])) { + metric.color[rr,((i - 1) * n.subcol + j)] <- "gray" + } else { + if (table[rr,((i - 1) * n.subcol + j)] >= + metric.int[pp] && table[rr,((i - 1) * n.subcol + j)] <= + metric.int[pp+1]) { + metric.color[rr,((i - 1) * n.subcol + j)] <- palette[[i]][pp] #palette[pp] + } + if (table[rr,((i - 1) * n.subcol + j)] < metric.int[1]) { + metric.color[rr,((i - 1) * n.subcol + j)] <- colorunder[i] + } + if (table[rr,((i - 1) * n.subcol + j)] >= + metric.int[length(metric.int)]) { + metric.color[rr,((i - 1) * n.subcol + j)] <- colorsup[i] + } + } + ## color text in white and bold if background is white or dark blue or dark red: + if (is.nan(table[rr,((i - 1) * n.subcol + j)]) || + (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == 1 && + table[rr,((i - 1) * n.subcol + j)] < metric.int[2]) || + (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == 2 && + table[rr,((i - 1) * n.subcol + j)] < metric.int[3]) || + (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == (length(metric.int) - 1) && + table[rr,((i - 1) * n.subcol + j)] >= metric.int[length(metric.int) - 1]) || + (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == (length(metric.int) - 2) && + table[rr,((i - 1) * n.subcol + j)] >= metric.int[length(metric.int) - 2])) { + metric.text.color[rr,((i - 1) * n.subcol + j)] <- "white" + #metric.text.bold[rr,((i - 1) * n.subcol + j)] <- TRUE + } + } + } + } + } + + return(list(metric.color = metric.color, + metric.text.color = metric.text.color)) + +} \ No newline at end of file diff --git a/man/SCPlotScorecard.Rd b/man/SCPlotScorecard.Rd new file mode 100644 index 0000000..3eab634 --- /dev/null +++ b/man/SCPlotScorecard.Rd @@ -0,0 +1,134 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/SCPlotScorecard.R +\name{SCPlotScorecard} +\alias{SCPlotScorecard} +\title{Scorecards function create simple scorecards by region (types 1 & 3)} +\usage{ +SCPlotScorecard( + data, + row.dim = "region", + subrow.dim = "time", + col.dim = "metric", + subcol.dim = "sdate", + legend.dim = "metric", + row.names = NULL, + subrow.names = NULL, + col.names = NULL, + subcol.names = NULL, + row.title = NULL, + subrow.title = NULL, + col.title = NULL, + table.title = NULL, + table.subtitle = NULL, + legend.breaks = NULL, + plot.legend = TRUE, + label.scale = NULL, + legend.width = NULL, + legend.height = NULL, + palette = NULL, + colorunder = NULL, + colorsup = NULL, + round.decimal = 2, + font.size = 1.1, + legend.white.space = NULL, + col1.width = NULL, + col2.width = NULL, + fileout = "./scorecard.png" +) +} +\arguments{ +\item{data}{A multidimensional array containing spatially aggregated metrics +data with dimensions: metric, region, sdate and ftime.} + +\item{row.dim}{A character string indicating the dimension name to show in the +rows of the plot.} + +\item{subrow.dim}{A character string indicating the dimension name to show in +the sub-rows of the plot.} + +\item{col.dim}{A character string indicating the dimension name to show in the +columns of the plot.} + +\item{subcol.dim}{A character string indicating the dimension name to show in +the sub-columns of the plot.} + +\item{legend.dim}{A character string indicating the dimension name to use for +the legend.} + +\item{row.names}{A vector of character strings with row display names.} + +\item{subrow.names}{A vector of character strings with sub-row display names.} + +\item{col.names}{A vector of character strings with column display names.} + +\item{subcol.names}{A vector of character strings with sub-column display +names.} + +\item{row.title}{A character string for the title of the row names.} + +\item{subrow.title}{A character string for the title of the sub-row names.} + +\item{table.title}{A character string for the title of the plot.} + +\item{table.subtitle}{A character string for the sub-title of the plot.} + +\item{legend.breaks}{A vector of numerics or a list of vectors of numerics, +containing the breaks for the legends. If a vector is given as input, then +these breaks will be repeated for each legend.dim. A list of vectors can be +given as input if the legend.dims require different breaks. This parameter +is required even if the legend is not plotted, to define the colors in the +scorecard table.} + +\item{plot.legend}{A logical value to determine if the legend is plotted.} + +\item{legend.width}{A numeric value to define the width of the legend bars.} + +\item{legend.height}{A numeric value to define the height of the legend bars.} + +\item{palette}{A vector of character strings or a list of vectors of +character strings containing the colors to use in the legends. If a vector +is given as input, then these colors will be used for each legend.dim. A +list of vectors can be given as input if different colors are desired for +the legend.dims. This parameter must be included even if the the legend is +not plotted, to define the colors in the scorecard table.} + +\item{colorunder}{A character string or of vector of character strings +defining the colors to use for data values with are inferior to the lowest +breaks value. This parameter will also plot a inferior triangle in the +legend bar. The parameter can be set to NULL if there are no inferior values. +If a character string is given this color will be applied to all legend.dims.} + +\item{colorsup}{A character string or of vector of character strings +defining the colors to use for data values with are superior to the highest +breaks value. This parameter will also plot a inferior triangle in the +legend bar. The parameter can be set to NULL if there are no superior values. +If a character string is given this color will be applied to all legend.dims.} + +\item{round.decimal}{A numeric indicating to which decimal point the data +is to be displayed in the scorecard table.} + +\item{font.size}{A numeric indicating the font size on the scorecard table.} + +\item{fileout}{A path of the location to save the scorecard plots.} +} +\value{ +An image file containing the scorecard. +} +\description{ +This function creates a scorecard for a single system and +reference combination, showing data by region and forecast month. +} +\examples{ +data <- array(rnorm(1000), dim = c('sdate' = 12, 'metric' = 4, 'region' = 3, + 'time' = 6)) +row.names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') +col.names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') +SCPlotScorecard(data = data, row.names = row.names, col.names = col.names, + subcol.names = month.abb[as.numeric(1:12)], + row.title = 'Region', subrow.title = 'Forecast Month', + col.title = 'Start date', + table.title = "Temperature of ECMWF System 5", + table.subtitle = "(Ref: ERA5 1994-2016)", + fileout = 'test.png') + +} -- GitLab From 24c5b86cf982c8b1e7234f1df9456ffa8ff55ef6 Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Mon, 6 Nov 2023 11:53:20 +0100 Subject: [PATCH 02/12] Move auxiliary functions from scorecards in the same file --- R/SCPlotScorecard.R | 91 +++++++++++++++++++++++++++++++++++++++++++++ R/Utils.R | 91 --------------------------------------------- 2 files changed, 91 insertions(+), 91 deletions(-) diff --git a/R/SCPlotScorecard.R b/R/SCPlotScorecard.R index 6d086df..9cb375b 100644 --- a/R/SCPlotScorecard.R +++ b/R/SCPlotScorecard.R @@ -442,3 +442,94 @@ SCPlotScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', save_kable(table.html, file = fileout) } } + +# Scorecards function to create the color bar legends for the required metrics +# and paste them below the scorecard table +.SCLegend <- function(legend.breaks, palette, colorunder, colorsup, + label.scale, legend.width, legend.height, + legend.white.space, fileout) { + + ## Create color bar legends for each metric + for (i in 1:length(palette)) { + png(filename = paste0(fileout, '_tmpLegend', i, '.png'), width = legend.width, + height = legend.height) + ColorBarContinuous(brks = legend.breaks[[i]], cols = palette[[i]], vertical = FALSE, + label_scale = label.scale, col_inf = colorunder[[i]], + col_sup = colorsup[[i]]) + dev.off() + if (i == 1) { + ## Add white space to the left of the first color bar legend + system(paste0('convert ', fileout, '_tmpLegend1.png -background white -splice ', + legend.white.space, 'x0 ', fileout, '_tmpScorecardLegend.png')) + } else { + system(paste0('convert +append ', fileout, '_tmpScorecardLegend.png ', + fileout, '_tmpLegend', i, '.png ', fileout, + '_tmpScorecardLegend.png')) + } + } + unlink(paste0(fileout,'_tmpLegend*.png')) +} + +# Scorecards function to assign background color of table cells, +# color of text in table and to bold the text. +# +# It will return a list with 2 arrays: +# (1) metric.color, A 2-dimensional array with character strings containing the +# color codes for each cell background. +# (2) metric.text.color, A 2-dimensional array with character strings +# containing the color codes for each cell text. +.SCTableColors <- function(table, n.col, n.subcol, n.row, n.subrow, + legend.breaks, palette, colorunder, colorsup) { + # Define rows and columns + n.rows <- n.row * n.subrow + n.columns <- n.col * n.subcol + + ## Set table background colors + metric.color <- array(colorunder, c(n.row * n.subrow, n.columns)) + metric.text.color <- array("#2A2A2A", c(n.row * n.subrow , n.columns)) + # metric.text.bold <- array(TRUE, c(n.row * n.subrow , n.columns - 2)) ## Setting all values to bold + + ## Define cell and text colors to show in table + for (i in 1:n.col) { + metric.int <- legend.breaks[[i]] + for (rr in 1:n.rows) { + for (j in 1:n.subcol) { + for (pp in 1:(length(metric.int) - 1)) { + if (is.nan(table[rr,((i - 1) * n.subcol + j)])) { + metric.color[rr,((i - 1) * n.subcol + j)] <- "gray" + } else { + if (table[rr,((i - 1) * n.subcol + j)] >= + metric.int[pp] && table[rr,((i - 1) * n.subcol + j)] <= + metric.int[pp+1]) { + metric.color[rr,((i - 1) * n.subcol + j)] <- palette[[i]][pp] #palette[pp] + } + if (table[rr,((i - 1) * n.subcol + j)] < metric.int[1]) { + metric.color[rr,((i - 1) * n.subcol + j)] <- colorunder[i] + } + if (table[rr,((i - 1) * n.subcol + j)] >= + metric.int[length(metric.int)]) { + metric.color[rr,((i - 1) * n.subcol + j)] <- colorsup[i] + } + } + ## color text in white and bold if background is white or dark blue or dark red: + if (is.nan(table[rr,((i - 1) * n.subcol + j)]) || + (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == 1 && + table[rr,((i - 1) * n.subcol + j)] < metric.int[2]) || + (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == 2 && + table[rr,((i - 1) * n.subcol + j)] < metric.int[3]) || + (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == (length(metric.int) - 1) && + table[rr,((i - 1) * n.subcol + j)] >= metric.int[length(metric.int) - 1]) || + (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == (length(metric.int) - 2) && + table[rr,((i - 1) * n.subcol + j)] >= metric.int[length(metric.int) - 2])) { + metric.text.color[rr,((i - 1) * n.subcol + j)] <- "white" + #metric.text.bold[rr,((i - 1) * n.subcol + j)] <- TRUE + } + } + } + } + } + + return(list(metric.color = metric.color, + metric.text.color = metric.text.color)) + +} \ No newline at end of file diff --git a/R/Utils.R b/R/Utils.R index 5e20d89..bd0d3d8 100644 --- a/R/Utils.R +++ b/R/Utils.R @@ -241,95 +241,4 @@ GradientCatsColorBar <- function(nmap, brks = NULL, cols = NULL, vertical = TRUE return(list(brks = brks, cols = cols, col_inf = col_inf, col_sup = col_sup)) } -} - -# Scorecards function to create the color bar legends for the required metrics -# and paste them below the scorecard table -.SCLegend <- function(legend.breaks, palette, colorunder, colorsup, - label.scale, legend.width, legend.height, - legend.white.space, fileout) { - - ## Create color bar legends for each metric - for (i in 1:length(palette)) { - png(filename = paste0(fileout, '_tmpLegend', i, '.png'), width = legend.width, - height = legend.height) - ColorBarContinuous(brks = legend.breaks[[i]], cols = palette[[i]], vertical = FALSE, - label_scale = label.scale, col_inf = colorunder[[i]], - col_sup = colorsup[[i]]) - dev.off() - if (i == 1) { - ## Add white space to the left of the first color bar legend - system(paste0('convert ', fileout, '_tmpLegend1.png -background white -splice ', - legend.white.space, 'x0 ', fileout, '_tmpScorecardLegend.png')) - } else { - system(paste0('convert +append ', fileout, '_tmpScorecardLegend.png ', - fileout, '_tmpLegend', i, '.png ', fileout, - '_tmpScorecardLegend.png')) - } - } - unlink(paste0(fileout,'_tmpLegend*.png')) -} - -# Scorecards function to assign background color of table cells, -# color of text in table and to bold the text. -# -# It will return a list with 2 arrays: -# (1) metric.color, A 2-dimensional array with character strings containing the -# color codes for each cell background. -# (2) metric.text.color, A 2-dimensional array with character strings -# containing the color codes for each cell text. -.SCTableColors <- function(table, n.col, n.subcol, n.row, n.subrow, - legend.breaks, palette, colorunder, colorsup) { - # Define rows and columns - n.rows <- n.row * n.subrow - n.columns <- n.col * n.subcol - - ## Set table background colors - metric.color <- array(colorunder, c(n.row * n.subrow, n.columns)) - metric.text.color <- array("#2A2A2A", c(n.row * n.subrow , n.columns)) - # metric.text.bold <- array(TRUE, c(n.row * n.subrow , n.columns - 2)) ## Setting all values to bold - - ## Define cell and text colors to show in table - for (i in 1:n.col) { - metric.int <- legend.breaks[[i]] - for (rr in 1:n.rows) { - for (j in 1:n.subcol) { - for (pp in 1:(length(metric.int) - 1)) { - if (is.nan(table[rr,((i - 1) * n.subcol + j)])) { - metric.color[rr,((i - 1) * n.subcol + j)] <- "gray" - } else { - if (table[rr,((i - 1) * n.subcol + j)] >= - metric.int[pp] && table[rr,((i - 1) * n.subcol + j)] <= - metric.int[pp+1]) { - metric.color[rr,((i - 1) * n.subcol + j)] <- palette[[i]][pp] #palette[pp] - } - if (table[rr,((i - 1) * n.subcol + j)] < metric.int[1]) { - metric.color[rr,((i - 1) * n.subcol + j)] <- colorunder[i] - } - if (table[rr,((i - 1) * n.subcol + j)] >= - metric.int[length(metric.int)]) { - metric.color[rr,((i - 1) * n.subcol + j)] <- colorsup[i] - } - } - ## color text in white and bold if background is white or dark blue or dark red: - if (is.nan(table[rr,((i - 1) * n.subcol + j)]) || - (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == 1 && - table[rr,((i - 1) * n.subcol + j)] < metric.int[2]) || - (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == 2 && - table[rr,((i - 1) * n.subcol + j)] < metric.int[3]) || - (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == (length(metric.int) - 1) && - table[rr,((i - 1) * n.subcol + j)] >= metric.int[length(metric.int) - 1]) || - (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == (length(metric.int) - 2) && - table[rr,((i - 1) * n.subcol + j)] >= metric.int[length(metric.int) - 2])) { - metric.text.color[rr,((i - 1) * n.subcol + j)] <- "white" - #metric.text.bold[rr,((i - 1) * n.subcol + j)] <- TRUE - } - } - } - } - } - - return(list(metric.color = metric.color, - metric.text.color = metric.text.color)) - } \ No newline at end of file -- GitLab From 96ed13c7ccead695acb770e3db1bfda4bd09fada Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Mon, 6 Nov 2023 11:54:43 +0100 Subject: [PATCH 03/12] Remove changes in Utils --- R/Utils.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/Utils.R b/R/Utils.R index bd0d3d8..fbfe677 100644 --- a/R/Utils.R +++ b/R/Utils.R @@ -1,4 +1,4 @@ -.KnownLonNames <- function() { +¡.KnownLonNames <- function() { known_lon_names <- c('lon', 'longitude', 'x', 'i', 'nav_lon') } @@ -241,4 +241,4 @@ GradientCatsColorBar <- function(nmap, brks = NULL, cols = NULL, vertical = TRUE return(list(brks = brks, cols = cols, col_inf = col_inf, col_sup = col_sup)) } -} \ No newline at end of file +} -- GitLab From 0d217bbc876e44384b7d884b5075db40fb51eef1 Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Mon, 6 Nov 2023 11:56:01 +0100 Subject: [PATCH 04/12] Correct typo error --- R/Utils.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/Utils.R b/R/Utils.R index fbfe677..b4874d0 100644 --- a/R/Utils.R +++ b/R/Utils.R @@ -1,4 +1,4 @@ -¡.KnownLonNames <- function() { +.KnownLonNames <- function() { known_lon_names <- c('lon', 'longitude', 'x', 'i', 'nav_lon') } -- GitLab From 446df4b757c75ce003a44fef1e91e7d958655ab9 Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Tue, 19 Dec 2023 16:54:46 +0100 Subject: [PATCH 05/12] Create unit test for VizScorecard and change function name --- NAMESPACE | 16 +---- R/{SCPlotScorecard.R => VizScorecard.R} | 37 ++++++------ man/{SCPlotScorecard.Rd => VizScorecard.Rd} | 12 ++-- tests/testthat/test-VizScorecard.R | 65 +++++++++++++++++++++ 4 files changed, 91 insertions(+), 39 deletions(-) rename R/{SCPlotScorecard.R => VizScorecard.R} (95%) rename man/{SCPlotScorecard.Rd => VizScorecard.Rd} (94%) create mode 100644 tests/testthat/test-VizScorecard.R diff --git a/NAMESPACE b/NAMESPACE index 60e8236..e2f15f3 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -4,18 +4,6 @@ export(ClimColors) export(ClimPalette) export(ColorBarContinuous) export(ColorBarDiscrete) -<<<<<<< HEAD -export(PlotCombinedMap) -export(PlotEquiMap) -export(PlotForecastPDF) -export(PlotMostLikelyQuantileMap) -export(PlotPDFsOLE) -export(PlotRobinson) -export(PlotTriangles4Categories) -export(PlotWeeklyClim) -export(SCPlotScorecard) -======= ->>>>>>> eb89055abde4790a6f536a1f9c22b58a86c89395 export(ShapeToMask) export(VizCombinedMap) export(VizEquiMap) @@ -23,6 +11,7 @@ export(VizForecastPDF) export(VizLayout) export(VizMostLikelyQuantileMap) export(VizRobinson) +export(VizScorecard) export(VizStereoMap) export(VizTriangles4Categories) export(VizWeeklyClim) @@ -32,11 +21,8 @@ import(easyNCDF) import(foreach) import(ggplot2) import(graphics) -<<<<<<< HEAD import(kableExtra) -======= import(mapproj) ->>>>>>> eb89055abde4790a6f536a1f9c22b58a86c89395 import(maps) import(rnaturalearth) import(sf) diff --git a/R/SCPlotScorecard.R b/R/VizScorecard.R similarity index 95% rename from R/SCPlotScorecard.R rename to R/VizScorecard.R index 9cb375b..be42195 100644 --- a/R/SCPlotScorecard.R +++ b/R/VizScorecard.R @@ -1,4 +1,4 @@ -#'Scorecards function create simple scorecards by region (types 1 & 3) +#'Scorecards function create simple scorecards #' #'@description This function creates a scorecard for a single system and #'reference combination, showing data by region and forecast month. @@ -60,7 +60,7 @@ #' 'time' = 6)) #'row.names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') #'col.names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') -#'SCPlotScorecard(data = data, row.names = row.names, col.names = col.names, +#'VizScorecard(data = data, row.names = row.names, col.names = col.names, #' subcol.names = month.abb[as.numeric(1:12)], #' row.title = 'Region', subrow.title = 'Forecast Month', #' col.title = 'Start date', @@ -72,21 +72,21 @@ #'@importFrom s2dv Reorder #'@importFrom ClimProjDiags Subset #'@export -SCPlotScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', - col.dim = 'metric', subcol.dim = 'sdate', - legend.dim = 'metric', row.names = NULL, - subrow.names = NULL, col.names = NULL, - subcol.names = NULL, row.title = NULL, - subrow.title = NULL, col.title = NULL, - table.title = NULL, table.subtitle = NULL, - legend.breaks = NULL, plot.legend = TRUE, - label.scale = NULL, legend.width = NULL, - legend.height = NULL, palette = NULL, - colorunder = NULL, colorsup = NULL, - round.decimal = 2, font.size = 1.1, - legend.white.space = NULL, - col1.width = NULL, col2.width = NULL, - fileout = './scorecard.png') { +VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', + col.dim = 'metric', subcol.dim = 'sdate', + legend.dim = 'metric', row.names = NULL, + subrow.names = NULL, col.names = NULL, + subcol.names = NULL, row.title = NULL, + subrow.title = NULL, col.title = NULL, + table.title = NULL, table.subtitle = NULL, + legend.breaks = NULL, plot.legend = TRUE, + label.scale = NULL, legend.width = NULL, + legend.height = NULL, palette = NULL, + colorunder = NULL, colorsup = NULL, + round.decimal = 2, font.size = 1.1, + legend.white.space = NULL, + col1.width = NULL, col2.width = NULL, + fileout = './scorecard.png') { # Input parameter checks ## Check data if (!is.array(data)) { @@ -102,7 +102,8 @@ SCPlotScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', ## Check row.names if (!is.null(row.names)) { if (length(row.names) != as.numeric(dim(data)[row.dim])) { - stop("Parameter 'row.names' must have the same length of dimension 'row.dims'.") + stop("Parameter 'row.names' must have the same length of dimension ", + "'row.dims'.") } } else { row.names <- as.character(1:dim(data)[row.dim]) diff --git a/man/SCPlotScorecard.Rd b/man/VizScorecard.Rd similarity index 94% rename from man/SCPlotScorecard.Rd rename to man/VizScorecard.Rd index 3eab634..5d3f054 100644 --- a/man/SCPlotScorecard.Rd +++ b/man/VizScorecard.Rd @@ -1,10 +1,10 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/SCPlotScorecard.R -\name{SCPlotScorecard} -\alias{SCPlotScorecard} -\title{Scorecards function create simple scorecards by region (types 1 & 3)} +% Please edit documentation in R/VizScorecard.R +\name{VizScorecard} +\alias{VizScorecard} +\title{Scorecards function create simple scorecards} \usage{ -SCPlotScorecard( +VizScorecard( data, row.dim = "region", subrow.dim = "time", @@ -123,7 +123,7 @@ data <- array(rnorm(1000), dim = c('sdate' = 12, 'metric' = 4, 'region' = 3, 'time' = 6)) row.names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') col.names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') -SCPlotScorecard(data = data, row.names = row.names, col.names = col.names, +VizScorecard(data = data, row.names = row.names, col.names = col.names, subcol.names = month.abb[as.numeric(1:12)], row.title = 'Region', subrow.title = 'Forecast Month', col.title = 'Start date', diff --git a/tests/testthat/test-VizScorecard.R b/tests/testthat/test-VizScorecard.R new file mode 100644 index 0000000..213982a --- /dev/null +++ b/tests/testthat/test-VizScorecard.R @@ -0,0 +1,65 @@ +#=============================================================== +# NOTE: The figures are generated with the following environment: +# - On workstation +# Also: module load Phantomjs +#=============================================================== + +data <- array(rnorm(1000), dim = c('sdate' = 12, 'metric' = 4, 'region' = 3, + 'time' = 6)) +row.names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') +col.names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') + +#-------------------------------------------------------------------- +test_that("1. Test input", { + # Check data + expect_error( + VizScorecard('a'), + "Parameter 'data' must be a numeric array." + ) + # Check row.dim + expect_error( + VizScorecard(data, row.dim = 1), + "Parameter 'row.dim' must be a character string." + ) + expect_error( + VizScorecard(data, row.dim = 'a'), + "Parameter 'row.dim' is not found in 'data' dimensions." + ) + # Check row.names + expect_error( + VizScorecard(data, row.names = 'a'), + paste0("Parameter 'row.names' must have the same length of dimension ", + "'row.dims'.") + ) +}) + + +#------------------------------------------------------------------- +# NOTE: A change is detected by expect_snapshot_file but I haven't found the difference + +# # Simple example +# # Example with random data +# set.seed(1) +# data <- array(rnorm(1000), dim = c('sdate' = 12, 'metric' = 4, 'region' = 3, +# 'time' = 6)) +# row.names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') +# col.names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') + +# save_fun <- function(...) { +# path <- tempfile(fileext = ".png") +# do.call(VizScorecard, list(..., fileout = path)) +# path +# } + +# test_that("2. Output", { +# expect_snapshot_file( +# save_fun(data = data, row.names = row.names, col.names = col.names, +# subcol.names = month.abb[as.numeric(1:12)], +# row.title = 'Region', subrow.title = 'Forecast Month', +# col.title = 'Start date', +# table.title = "Temperature of ECMWF System 5", +# table.subtitle = "(Ref: ERA5 1994-2016)", +# plot.legend = TRUE), +# name = 'VizScorecard_1a.png' +# ) +# }) \ No newline at end of file -- GitLab From da19beeb2b3c1cb7cee25200250a608097db0b8d Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Tue, 19 Dec 2023 16:57:48 +0100 Subject: [PATCH 06/12] Add kableExtra in DESCRIPTION --- DESCRIPTION | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 5327ec3..e4d4332 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -34,7 +34,8 @@ Imports: utils, foreach, doParallel, - rlang + rlang, + kableExtra Suggests: testthat License: GPL-3 -- GitLab From a6443adfbc8a5873917298ab572501f8eb4dbf37 Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Wed, 20 Dec 2023 17:42:52 +0100 Subject: [PATCH 07/12] Add more tests and a note in the description of VizScorecards --- R/VizScorecard.R | 23 +++++---- man/VizScorecard.Rd | 4 +- tests/testthat/test-VizScorecard.R | 81 +++++++++++++++++++++++++++++- 3 files changed, 97 insertions(+), 11 deletions(-) diff --git a/R/VizScorecard.R b/R/VizScorecard.R index be42195..b519f91 100644 --- a/R/VizScorecard.R +++ b/R/VizScorecard.R @@ -1,7 +1,9 @@ #'Scorecards function create simple scorecards #' #'@description This function creates a scorecard for a single system and -#'reference combination, showing data by region and forecast month. +#'reference combination, showing data by region and forecast month. +#' +#'Note: Module PhantomJS is required. #' #'@param data A multidimensional array containing spatially aggregated metrics #' data with dimensions: metric, region, sdate and ftime. @@ -103,7 +105,7 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', if (!is.null(row.names)) { if (length(row.names) != as.numeric(dim(data)[row.dim])) { stop("Parameter 'row.names' must have the same length of dimension ", - "'row.dims'.") + "'row.dim'.") } } else { row.names <- as.character(1:dim(data)[row.dim]) @@ -118,7 +120,8 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', ## Check subrow.names if (!is.null(subrow.names)) { if (length(subrow.names) != as.numeric(dim(data)[subrow.dim])) { - stop("Parameter 'subrow.names' must have the same length of dimension 'subrow.dims'.") + stop("Parameter 'subrow.names' must have the same length of dimension ", + "'subrow.dim'.") } } else { subrow.names <- as.character(1:dim(data)[subrow.dim]) @@ -133,7 +136,8 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', ## Check col.names if (!is.null(col.names)) { if (length(col.names) != as.numeric(dim(data)[col.dim])) { - stop("Parameter 'col.names' must have the same length of dimension 'col.dims'.") + stop("Parameter 'col.names' must have the same length of dimension ", + "'col.dim'.") } } else { col.names <- as.character(1:dim(data)[col.dim]) @@ -148,7 +152,8 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', ## Check subcol.names if (!is.null(subcol.names)) { if (length(subcol.names) != as.numeric(dim(data)[subcol.dim])) { - stop("Parameter 'subcol.names' must have the same length of dimension 'subcol.dims'.") + stop("Parameter 'subcol.names' must have the same length of dimension ", + "'subcol.dim'.") } } else { subcol.names <- as.character(1:dim(data)[subcol.dim]) @@ -160,10 +165,10 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', if (!legend.dim %in% names(dim(data))) { stop("Parameter 'legend.dim' is not found in 'data' dimensions.") } - ## Check row.title inputs + ## Check row.title if (!is.null(row.title)) { if (!is.character(row.title)) { - stop("Parameter 'row.title must be a character string.") + stop("Parameter 'row.title' must be a character string.") } } else { row.title <- "" @@ -171,7 +176,7 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', ## Check subrow.title if (!is.null(subrow.title)) { if (!is.character(subrow.title)) { - stop("Parameter 'subrow.title must be a character string.") + stop("Parameter 'subrow.title' must be a character string.") } } else { subrow.title <- "" @@ -179,7 +184,7 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', ## Check col.title if (!is.null(col.title)) { if (!is.character(col.title)) { - stop("Parameter 'col.title must be a character string.") + stop("Parameter 'col.title' must be a character string.") } } else { col.title <- "" diff --git a/man/VizScorecard.Rd b/man/VizScorecard.Rd index 5d3f054..713acf8 100644 --- a/man/VizScorecard.Rd +++ b/man/VizScorecard.Rd @@ -116,7 +116,9 @@ An image file containing the scorecard. } \description{ This function creates a scorecard for a single system and -reference combination, showing data by region and forecast month. +reference combination, showing data by region and forecast month. + +Note: Module PhantomJS is required. } \examples{ data <- array(rnorm(1000), dim = c('sdate' = 12, 'metric' = 4, 'region' = 3, diff --git a/tests/testthat/test-VizScorecard.R b/tests/testthat/test-VizScorecard.R index 213982a..2a87fa3 100644 --- a/tests/testthat/test-VizScorecard.R +++ b/tests/testthat/test-VizScorecard.R @@ -29,7 +29,86 @@ test_that("1. Test input", { expect_error( VizScorecard(data, row.names = 'a'), paste0("Parameter 'row.names' must have the same length of dimension ", - "'row.dims'.") + "'row.dim'.") + ) + # Check subrow.dim + expect_error( + VizScorecard(data, subrow.dim = 1), + paste0("Parameter 'subrow.dim' must be a character string.") + ) + expect_error( + VizScorecard(data, subrow.dim = 'a'), + paste0("Parameter 'subrow.dim' is not found in 'data' dimensions.") + ) + # Check subrow.names + expect_error( + VizScorecard(data, subrow.names = 'a'), + paste0("Parameter 'subrow.names' must have the same length of dimension ", + "'subrow.dim'.") + ) + # Check col.dim + expect_error( + VizScorecard(data, col.dim = 1), + paste0("Parameter 'col.dim' must be a character string.") + ) + expect_error( + VizScorecard(data, col.dim = 'a'), + paste0("Parameter 'col.dim' is not found in 'data' dimensions.") + ) + # Check col.names + expect_error( + VizScorecard(data, col.names = 'a'), + paste0("Parameter 'col.names' must have the same length of dimension ", + "'col.dim'.") + ) + # Check subcol.dim + expect_error( + VizScorecard(data, subcol.dim = 1), + paste0("Parameter 'subcol.dim' must be a character string.") + ) + expect_error( + VizScorecard(data, subcol.dim = 'a'), + paste0("Parameter 'subcol.dim' is not found in 'data' dimensions.") + ) + # Check subcol.names + expect_error( + VizScorecard(data, subcol.names = 'a'), + paste0("Parameter 'subcol.names' must have the same length of dimension ", + "'subcol.dim'.") + ) + # Check legend.dim + expect_error( + VizScorecard(data, legend.dim = 1), + paste0("Parameter 'legend.dim' must be a character string.") + ) + expect_error( + VizScorecard(data, legend.dim = 'a'), + paste0("Parameter 'legend.dim' is not found in 'data' dimensions.") + ) + # Check row.title + expect_error( + VizScorecard(data, row.title = 1), + paste0("Parameter 'row.title' must be a character string.") + ) + # Check subrow.title + expect_error( + VizScorecard(data, subrow.title = 1), + paste0("Parameter 'subrow.title' must be a character string.") + ) + # Check row.title + expect_error( + VizScorecard(data, col.title = 1), + paste0("Parameter 'col.title' must be a character string.") + ) + # Check table.title + expect_error( + VizScorecard(data, table.title = 1), + paste0("Parameter 'table.title' must be a character string.") + ) + # Check table.subtitle + expect_error( + VizScorecard(data, table.subtitle = 1), + paste0("Parameter 'table.subtitle' must be a character string.") ) }) -- GitLab From f208828e250d87af84beb69eeeb9876287324fac Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Fri, 22 Dec 2023 16:27:41 +0100 Subject: [PATCH 08/12] Improve initial checks, default values and add unit test --- R/VizScorecard.R | 212 ++++++++++++++--------------- man/VizScorecard.Rd | 27 ++-- tests/testthat/test-VizScorecard.R | 103 ++++++++++++++ 3 files changed, 216 insertions(+), 126 deletions(-) diff --git a/R/VizScorecard.R b/R/VizScorecard.R index b519f91..3edf62a 100644 --- a/R/VizScorecard.R +++ b/R/VizScorecard.R @@ -28,10 +28,10 @@ #'@param table.subtitle A character string for the sub-title of the plot. #'@param legend.breaks A vector of numerics or a list of vectors of numerics, #' containing the breaks for the legends. If a vector is given as input, then -#' these breaks will be repeated for each legend.dim. A list of vectors can be -#' given as input if the legend.dims require different breaks. This parameter -#' is required even if the legend is not plotted, to define the colors in the -#' scorecard table. +#' these breaks will be repeated for each 'legend.dim'. A list of vectors can +#' be given as input if the 'legend.dims' require different breaks. This +#' parameter is required even if the legend is not plotted, to define the +#' colors in the scorecard table. #'@param plot.legend A logical value to determine if the legend is plotted. #'@param legend.width A numeric value to define the width of the legend bars. #'@param legend.height A numeric value to define the height of the legend bars. @@ -45,7 +45,8 @@ #' defining the colors to use for data values with are inferior to the lowest #' breaks value. This parameter will also plot a inferior triangle in the #' legend bar. The parameter can be set to NULL if there are no inferior values. -#' If a character string is given this color will be applied to all legend.dims. +#' If a character string is given this color will be applied to all +#' 'legend.dims'. #'@param colorsup A character string or of vector of character strings #' defining the colors to use for data values with are superior to the highest #' breaks value. This parameter will also plot a inferior triangle in the @@ -78,17 +79,22 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', col.dim = 'metric', subcol.dim = 'sdate', legend.dim = 'metric', row.names = NULL, subrow.names = NULL, col.names = NULL, - subcol.names = NULL, row.title = NULL, - subrow.title = NULL, col.title = NULL, - table.title = NULL, table.subtitle = NULL, + subcol.names = NULL, row.title = "", + subrow.title = "", col.title = "", + table.title = "", table.subtitle = "", legend.breaks = NULL, plot.legend = TRUE, - label.scale = NULL, legend.width = NULL, - legend.height = NULL, palette = NULL, + label.scale = 1.4, legend.width = NULL, + legend.height = 50, palette = NULL, colorunder = NULL, colorsup = NULL, round.decimal = 2, font.size = 1.1, - legend.white.space = NULL, + legend.white.space = 6, col1.width = NULL, col2.width = NULL, fileout = './scorecard.png') { + # TODO: + # (1) Check outputs + # (2) Parameter names + # (3) Improve documentation + # Input parameter checks ## Check data if (!is.array(data)) { @@ -102,14 +108,13 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', stop("Parameter 'row.dim' is not found in 'data' dimensions.") } ## Check row.names - if (!is.null(row.names)) { - if (length(row.names) != as.numeric(dim(data)[row.dim])) { - stop("Parameter 'row.names' must have the same length of dimension ", - "'row.dim'.") - } - } else { + if (is.null(row.names)) { row.names <- as.character(1:dim(data)[row.dim]) } + if (length(row.names) != as.numeric(dim(data)[row.dim])) { + stop("Parameter 'row.names' must have the same length of dimension ", + "'row.dim'.") + } ## Check subrow.dim if (!is.character(subrow.dim)) { stop("Parameter 'subrow.dim' must be a character string.") @@ -118,14 +123,13 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', stop("Parameter 'subrow.dim' is not found in 'data' dimensions.") } ## Check subrow.names - if (!is.null(subrow.names)) { - if (length(subrow.names) != as.numeric(dim(data)[subrow.dim])) { - stop("Parameter 'subrow.names' must have the same length of dimension ", - "'subrow.dim'.") - } - } else { + if (is.null(subrow.names)) { subrow.names <- as.character(1:dim(data)[subrow.dim]) } + if (length(subrow.names) != as.numeric(dim(data)[subrow.dim])) { + stop("Parameter 'subrow.names' must have the same length of dimension ", + "'subrow.dim'.") + } ## Check col.dim if (!is.character(col.dim)) { stop("Parameter 'col.dim' must be a character string.") @@ -134,14 +138,13 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', stop("Parameter 'col.dim' is not found in 'data' dimensions.") } ## Check col.names - if (!is.null(col.names)) { - if (length(col.names) != as.numeric(dim(data)[col.dim])) { - stop("Parameter 'col.names' must have the same length of dimension ", - "'col.dim'.") - } - } else { + if (is.null(col.names)) { col.names <- as.character(1:dim(data)[col.dim]) } + if (length(col.names) != as.numeric(dim(data)[col.dim])) { + stop("Parameter 'col.names' must have the same length of dimension ", + "'col.dim'.") + } ## Check subcol.dim if (!is.character(subcol.dim)) { stop("Parameter 'subcol.dim' must be a character string.") @@ -150,14 +153,13 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', stop("Parameter 'subcol.dim' is not found in 'data' dimensions.") } ## Check subcol.names - if (!is.null(subcol.names)) { - if (length(subcol.names) != as.numeric(dim(data)[subcol.dim])) { - stop("Parameter 'subcol.names' must have the same length of dimension ", - "'subcol.dim'.") - } - } else { + if (is.null(subcol.names)) { subcol.names <- as.character(1:dim(data)[subcol.dim]) } + if (length(subcol.names) != as.numeric(dim(data)[subcol.dim])) { + stop("Parameter 'subcol.names' must have the same length of dimension ", + "'subcol.dim'.") + } ## Check legend.dim if (!is.character(legend.dim)) { stop("Parameter 'legend.dim' must be a character string.") @@ -166,52 +168,35 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', stop("Parameter 'legend.dim' is not found in 'data' dimensions.") } ## Check row.title - if (!is.null(row.title)) { - if (!is.character(row.title)) { - stop("Parameter 'row.title' must be a character string.") - } - } else { - row.title <- "" + if (!is.character(row.title)) { + stop("Parameter 'row.title' must be a character string.") } ## Check subrow.title - if (!is.null(subrow.title)) { - if (!is.character(subrow.title)) { - stop("Parameter 'subrow.title' must be a character string.") - } - } else { - subrow.title <- "" + if (!is.character(subrow.title)) { + stop("Parameter 'subrow.title' must be a character string.") } ## Check col.title - if (!is.null(col.title)) { - if (!is.character(col.title)) { - stop("Parameter 'col.title' must be a character string.") - } - } else { - col.title <- "" + if (!is.character(col.title)) { + stop("Parameter 'col.title' must be a character string.") } ## Check table.title - if (!is.null(table.title)) { - if (!is.character(table.title)) { - stop("Parameter 'table.title' must be a character string.") - } - } else { - table.title <- "" + if (!is.character(table.title)) { + stop("Parameter 'table.title' must be a character string.") } ## Check table.subtitle - if (!is.null(table.subtitle)) { - if (!is.character(table.subtitle)) { - stop("Parameter 'table.subtitle' must be a character string.") - } - } else { - table.subtitle <- "" + if (!is.character(table.subtitle)) { + stop("Parameter 'table.subtitle' must be a character string.") } # Check legend.breaks - if (is.vector(legend.breaks) && is.numeric(legend.breaks)) { + if (inherits(legend.breaks, 'list')) { + if (!(length(legend.breaks) == as.numeric(dim(data)[legend.dim]))) { + stop("Parameter 'legend.breaks' must be a list with the same number of ", + "elements as the length of the 'legend.dim' dimension in data.") + } + } else if (is.numeric(legend.breaks)) { legend.breaks <- rep(list(legend.breaks), as.numeric(dim(data)[legend.dim])) } else if (is.null(legend.breaks)) { legend.breaks <- rep(list(seq(-1, 1, 0.2)), as.numeric(dim(data)[legend.dim])) - } else if (inherits(legend.breaks, 'list')) { - stopifnot(length(legend.breaks) == as.numeric(dim(data)[legend.dim])) } else { stop("Parameter 'legend.breaks' must be a numeric vector, a list or NULL.") } @@ -220,75 +205,76 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', stop("Parameter 'plot.legend' must be a logical value.") } ## Check label.scale - if (is.null(label.scale)) { - label.scale <- 1.4 - } else { - if (!is.numeric(label.scale) | length(label.scale) != 1) { - stop("Parameter 'label.scale' must be a numeric value of length 1.") - } + if (any(!is.numeric(label.scale), length(label.scale) != 1)) { + stop("Parameter 'label.scale' must be a numeric value of length 1.") } ## Check legend.width if (is.null(legend.width)) { legend.width <- length(subcol.names) * 46.5 - } else { - if (!is.numeric(legend.width) | length(legend.width) != 1) { - stop("Parameter 'legend.width' must be a numeric value of length 1.") - } + } else if (any(!is.numeric(legend.width), length(legend.width) != 1)) { + stop("Parameter 'legend.width' must be a numeric value of length 1.") } - if (is.null(legend.height)) { - legend.height <- 50 - } else { - if (!is.numeric(legend.height) | length(legend.height) != 1) { - stop("Parameter 'legend.height' must be a numeric value of length 1.") - } + ## Check legend.height + if (any(!is.numeric(legend.height), length(legend.height) != 1)) { + stop("Parameter 'legend.height' must be a numeric value of length 1.") } ## Check colour palette input - if (is.vector(palette)) { + if (inherits(palette, 'list')) { + if (!(length(palette) == as.numeric(dim(data)[legend.dim]))) { + stop("Parameter 'palette' must be a list with the same number of ", + "elements as the length of the 'legend.dim' dimension in data.") + } + if (!all(sapply(palette, is.character))) { + stop("Parameter 'palette' must be a list of character vectors.") + } + } else if (is.character(palette)) { palette <- rep(list(palette), as.numeric(dim(data)[legend.dim])) } else if (is.null(palette)) { palette <- rep(list(c('#2D004B', '#542789', '#8073AC', '#B2ABD2', '#D8DAEB', '#FEE0B6', '#FDB863', '#E08214', '#B35806', '#7F3B08')), as.numeric(dim(data)[legend.dim])) - } else if (inherits(palette, 'list')) { - stopifnot(length(palette) == as.numeric(dim(data)[legend.dim])) } else { - stop("Parameter 'palette' must be a numeric vector, a list or NULL.") + stop("Parameter 'palette' must be a character vector, a list or NULL.") } ## Check colorunder if (is.null(colorunder)) { - colorunder <- rep("#04040E",as.numeric(dim(data)[legend.dim])) - } else if (is.character(colorunder) && length(colorunder) == 1) { + colorunder <- rep("#04040E", as.numeric(dim(data)[legend.dim])) + } + if (!is.character(colorunder)) { + stop("Parameter 'colorunder' must be a character string vector.") + } + if (length(colorunder) == 1) { colorunder <- rep(colorunder, as.numeric(dim(data)[legend.dim])) - } else if (is.character(colorunder) && - length(colorunder) != as.numeric(dim(data)[legend.dim])) { - stop("Parameter 'colorunder' must be a numeric vector, a list or NULL.") + } + if (length(colorunder) != as.numeric(dim(data)[legend.dim])) { + stop("Parameter 'colorunder' must be a list with the same number of ", + "elements as the length of the 'legend.dim' dimension in data.") } ## Check colorsup if (is.null(colorsup)) { colorsup <- rep("#730C04", as.numeric(dim(data)[legend.dim])) - } else if (is.character(colorsup) && length(colorsup) == 1) { - colorsup <- rep(colorsup,as.numeric(dim(data)[legend.dim])) - } else if (is.character(colorsup) && - length(colorsup) != as.numeric(dim(data)[legend.dim])) { - stop("Parameter 'colorsup' must be a numeric vector, a list or NULL.") + } + if (!is.character(colorsup)) { + stop("Parameter 'colorsup' must be a character string vector.") + } + if (length(colorsup) == 1) { + colorsup <- rep(colorsup, as.numeric(dim(data)[legend.dim])) + } + if (length(colorsup) != as.numeric(dim(data)[legend.dim])) { + stop("Parameter 'colorsup' must be a list with the same number of ", + "elements as the length of the 'legend.dim' dimension in data.") } ## Check round.decimal - if (is.null(round.decimal)) { - round.decimal <- 2 - } else if (!is.numeric(round.decimal) | length(round.decimal) != 1) { + if (!is.numeric(round.decimal)) { stop("Parameter 'round.decimal' must be a numeric value of length 1.") } ## Check font.size - if (is.null(font.size)) { - font.size <- 1 - } else if (!is.numeric(font.size) | length(font.size) != 1) { + if (!is.numeric(font.size)) { stop("Parameter 'font.size' must be a numeric value of length 1.") } ## Check legend white space - if (is.null(legend.white.space)){ - legend.white.space <- 6 - } else { - legend.white.space <- legend.white.space + if (!is.numeric(legend.white.space)) { + stop("Parameter 'legend.white.space' must be a numeric value of length 1.") } ## Check col1.width if (is.null(col1.width)) { @@ -354,7 +340,7 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', table <- data.frame(table_column_1 = row.names.table, table_data) table_temp <- array(unlist(table[3:n.columns]), dim = c(n.rows, n.columns - 2)) # Define colors to show in table - table_colors <- .SCTableColors(table = table_temp, n.col = n.col.names, + table_colors <- .sctablecolors(table = table_temp, n.col = n.col.names, n.subcol = n.subcol.names, n.row = n.row.names, n.subrow = n.subrow.names, legend.breaks = legend.breaks, palette = palette, colorunder = colorunder, @@ -428,7 +414,7 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', legend.white.space <- 37.8 * legend.white.space ## converting pixels to cm # Create and save color bar legend - scorecard_legend <- .SCLegend(legend.breaks = legend.breaks, + scorecard_legend <- .sclegend(legend.breaks = legend.breaks, palette = palette, colorunder = colorunder, colorsup = colorsup, @@ -451,7 +437,7 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', # Scorecards function to create the color bar legends for the required metrics # and paste them below the scorecard table -.SCLegend <- function(legend.breaks, palette, colorunder, colorsup, +.sclegend <- function(legend.breaks, palette, colorunder, colorsup, label.scale, legend.width, legend.height, legend.white.space, fileout) { @@ -484,8 +470,8 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', # color codes for each cell background. # (2) metric.text.color, A 2-dimensional array with character strings # containing the color codes for each cell text. -.SCTableColors <- function(table, n.col, n.subcol, n.row, n.subrow, - legend.breaks, palette, colorunder, colorsup) { +.sctablecolors <- function(table, n.col, n.subcol, n.row, n.subrow, + legend.breaks, palette, colorunder, colorsup) { # Define rows and columns n.rows <- n.row * n.subrow n.columns <- n.col * n.subcol diff --git a/man/VizScorecard.Rd b/man/VizScorecard.Rd index 713acf8..1294feb 100644 --- a/man/VizScorecard.Rd +++ b/man/VizScorecard.Rd @@ -15,22 +15,22 @@ VizScorecard( subrow.names = NULL, col.names = NULL, subcol.names = NULL, - row.title = NULL, - subrow.title = NULL, - col.title = NULL, - table.title = NULL, - table.subtitle = NULL, + row.title = "", + subrow.title = "", + col.title = "", + table.title = "", + table.subtitle = "", legend.breaks = NULL, plot.legend = TRUE, - label.scale = NULL, + label.scale = 1.4, legend.width = NULL, - legend.height = NULL, + legend.height = 50, palette = NULL, colorunder = NULL, colorsup = NULL, round.decimal = 2, font.size = 1.1, - legend.white.space = NULL, + legend.white.space = 6, col1.width = NULL, col2.width = NULL, fileout = "./scorecard.png" @@ -74,10 +74,10 @@ names.} \item{legend.breaks}{A vector of numerics or a list of vectors of numerics, containing the breaks for the legends. If a vector is given as input, then -these breaks will be repeated for each legend.dim. A list of vectors can be -given as input if the legend.dims require different breaks. This parameter -is required even if the legend is not plotted, to define the colors in the -scorecard table.} +these breaks will be repeated for each 'legend.dim'. A list of vectors can +be given as input if the 'legend.dims' require different breaks. This +parameter is required even if the legend is not plotted, to define the +colors in the scorecard table.} \item{plot.legend}{A logical value to determine if the legend is plotted.} @@ -96,7 +96,8 @@ not plotted, to define the colors in the scorecard table.} defining the colors to use for data values with are inferior to the lowest breaks value. This parameter will also plot a inferior triangle in the legend bar. The parameter can be set to NULL if there are no inferior values. -If a character string is given this color will be applied to all legend.dims.} +If a character string is given this color will be applied to all +'legend.dims'.} \item{colorsup}{A character string or of vector of character strings defining the colors to use for data values with are superior to the highest diff --git a/tests/testthat/test-VizScorecard.R b/tests/testthat/test-VizScorecard.R index 2a87fa3..1946373 100644 --- a/tests/testthat/test-VizScorecard.R +++ b/tests/testthat/test-VizScorecard.R @@ -110,8 +110,111 @@ test_that("1. Test input", { VizScorecard(data, table.subtitle = 1), paste0("Parameter 'table.subtitle' must be a character string.") ) + # Check legend.breaks + expect_error( + VizScorecard(data, legend.breaks = list(1)), + paste0("Parameter 'legend.breaks' must be a list with the same number of ", + "elements as the length of the 'legend.dim' dimension in data.") + ) + expect_error( + VizScorecard(data, legend.breaks = 'a'), + "Parameter 'legend.breaks' must be a numeric vector, a list or NULL." + ) + # Check plot.legend + expect_error( + VizScorecard(data, plot.legend = 'a'), + "Parameter 'plot.legend' must be a logical value." + ) + # Check label.scale + expect_error( + VizScorecard(data, label.scale = 'a'), + "Parameter 'label.scale' must be a numeric value of length 1." + ) + expect_error( + VizScorecard(data, label.scale = c(1,2)), + "Parameter 'label.scale' must be a numeric value of length 1." + ) + # Check legend.width + expect_error( + VizScorecard(data, legend.width = c(1,2)), + "Parameter 'legend.width' must be a numeric value of length 1." + ) + expect_error( + VizScorecard(data, legend.width = 'a'), + "Parameter 'legend.width' must be a numeric value of length 1." + ) + # Check legend.height + expect_error( + VizScorecard(data, legend.height = c(1,2)), + "Parameter 'legend.height' must be a numeric value of length 1." + ) + expect_error( + VizScorecard(data, legend.height = 'a'), + "Parameter 'legend.height' must be a numeric value of length 1." + ) + # Check colour palette input + expect_error( + VizScorecard(data, palette = list(1)), + paste0("Parameter 'palette' must be a list with the same number of ", + "elements as the length of the 'legend.dim' dimension in data.") + ) + expect_error( + VizScorecard(data, palette = list(1,1,1,1)), + paste0("Parameter 'palette' must be a list of character vectors.") + ) + expect_error( + VizScorecard(data, palette = 1), + "Parameter 'palette' must be a character vector, a list or NULL." + ) + # Check colorunder + expect_error( + VizScorecard(data, colorunder = 1), + "Parameter 'colorunder' must be a character string vector." + ) + expect_error( + VizScorecard(data, colorunder = rep('a', 5)), + paste0("Parameter 'colorunder' must be a list with the same number of ", + "elements as the length of the 'legend.dim' dimension in data.") + ) + # Check colorsup + expect_error( + VizScorecard(data, colorsup = 1), + "Parameter 'colorsup' must be a character string vector." + ) + expect_error( + VizScorecard(data, colorsup = rep('a', 5)), + paste0("Parameter 'colorsup' must be a list with the same number of ", + "elements as the length of the 'legend.dim' dimension in data.") + ) + # Check round.decimal + expect_error( + VizScorecard(data, round.decimal = 'a'), + "Parameter 'round.decimal' must be a numeric value of length 1." + ) + # Check font.size + expect_error( + VizScorecard(data, font.size = 'a'), + "Parameter 'font.size' must be a numeric value of length 1." + ) + # Check legend white space + expect_error( + VizScorecard(data, legend.white.space = 'a'), + "Parameter 'legend.white.space' must be a numeric value of length 1." + ) + # Check col1.width + expect_error( + VizScorecard(data, col1.width = 'a'), + "Parameter 'col1.width' must be a numeric value of length 1." + ) + # Check col2.width + expect_error( + VizScorecard(data, col2.width = 'a'), + "Parameter 'col2.width' must be a numeric value of length 1." + ) }) +# TODO: Test Output + #------------------------------------------------------------------- # NOTE: A change is detected by expect_snapshot_file but I haven't found the difference -- GitLab From ad08dab7b04bb9f85f19a39e75bda58621797f6b Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Mon, 8 Jan 2024 12:16:07 +0100 Subject: [PATCH 09/12] Correction for NA values --- R/VizScorecard.R | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/R/VizScorecard.R b/R/VizScorecard.R index 3edf62a..ba68ba8 100644 --- a/R/VizScorecard.R +++ b/R/VizScorecard.R @@ -340,7 +340,7 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', table <- data.frame(table_column_1 = row.names.table, table_data) table_temp <- array(unlist(table[3:n.columns]), dim = c(n.rows, n.columns - 2)) # Define colors to show in table - table_colors <- .sctablecolors(table = table_temp, n.col = n.col.names, + table_colors <- .ScorecardColors(table = table_temp, n.col = n.col.names, n.subcol = n.subcol.names, n.row = n.row.names, n.subrow = n.subrow.names, legend.breaks = legend.breaks, palette = palette, colorunder = colorunder, @@ -405,7 +405,6 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', column_spec(n.columns, border_right = "2px solid black") %>% row_spec(seq(from = 0, to = n.subrow.names * n.row.names, by = n.subrow.names), extra_css = "border-bottom: 2px solid black", hline_after = TRUE) - if (plot.legend == TRUE) { # Save the scorecard (without legend) save_kable(table.html, file = paste0(fileout, '_tmpScorecard.png'), vheight = 1) @@ -414,15 +413,15 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', legend.white.space <- 37.8 * legend.white.space ## converting pixels to cm # Create and save color bar legend - scorecard_legend <- .sclegend(legend.breaks = legend.breaks, - palette = palette, - colorunder = colorunder, - colorsup = colorsup, - label.scale = label.scale, - legend.width = legend.width, - legend.height = legend.height, - legend.white.space = legend.white.space, - fileout = fileout) + .ScorecardLegend(legend.breaks = legend.breaks, + palette = palette, + colorunder = colorunder, + colorsup = colorsup, + label.scale = label.scale, + legend.width = legend.width, + legend.height = legend.height, + legend.white.space = legend.white.space, + fileout = fileout) # Add the legends below the scorecard table system(paste0('convert -append ', fileout, '_tmpScorecard.png ', fileout, @@ -437,9 +436,9 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', # Scorecards function to create the color bar legends for the required metrics # and paste them below the scorecard table -.sclegend <- function(legend.breaks, palette, colorunder, colorsup, - label.scale, legend.width, legend.height, - legend.white.space, fileout) { +.ScorecardLegend <- function(legend.breaks, palette, colorunder, colorsup, + label.scale, legend.width, legend.height, + legend.white.space, fileout) { ## Create color bar legends for each metric for (i in 1:length(palette)) { @@ -470,8 +469,8 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', # color codes for each cell background. # (2) metric.text.color, A 2-dimensional array with character strings # containing the color codes for each cell text. -.sctablecolors <- function(table, n.col, n.subcol, n.row, n.subrow, - legend.breaks, palette, colorunder, colorsup) { +.ScorecardColors <- function(table, n.col, n.subcol, n.row, n.subrow, + legend.breaks, palette, colorunder, colorsup) { # Define rows and columns n.rows <- n.row * n.subrow n.columns <- n.col * n.subcol @@ -487,7 +486,7 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', for (rr in 1:n.rows) { for (j in 1:n.subcol) { for (pp in 1:(length(metric.int) - 1)) { - if (is.nan(table[rr,((i - 1) * n.subcol + j)])) { + if (is.na(table[rr,((i - 1) * n.subcol + j)])) { metric.color[rr,((i - 1) * n.subcol + j)] <- "gray" } else { if (table[rr,((i - 1) * n.subcol + j)] >= @@ -504,14 +503,14 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', } } ## color text in white and bold if background is white or dark blue or dark red: - if (is.nan(table[rr,((i - 1) * n.subcol + j)]) || - (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == 1 && + if (is.na(table[rr,((i - 1) * n.subcol + j)]) || + (!is.na(table[rr,((i - 1) * n.subcol + j)]) && pp == 1 && table[rr,((i - 1) * n.subcol + j)] < metric.int[2]) || - (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == 2 && + (!is.na(table[rr,((i - 1) * n.subcol + j)]) && pp == 2 && table[rr,((i - 1) * n.subcol + j)] < metric.int[3]) || - (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == (length(metric.int) - 1) && + (!is.na(table[rr,((i - 1) * n.subcol + j)]) && pp == (length(metric.int) - 1) && table[rr,((i - 1) * n.subcol + j)] >= metric.int[length(metric.int) - 1]) || - (!is.nan(table[rr,((i - 1) * n.subcol + j)]) && pp == (length(metric.int) - 2) && + (!is.na(table[rr,((i - 1) * n.subcol + j)]) && pp == (length(metric.int) - 2) && table[rr,((i - 1) * n.subcol + j)] >= metric.int[length(metric.int) - 2])) { metric.text.color[rr,((i - 1) * n.subcol + j)] <- "white" #metric.text.bold[rr,((i - 1) * n.subcol + j)] <- TRUE -- GitLab From 911b6115c52194070a3b08359a2603b7e69032fc Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Mon, 8 Jan 2024 17:50:13 +0100 Subject: [PATCH 10/12] Standarize parameter names, improve palette and legend breaks parameter, refine code --- R/VizScorecard.R | 502 +++++++++--------- .../_snaps/VizScorecard/VizScorecard_1a.png | Bin 0 -> 505950 bytes tests/testthat/test-VizScorecard.R | 225 ++++---- 3 files changed, 374 insertions(+), 353 deletions(-) create mode 100644 tests/testthat/_snaps/VizScorecard/VizScorecard_1a.png diff --git a/R/VizScorecard.R b/R/VizScorecard.R index ba68ba8..3284320 100644 --- a/R/VizScorecard.R +++ b/R/VizScorecard.R @@ -7,327 +7,341 @@ #' #'@param data A multidimensional array containing spatially aggregated metrics #' data with dimensions: metric, region, sdate and ftime. -#'@param row.dim A character string indicating the dimension name to show in the +#'@param row_dim A character string indicating the dimension name to show in the #' rows of the plot. -#'@param subrow.dim A character string indicating the dimension name to show in +#'@param subrow_dim A character string indicating the dimension name to show in #' the sub-rows of the plot. -#'@param col.dim A character string indicating the dimension name to show in the +#'@param col_dim A character string indicating the dimension name to show in the #' columns of the plot. -#'@param subcol.dim A character string indicating the dimension name to show in +#'@param subcol_dim A character string indicating the dimension name to show in #' the sub-columns of the plot. -#'@param legend.dim A character string indicating the dimension name to use for +#'@param legend_dim A character string indicating the dimension name to use for #' the legend. -#'@param row.names A vector of character strings with row display names. -#'@param subrow.names A vector of character strings with sub-row display names. -#'@param col.names A vector of character strings with column display names. -#'@param subcol.names A vector of character strings with sub-column display +#'@param row_names A vector of character strings with row display names. +#'@param subrow_names A vector of character strings with sub-row display names. +#'@param col_names A vector of character strings with column display names. +#'@param subcol_names A vector of character strings with sub-column display #' names. -#'@param row.title A character string for the title of the row names. -#'@param subrow.title A character string for the title of the sub-row names. -#'@param table.title A character string for the title of the plot. -#'@param table.subtitle A character string for the sub-title of the plot. -#'@param legend.breaks A vector of numerics or a list of vectors of numerics, +#'@param row_title A character string for the title of the row names. +#'@param subrow_title A character string for the title of the sub-row names. +#'@param table_title A character string for the title of the plot. +#'@param table_subtitle A character string for the sub-title of the plot. +#'@param legend_breaks A vector of numerics or a list of vectors of numerics, #' containing the breaks for the legends. If a vector is given as input, then -#' these breaks will be repeated for each 'legend.dim'. A list of vectors can -#' be given as input if the 'legend.dims' require different breaks. This +#' these breaks will be repeated for each 'legend_dim'. A list of vectors can +#' be given as input if the 'legend_dims' require different breaks. This #' parameter is required even if the legend is not plotted, to define the #' colors in the scorecard table. -#'@param plot.legend A logical value to determine if the legend is plotted. -#'@param legend.width A numeric value to define the width of the legend bars. -#'@param legend.height A numeric value to define the height of the legend bars. +#'@param plot_legend A logical value to determine if the legend is plotted. +#'@param label_scale A numeric value indicating the label scale of the legend +#' values. +#'@param legend_width A numeric value to define the width of the legend bars. +#'@param legend_height A numeric value to define the height of the legend bars. #'@param palette A vector of character strings or a list of vectors of #' character strings containing the colors to use in the legends. If a vector -#' is given as input, then these colors will be used for each legend.dim. A +#' is given as input, then these colors will be used for each legend_dim. A #' list of vectors can be given as input if different colors are desired for -#' the legend.dims. This parameter must be included even if the the legend is +#' the legend_dims. This parameter must be included even if the the legend is #' not plotted, to define the colors in the scorecard table. #'@param colorunder A character string or of vector of character strings #' defining the colors to use for data values with are inferior to the lowest #' breaks value. This parameter will also plot a inferior triangle in the #' legend bar. The parameter can be set to NULL if there are no inferior values. #' If a character string is given this color will be applied to all -#' 'legend.dims'. +#' 'legend_dims'. #'@param colorsup A character string or of vector of character strings #' defining the colors to use for data values with are superior to the highest #' breaks value. This parameter will also plot a inferior triangle in the #' legend bar. The parameter can be set to NULL if there are no superior values. -#' If a character string is given this color will be applied to all legend.dims. -#'@param round.decimal A numeric indicating to which decimal point the data +#' If a character string is given this color will be applied to all legend_dims. +#'@param round_decimal A numeric indicating to which decimal point the data #' is to be displayed in the scorecard table. -#'@param font.size A numeric indicating the font size on the scorecard table. +#'@param font_size A numeric indicating the font size on the scorecard table. +#'@param legend_white_space A numeric value indicating the white space width at +#' the left side of the legend. The default value is 6. +#'@param col1_width A numeric value indicating the width of the column header. +#'@param col2_width A numeric value indicating the width of the subcolumn +#' header. #'@param fileout A path of the location to save the scorecard plots. #' #'@return An image file containing the scorecard. #'@examples #'data <- array(rnorm(1000), dim = c('sdate' = 12, 'metric' = 4, 'region' = 3, #' 'time' = 6)) -#'row.names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') -#'col.names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') -#'VizScorecard(data = data, row.names = row.names, col.names = col.names, -#' subcol.names = month.abb[as.numeric(1:12)], -#' row.title = 'Region', subrow.title = 'Forecast Month', -#' col.title = 'Start date', -#' table.title = "Temperature of ECMWF System 5", -#' table.subtitle = "(Ref: ERA5 1994-2016)", -#' fileout = 'test.png') +#'row_names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') +#'col_names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') +#'VizScorecard(data = data, row_names = row_names, col_names = col_names, +#' subcol_names = month.abb[as.numeric(1:12)], +#' row_title = 'Region', subrow_title = 'Forecast Month', +#' col_title = 'Start date', +#' table_title = "Temperature of ECMWF System 5", +#' table_subtitle = "(Ref: ERA5 1994-2016)", +#' fileout = 'test.png') #' #'@import kableExtra #'@importFrom s2dv Reorder #'@importFrom ClimProjDiags Subset #'@export -VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', - col.dim = 'metric', subcol.dim = 'sdate', - legend.dim = 'metric', row.names = NULL, - subrow.names = NULL, col.names = NULL, - subcol.names = NULL, row.title = "", - subrow.title = "", col.title = "", - table.title = "", table.subtitle = "", - legend.breaks = NULL, plot.legend = TRUE, - label.scale = 1.4, legend.width = NULL, - legend.height = 50, palette = NULL, +VizScorecard <- function(data, row_dim = 'region', subrow_dim = 'time', + col_dim = 'metric', subcol_dim = 'sdate', + legend_dim = 'metric', row_names = NULL, + subrow_names = NULL, col_names = NULL, + subcol_names = NULL, row_title = "", + subrow_title = "", col_title = "", + table_title = "", table_subtitle = "", + legend_breaks = NULL, plot_legend = TRUE, + label_scale = 1.4, legend_width = NULL, + legend_height = 50, palette = NULL, colorunder = NULL, colorsup = NULL, - round.decimal = 2, font.size = 1.1, - legend.white.space = 6, - col1.width = NULL, col2.width = NULL, + round_decimal = 2, font_size = 1.1, + legend_white_space = 6, + col1_width = NULL, col2_width = NULL, fileout = './scorecard.png') { - # TODO: - # (1) Check outputs - # (2) Parameter names - # (3) Improve documentation # Input parameter checks ## Check data if (!is.array(data)) { stop("Parameter 'data' must be a numeric array.") } - ## Check row.dim - if (!is.character(row.dim)) { - stop("Parameter 'row.dim' must be a character string.") + ## Check row_dim + if (!is.character(row_dim)) { + stop("Parameter 'row_dim' must be a character string.") } - if (!row.dim %in% names(dim(data))) { - stop("Parameter 'row.dim' is not found in 'data' dimensions.") + if (!row_dim %in% names(dim(data))) { + stop("Parameter 'row_dim' is not found in 'data' dimensions.") } - ## Check row.names - if (is.null(row.names)) { - row.names <- as.character(1:dim(data)[row.dim]) + ## Check row_names + if (is.null(row_names)) { + row_names <- as.character(1:dim(data)[row_dim]) } - if (length(row.names) != as.numeric(dim(data)[row.dim])) { - stop("Parameter 'row.names' must have the same length of dimension ", - "'row.dim'.") + if (length(row_names) != as.numeric(dim(data)[row_dim])) { + stop("Parameter 'row_names' must have the same length of dimension ", + "'row_dim'.") } - ## Check subrow.dim - if (!is.character(subrow.dim)) { - stop("Parameter 'subrow.dim' must be a character string.") + ## Check subrow_dim + if (!is.character(subrow_dim)) { + stop("Parameter 'subrow_dim' must be a character string.") } - if (!subrow.dim %in% names(dim(data))) { - stop("Parameter 'subrow.dim' is not found in 'data' dimensions.") + if (!subrow_dim %in% names(dim(data))) { + stop("Parameter 'subrow_dim' is not found in 'data' dimensions.") } - ## Check subrow.names - if (is.null(subrow.names)) { - subrow.names <- as.character(1:dim(data)[subrow.dim]) + ## Check subrow_names + if (is.null(subrow_names)) { + subrow_names <- as.character(1:dim(data)[subrow_dim]) } - if (length(subrow.names) != as.numeric(dim(data)[subrow.dim])) { - stop("Parameter 'subrow.names' must have the same length of dimension ", - "'subrow.dim'.") + if (length(subrow_names) != as.numeric(dim(data)[subrow_dim])) { + stop("Parameter 'subrow_names' must have the same length of dimension ", + "'subrow_dim'.") } - ## Check col.dim - if (!is.character(col.dim)) { - stop("Parameter 'col.dim' must be a character string.") + ## Check col_dim + if (!is.character(col_dim)) { + stop("Parameter 'col_dim' must be a character string.") } - if (!col.dim %in% names(dim(data))) { - stop("Parameter 'col.dim' is not found in 'data' dimensions.") + if (!col_dim %in% names(dim(data))) { + stop("Parameter 'col_dim' is not found in 'data' dimensions.") } - ## Check col.names - if (is.null(col.names)) { - col.names <- as.character(1:dim(data)[col.dim]) + ## Check col_names + if (is.null(col_names)) { + col_names <- as.character(1:dim(data)[col_dim]) } - if (length(col.names) != as.numeric(dim(data)[col.dim])) { - stop("Parameter 'col.names' must have the same length of dimension ", - "'col.dim'.") + if (length(col_names) != as.numeric(dim(data)[col_dim])) { + stop("Parameter 'col_names' must have the same length of dimension ", + "'col_dim'.") } - ## Check subcol.dim - if (!is.character(subcol.dim)) { - stop("Parameter 'subcol.dim' must be a character string.") + ## Check subcol_dim + if (!is.character(subcol_dim)) { + stop("Parameter 'subcol_dim' must be a character string.") } - if (!subcol.dim %in% names(dim(data))) { - stop("Parameter 'subcol.dim' is not found in 'data' dimensions.") + if (!subcol_dim %in% names(dim(data))) { + stop("Parameter 'subcol_dim' is not found in 'data' dimensions.") } - ## Check subcol.names - if (is.null(subcol.names)) { - subcol.names <- as.character(1:dim(data)[subcol.dim]) + ## Check subcol_names + if (is.null(subcol_names)) { + subcol_names <- as.character(1:dim(data)[subcol_dim]) } - if (length(subcol.names) != as.numeric(dim(data)[subcol.dim])) { - stop("Parameter 'subcol.names' must have the same length of dimension ", - "'subcol.dim'.") + if (length(subcol_names) != as.numeric(dim(data)[subcol_dim])) { + stop("Parameter 'subcol_names' must have the same length of dimension ", + "'subcol_dim'.") } - ## Check legend.dim - if (!is.character(legend.dim)) { - stop("Parameter 'legend.dim' must be a character string.") + ## Check legend_dim + if (!is.character(legend_dim)) { + stop("Parameter 'legend_dim' must be a character string.") } - if (!legend.dim %in% names(dim(data))) { - stop("Parameter 'legend.dim' is not found in 'data' dimensions.") + if (!legend_dim %in% names(dim(data))) { + stop("Parameter 'legend_dim' is not found in 'data' dimensions.") } - ## Check row.title - if (!is.character(row.title)) { - stop("Parameter 'row.title' must be a character string.") + ## Check row_title + if (!is.character(row_title)) { + stop("Parameter 'row_title' must be a character string.") } - ## Check subrow.title - if (!is.character(subrow.title)) { - stop("Parameter 'subrow.title' must be a character string.") + ## Check subrow_title + if (!is.character(subrow_title)) { + stop("Parameter 'subrow_title' must be a character string.") } - ## Check col.title - if (!is.character(col.title)) { - stop("Parameter 'col.title' must be a character string.") + ## Check col_title + if (!is.character(col_title)) { + stop("Parameter 'col_title' must be a character string.") } - ## Check table.title - if (!is.character(table.title)) { - stop("Parameter 'table.title' must be a character string.") + ## Check table_title + if (!is.character(table_title)) { + stop("Parameter 'table_title' must be a character string.") } - ## Check table.subtitle - if (!is.character(table.subtitle)) { - stop("Parameter 'table.subtitle' must be a character string.") + ## Check table_subtitle + if (!is.character(table_subtitle)) { + stop("Parameter 'table_subtitle' must be a character string.") } - # Check legend.breaks - if (inherits(legend.breaks, 'list')) { - if (!(length(legend.breaks) == as.numeric(dim(data)[legend.dim]))) { - stop("Parameter 'legend.breaks' must be a list with the same number of ", - "elements as the length of the 'legend.dim' dimension in data.") + # Check legend_breaks + if (inherits(legend_breaks, 'list')) { + if (!(length(legend_breaks) == as.numeric(dim(data)[legend_dim]))) { + stop("Parameter 'legend_breaks' must be a list with the same number of ", + "elements as the length of the 'legend_dim' dimension in data.") } - } else if (is.numeric(legend.breaks)) { - legend.breaks <- rep(list(legend.breaks), as.numeric(dim(data)[legend.dim])) - } else if (is.null(legend.breaks)) { - legend.breaks <- rep(list(seq(-1, 1, 0.2)), as.numeric(dim(data)[legend.dim])) + } else if (is.numeric(legend_breaks)) { + legend_breaks <- rep(list(legend_breaks), as.numeric(dim(data)[legend_dim])) + } else if (is.null(legend_breaks)) { + legend_breaks <- rep(list(seq(-1, 1, 0.2)), as.numeric(dim(data)[legend_dim])) } else { - stop("Parameter 'legend.breaks' must be a numeric vector, a list or NULL.") + stop("Parameter 'legend_breaks' must be a numeric vector, a list or NULL.") } - ## Check plot.legend - if (!inherits(plot.legend, 'logical')) { - stop("Parameter 'plot.legend' must be a logical value.") + ## Check plot_legend + if (!inherits(plot_legend, 'logical')) { + stop("Parameter 'plot_legend' must be a logical value.") } - ## Check label.scale - if (any(!is.numeric(label.scale), length(label.scale) != 1)) { - stop("Parameter 'label.scale' must be a numeric value of length 1.") + ## Check label_scale + if (any(!is.numeric(label_scale), length(label_scale) != 1)) { + stop("Parameter 'label_scale' must be a numeric value of length 1.") } - ## Check legend.width - if (is.null(legend.width)) { - legend.width <- length(subcol.names) * 46.5 - } else if (any(!is.numeric(legend.width), length(legend.width) != 1)) { - stop("Parameter 'legend.width' must be a numeric value of length 1.") + ## Check legend_width + if (is.null(legend_width)) { + legend_width <- length(subcol_names) * 46.5 + } else if (any(!is.numeric(legend_width), length(legend_width) != 1)) { + stop("Parameter 'legend_width' must be a numeric value of length 1.") } - ## Check legend.height - if (any(!is.numeric(legend.height), length(legend.height) != 1)) { - stop("Parameter 'legend.height' must be a numeric value of length 1.") + ## Check legend_height + if (any(!is.numeric(legend_height), length(legend_height) != 1)) { + stop("Parameter 'legend_height' must be a numeric value of length 1.") } ## Check colour palette input if (inherits(palette, 'list')) { - if (!(length(palette) == as.numeric(dim(data)[legend.dim]))) { + if (!(length(palette) == as.numeric(dim(data)[legend_dim]))) { stop("Parameter 'palette' must be a list with the same number of ", - "elements as the length of the 'legend.dim' dimension in data.") + "elements as the length of the 'legend_dim' dimension in data.") } if (!all(sapply(palette, is.character))) { stop("Parameter 'palette' must be a list of character vectors.") } } else if (is.character(palette)) { - palette <- rep(list(palette), as.numeric(dim(data)[legend.dim])) + palette <- rep(list(palette), as.numeric(dim(data)[legend_dim])) } else if (is.null(palette)) { - palette <- rep(list(c('#2D004B', '#542789', '#8073AC', '#B2ABD2', '#D8DAEB', - '#FEE0B6', '#FDB863', '#E08214', '#B35806', '#7F3B08')), - as.numeric(dim(data)[legend.dim])) + n <- length(legend_breaks[[1]]) + if (n == 1) { + stop("Parameter 'legend_breaks' can't be of length 1.") + } else if (n == 2) { + colors <- c('#B35806') + } else if (n == 3) { + colors <- c('#8073AC', '#E08214') + } else if (n == 11) { + colors <- c('#2D004B', '#542789', '#8073AC', '#B2ABD2', '#D8DAEB', + '#FEE0B6', '#FDB863', '#E08214', '#B35806', '#7F3B08') + } else { + stop("Parameter 'palette' must be provided when 'legend_breaks' ", + "exceed the length of 11.") + } + palette <- rep(list(colors), as.numeric(dim(data)[legend_dim])) } else { stop("Parameter 'palette' must be a character vector, a list or NULL.") } ## Check colorunder if (is.null(colorunder)) { - colorunder <- rep("#04040E", as.numeric(dim(data)[legend.dim])) + colorunder <- rep("#04040E", as.numeric(dim(data)[legend_dim])) } if (!is.character(colorunder)) { stop("Parameter 'colorunder' must be a character string vector.") } if (length(colorunder) == 1) { - colorunder <- rep(colorunder, as.numeric(dim(data)[legend.dim])) + colorunder <- rep(colorunder, as.numeric(dim(data)[legend_dim])) } - if (length(colorunder) != as.numeric(dim(data)[legend.dim])) { + if (length(colorunder) != as.numeric(dim(data)[legend_dim])) { stop("Parameter 'colorunder' must be a list with the same number of ", - "elements as the length of the 'legend.dim' dimension in data.") + "elements as the length of the 'legend_dim' dimension in data.") } ## Check colorsup if (is.null(colorsup)) { - colorsup <- rep("#730C04", as.numeric(dim(data)[legend.dim])) + colorsup <- rep("#730C04", as.numeric(dim(data)[legend_dim])) } if (!is.character(colorsup)) { stop("Parameter 'colorsup' must be a character string vector.") } if (length(colorsup) == 1) { - colorsup <- rep(colorsup, as.numeric(dim(data)[legend.dim])) + colorsup <- rep(colorsup, as.numeric(dim(data)[legend_dim])) } - if (length(colorsup) != as.numeric(dim(data)[legend.dim])) { + if (length(colorsup) != as.numeric(dim(data)[legend_dim])) { stop("Parameter 'colorsup' must be a list with the same number of ", - "elements as the length of the 'legend.dim' dimension in data.") + "elements as the length of the 'legend_dim' dimension in data.") } - ## Check round.decimal - if (!is.numeric(round.decimal)) { - stop("Parameter 'round.decimal' must be a numeric value of length 1.") + ## Check round_decimal + if (!is.numeric(round_decimal)) { + stop("Parameter 'round_decimal' must be a numeric value of length 1.") } - ## Check font.size - if (!is.numeric(font.size)) { - stop("Parameter 'font.size' must be a numeric value of length 1.") + ## Check font_size + if (!is.numeric(font_size)) { + stop("Parameter 'font_size' must be a numeric value of length 1.") } ## Check legend white space - if (!is.numeric(legend.white.space)) { - stop("Parameter 'legend.white.space' must be a numeric value of length 1.") + if (!is.numeric(legend_white_space)) { + stop("Parameter 'legend_white_space' must be a numeric value of length 1.") } - ## Check col1.width - if (is.null(col1.width)) { - if (max(nchar(row.names)) == 1 ) { - col1.width <- max(nchar(row.names)) + ## Check col1_width + if (is.null(col1_width)) { + if (max(nchar(row_names)) == 1) { + col1_width <- max(nchar(row_names)) } else { - col1.width <- max(nchar(row.names))/4 + col1_width <- max(nchar(row_names))/4 } - } else if (!is.numeric(col1.width)) { - stop("Parameter 'col1.width' must be a numeric value of length 1.") + } else if (!is.numeric(col1_width)) { + stop("Parameter 'col1_width' must be a numeric value of length 1.") } - ## Check col2.width - if (is.null(col2.width)) { - if (max(nchar(subrow.names)) == 1 ) { - col2.width <- max(nchar(subrow.names)) + ## Check col2_width + if (is.null(col2_width)) { + if (max(nchar(subrow_names)) == 1 ) { + col2_width <- max(nchar(subrow_names)) } else { - col2.width <- max(nchar(subrow.names))/4 + col2_width <- max(nchar(subrow_names))/4 } - } else if (!is.numeric(col2.width)) { - stop("Parameter 'col2.width' must be a numeric value of length 1.") + } else if (!is.numeric(col2_width)) { + stop("Parameter 'col2_width' must be a numeric value of length 1.") } - # Get dimensions of inputs - n.col.names <- length(col.names) - n.subcol.names <- length(subcol.names) - n.row.names <- length(row.names) - n.subrow.names <- length(subrow.names) + n.col_names <- length(col_names) + n.subcol_names <- length(subcol_names) + n.row_names <- length(row_names) + n.subrow_names <- length(subrow_names) # Define table size - n.rows <- n.row.names * n.subrow.names - n.columns <- 2 + (n.col.names * n.subcol.names) + n.rows <- n.row_names * n.subrow_names + n.columns <- 2 + (n.col_names * n.subcol_names) # Column names - row.names.table <- rep("", n.rows) - for (row in 1:n.row.names) { - row.names.table[floor(n.subrow.names/2) + (row - 1) * n.subrow.names] <- row.names[row] + row_names.table <- rep("", n.rows) + for (row in 1:n.row_names) { + row_names.table[floor(n.subrow_names/2) + (row - 1) * n.subrow_names] <- row_names[row] } # Define scorecard table titles - column.titles <- c(row.title, subrow.title, rep(c(subcol.names), n.col.names)) + column.titles <- c(row_title, subrow_title, rep(c(subcol_names), n.col_names)) # Round data - data <- round(data, round.decimal) + data <- round(data, round_decimal) # Define data inside the scorecards table - for (row in 1:n.row.names) { - table_temp <- data.frame(table_column_2 = as.character(subrow.names)) - for (col in 1:n.col.names) { + for (row in 1:n.row_names) { + table_temp <- data.frame(table_column_2 = as.character(subrow_names)) + for (col in 1:n.col_names) { table_temp <- data.frame(table_temp, - s2dv::Reorder(data = ClimProjDiags::Subset(x = data, along = c(col.dim, row.dim), + Reorder(data = Subset(x = data, along = c(col_dim, row_dim), indices = list(col, row), drop = 'selected'), - order = c(subrow.dim, subcol.dim))) + order = c(subrow_dim, subcol_dim))) } if (row == 1) { table_data <- table_temp @@ -337,12 +351,12 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', } # All data for plotting in table - table <- data.frame(table_column_1 = row.names.table, table_data) + table <- data.frame(table_column_1 = row_names.table, table_data) table_temp <- array(unlist(table[3:n.columns]), dim = c(n.rows, n.columns - 2)) # Define colors to show in table - table_colors <- .ScorecardColors(table = table_temp, n.col = n.col.names, - n.subcol = n.subcol.names, n.row = n.row.names, - n.subrow = n.subrow.names, legend.breaks = legend.breaks, + table_colors <- .ScorecardColors(table = table_temp, n.col = n.col_names, + n.subcol = n.subcol_names, n.row = n.row_names, + n.subrow = n.subrow_names, legend_breaks = legend_breaks, palette = palette, colorunder = colorunder, colorsup = colorsup) metric.color <- table_colors$metric.color @@ -350,12 +364,12 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', # metric.text.bold <- table_colors$metric.text.bold options(stringsAsFactors = FALSE) - title <- data.frame(c1 = table.title, c2 = n.columns) - subtitle <- data.frame(c1 = table.subtitle, c2 = n.columns) - header.names <- as.data.frame(data.frame(c1 = c("", col.names), - c2 = c(2, rep(n.subcol.names, n.col.names)))) - header.names2 <- as.data.frame(data.frame(c1 = c("", paste0(rep(col.title, n.col.names))), - c2 = c(2, rep(n.subcol.names, n.col.names)))) + title <- data.frame(c1 = table_title, c2 = n.columns) + subtitle <- data.frame(c1 = table_subtitle, c2 = n.columns) + header.names <- as.data.frame(data.frame(c1 = c("", col_names), + c2 = c(2, rep(n.subcol_names, n.col_names)))) + header.names2 <- as.data.frame(data.frame(c1 = c("", paste0(rep(col_title, n.col_names))), + c2 = c(2, rep(n.subcol_names, n.col_names)))) title.space <- data.frame(c1 = "\n", c2 = n.columns) # Hide NA values in table @@ -363,25 +377,25 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', # Create HTML table table.html.part <- list() - table.html.part[[1]] <- kbl(table, escape = F, col.names = column.titles, align = rep("c", n.columns)) %>% - kable_paper("hover", full_width = T, font_size = 14 * font.size) %>% - add_header_above(header = header.names2, font_size = 16 * font.size) %>% - add_header_above(header = title.space, font_size = 10 * font.size) %>% - add_header_above(header = header.names, font_size = 20 * font.size) %>% - add_header_above(header = title.space, font_size = 10 * font.size) %>% - add_header_above(header = subtitle, font_size = 16 * font.size, align = "left") %>% - add_header_above(header = title.space, font_size = 10 * font.size) %>% - add_header_above(header = title, font_size = 22 * font.size, align = "left") + table.html.part[[1]] <- kbl(table, escape = F, col_names = column.titles, align = rep("c", n.columns)) %>% + kable_paper("hover", full_width = T, font_size = 14 * font_size) %>% + add_header_above(header = header.names2, font_size = 16 * font_size) %>% + add_header_above(header = title.space, font_size = 10 * font_size) %>% + add_header_above(header = header.names, font_size = 20 * font_size) %>% + add_header_above(header = title.space, font_size = 10 * font_size) %>% + add_header_above(header = subtitle, font_size = 16 * font_size, align = "left") %>% + add_header_above(header = title.space, font_size = 10 * font_size) %>% + add_header_above(header = title, font_size = 22 * font_size, align = "left") - for (i in 1:n.col.names) { - for (j in 1:n.subcol.names) { - my.background <- metric.color[, (i - 1) * n.subcol.names + j] - my.text.color <- metric.text.color[, (i - 1) * n.subcol.names + j] - # my.bold <- metric.text.bold[(i - 1) * n.subcol.names + j] + for (i in 1:n.col_names) { + for (j in 1:n.subcol_names) { + my.background <- metric.color[, (i - 1) * n.subcol_names + j] + my.text.color <- metric.text.color[, (i - 1) * n.subcol_names + j] + # my.bold <- metric.text.bold[(i - 1) * n.subcol_names + j] - table.html.part[[(i - 1) * n.subcol.names + j + 1]] <- - column_spec(table.html.part[[(i - 1) * n.subcol.names + j]], - 2 + n.subcol.names * (i - 1) + j, + table.html.part[[(i - 1) * n.subcol_names + j + 1]] <- + column_spec(table.html.part[[(i - 1) * n.subcol_names + j]], + 2 + n.subcol_names * (i - 1) + j, background = my.background[1:n.rows], color = my.text.color[1:n.rows], bold = T) ## strsplit(toString(bold), ', ')[[1]] @@ -390,37 +404,37 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', # Define position of table borders column.borders <- NULL - for (i in 1:n.col.names) { - column.spacing <- (n.subcol.names * i) + 2 + for (i in 1:n.col_names) { + column.spacing <- (n.subcol_names * i) + 2 column.borders <- c(column.borders, column.spacing) } - n.last.list <- n.col.names * n.subcol.names + 1 + n.last.list <- n.col_names * n.subcol_names + 1 - table.html <- column_spec(table.html.part[[n.last.list]], 1, bold = TRUE, width_min = paste0(col1.width, 'cm')) %>% - column_spec(2, bold = TRUE, width_min = paste0(col2.width, 'cm')) %>% + table.html <- column_spec(table.html.part[[n.last.list]], 1, bold = TRUE, width_min = paste0(col1_width, 'cm')) %>% + column_spec(2, bold = TRUE, width_min = paste0(col2_width, 'cm')) %>% column_spec(3:n.columns, width_min = "1.5cm") %>% column_spec(c(1, 2, column.borders), border_right = "2px solid black") %>% column_spec(1, border_left = "2px solid black") %>% column_spec(n.columns, border_right = "2px solid black") %>% - row_spec(seq(from = 0, to = n.subrow.names * n.row.names, by = n.subrow.names), + row_spec(seq(from = 0, to = n.subrow_names * n.row_names, by = n.subrow_names), extra_css = "border-bottom: 2px solid black", hline_after = TRUE) - if (plot.legend == TRUE) { + if (plot_legend == TRUE) { # Save the scorecard (without legend) save_kable(table.html, file = paste0(fileout, '_tmpScorecard.png'), vheight = 1) # White space for legend - legend.white.space <- 37.8 * legend.white.space ## converting pixels to cm + legend_white_space <- 37.8 * legend_white_space ## converting pixels to cm # Create and save color bar legend - .ScorecardLegend(legend.breaks = legend.breaks, + .ScorecardLegend(legend_breaks = legend_breaks, palette = palette, colorunder = colorunder, colorsup = colorsup, - label.scale = label.scale, - legend.width = legend.width, - legend.height = legend.height, - legend.white.space = legend.white.space, + label_scale = label_scale, + legend_width = legend_width, + legend_height = legend_height, + legend_white_space = legend_white_space, fileout = fileout) # Add the legends below the scorecard table @@ -429,29 +443,29 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', # Remove temporary scorecard table unlink(paste0(fileout, '_tmpScorecard*.png')) } - if (plot.legend == FALSE) { + if (plot_legend == FALSE) { save_kable(table.html, file = fileout) } } # Scorecards function to create the color bar legends for the required metrics # and paste them below the scorecard table -.ScorecardLegend <- function(legend.breaks, palette, colorunder, colorsup, - label.scale, legend.width, legend.height, - legend.white.space, fileout) { +.ScorecardLegend <- function(legend_breaks, palette, colorunder, colorsup, + label_scale, legend_width, legend_height, + legend_white_space, fileout) { ## Create color bar legends for each metric for (i in 1:length(palette)) { - png(filename = paste0(fileout, '_tmpLegend', i, '.png'), width = legend.width, - height = legend.height) - ColorBarContinuous(brks = legend.breaks[[i]], cols = palette[[i]], vertical = FALSE, - label_scale = label.scale, col_inf = colorunder[[i]], + png(filename = paste0(fileout, '_tmpLegend', i, '.png'), width = legend_width, + height = legend_height) + ColorBarContinuous(brks = legend_breaks[[i]], cols = palette[[i]], vertical = FALSE, + label_scale = label_scale, col_inf = colorunder[[i]], col_sup = colorsup[[i]]) dev.off() if (i == 1) { ## Add white space to the left of the first color bar legend system(paste0('convert ', fileout, '_tmpLegend1.png -background white -splice ', - legend.white.space, 'x0 ', fileout, '_tmpScorecardLegend.png')) + legend_white_space, 'x0 ', fileout, '_tmpScorecardLegend.png')) } else { system(paste0('convert +append ', fileout, '_tmpScorecardLegend.png ', fileout, '_tmpLegend', i, '.png ', fileout, @@ -470,7 +484,7 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', # (2) metric.text.color, A 2-dimensional array with character strings # containing the color codes for each cell text. .ScorecardColors <- function(table, n.col, n.subcol, n.row, n.subrow, - legend.breaks, palette, colorunder, colorsup) { + legend_breaks, palette, colorunder, colorsup) { # Define rows and columns n.rows <- n.row * n.subrow n.columns <- n.col * n.subcol @@ -482,7 +496,7 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', ## Define cell and text colors to show in table for (i in 1:n.col) { - metric.int <- legend.breaks[[i]] + metric.int <- legend_breaks[[i]] for (rr in 1:n.rows) { for (j in 1:n.subcol) { for (pp in 1:(length(metric.int) - 1)) { @@ -519,8 +533,6 @@ VizScorecard <- function(data, row.dim = 'region', subrow.dim = 'time', } } } - return(list(metric.color = metric.color, metric.text.color = metric.text.color)) - } \ No newline at end of file diff --git a/tests/testthat/_snaps/VizScorecard/VizScorecard_1a.png b/tests/testthat/_snaps/VizScorecard/VizScorecard_1a.png new file mode 100644 index 0000000000000000000000000000000000000000..785dd57a7e29934d8948ff7f60d78a3a86efeafd GIT binary patch literal 505950 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

(D4y2!#?{Dw$_X#r0(yh){CWTZo!+m3B@0(7p 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%0Dw#Gq59yK@PH?(R~$ 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

NY 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 Kru>!h$NvJ}@3rOt literal 0 HcmV?d00001 diff --git a/tests/testthat/test-VizScorecard.R b/tests/testthat/test-VizScorecard.R index 1946373..08c48d5 100644 --- a/tests/testthat/test-VizScorecard.R +++ b/tests/testthat/test-VizScorecard.R @@ -6,8 +6,8 @@ data <- array(rnorm(1000), dim = c('sdate' = 12, 'metric' = 4, 'region' = 3, 'time' = 6)) -row.names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') -col.names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') +row_names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') +col_names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') #-------------------------------------------------------------------- test_that("1. Test input", { @@ -16,147 +16,156 @@ test_that("1. Test input", { VizScorecard('a'), "Parameter 'data' must be a numeric array." ) - # Check row.dim + # Check row_dim expect_error( - VizScorecard(data, row.dim = 1), - "Parameter 'row.dim' must be a character string." + VizScorecard(data, row_dim = 1), + "Parameter 'row_dim' must be a character string." ) expect_error( - VizScorecard(data, row.dim = 'a'), - "Parameter 'row.dim' is not found in 'data' dimensions." + VizScorecard(data, row_dim = 'a'), + "Parameter 'row_dim' is not found in 'data' dimensions." ) - # Check row.names + # Check row_names expect_error( - VizScorecard(data, row.names = 'a'), - paste0("Parameter 'row.names' must have the same length of dimension ", - "'row.dim'.") + VizScorecard(data, row_names = 'a'), + paste0("Parameter 'row_names' must have the same length of dimension ", + "'row_dim'.") ) - # Check subrow.dim + # Check subrow_dim expect_error( - VizScorecard(data, subrow.dim = 1), - paste0("Parameter 'subrow.dim' must be a character string.") + VizScorecard(data, subrow_dim = 1), + paste0("Parameter 'subrow_dim' must be a character string.") ) expect_error( - VizScorecard(data, subrow.dim = 'a'), - paste0("Parameter 'subrow.dim' is not found in 'data' dimensions.") + VizScorecard(data, subrow_dim = 'a'), + paste0("Parameter 'subrow_dim' is not found in 'data' dimensions.") ) - # Check subrow.names + # Check subrow_names expect_error( - VizScorecard(data, subrow.names = 'a'), - paste0("Parameter 'subrow.names' must have the same length of dimension ", - "'subrow.dim'.") + VizScorecard(data, subrow_names = 'a'), + paste0("Parameter 'subrow_names' must have the same length of dimension ", + "'subrow_dim'.") ) - # Check col.dim + # Check col_dim expect_error( - VizScorecard(data, col.dim = 1), - paste0("Parameter 'col.dim' must be a character string.") + VizScorecard(data, col_dim = 1), + paste0("Parameter 'col_dim' must be a character string.") ) expect_error( - VizScorecard(data, col.dim = 'a'), - paste0("Parameter 'col.dim' is not found in 'data' dimensions.") + VizScorecard(data, col_dim = 'a'), + paste0("Parameter 'col_dim' is not found in 'data' dimensions.") ) - # Check col.names + # Check col_names expect_error( - VizScorecard(data, col.names = 'a'), - paste0("Parameter 'col.names' must have the same length of dimension ", - "'col.dim'.") + VizScorecard(data, col_names = 'a'), + paste0("Parameter 'col_names' must have the same length of dimension ", + "'col_dim'.") ) - # Check subcol.dim + # Check subcol_dim expect_error( - VizScorecard(data, subcol.dim = 1), - paste0("Parameter 'subcol.dim' must be a character string.") + VizScorecard(data, subcol_dim = 1), + paste0("Parameter 'subcol_dim' must be a character string.") ) expect_error( - VizScorecard(data, subcol.dim = 'a'), - paste0("Parameter 'subcol.dim' is not found in 'data' dimensions.") + VizScorecard(data, subcol_dim = 'a'), + paste0("Parameter 'subcol_dim' is not found in 'data' dimensions.") ) - # Check subcol.names + # Check subcol_names expect_error( - VizScorecard(data, subcol.names = 'a'), - paste0("Parameter 'subcol.names' must have the same length of dimension ", - "'subcol.dim'.") + VizScorecard(data, subcol_names = 'a'), + paste0("Parameter 'subcol_names' must have the same length of dimension ", + "'subcol_dim'.") ) - # Check legend.dim + # Check legend_dim expect_error( - VizScorecard(data, legend.dim = 1), - paste0("Parameter 'legend.dim' must be a character string.") + VizScorecard(data, legend_dim = 1), + paste0("Parameter 'legend_dim' must be a character string.") ) expect_error( - VizScorecard(data, legend.dim = 'a'), - paste0("Parameter 'legend.dim' is not found in 'data' dimensions.") + VizScorecard(data, legend_dim = 'a'), + paste0("Parameter 'legend_dim' is not found in 'data' dimensions.") ) - # Check row.title + # Check row_title expect_error( - VizScorecard(data, row.title = 1), - paste0("Parameter 'row.title' must be a character string.") + VizScorecard(data, row_title = 1), + paste0("Parameter 'row_title' must be a character string.") ) - # Check subrow.title + # Check subrow_title expect_error( - VizScorecard(data, subrow.title = 1), - paste0("Parameter 'subrow.title' must be a character string.") + VizScorecard(data, subrow_title = 1), + paste0("Parameter 'subrow_title' must be a character string.") ) - # Check row.title + # Check row_title expect_error( - VizScorecard(data, col.title = 1), - paste0("Parameter 'col.title' must be a character string.") + VizScorecard(data, col_title = 1), + paste0("Parameter 'col_title' must be a character string.") ) - # Check table.title + # Check table_title expect_error( - VizScorecard(data, table.title = 1), - paste0("Parameter 'table.title' must be a character string.") + VizScorecard(data, table_title = 1), + paste0("Parameter 'table_title' must be a character string.") ) - # Check table.subtitle + # Check table_subtitle expect_error( - VizScorecard(data, table.subtitle = 1), - paste0("Parameter 'table.subtitle' must be a character string.") + VizScorecard(data, table_subtitle = 1), + paste0("Parameter 'table_subtitle' must be a character string.") ) - # Check legend.breaks + # Check legend_breaks expect_error( - VizScorecard(data, legend.breaks = list(1)), - paste0("Parameter 'legend.breaks' must be a list with the same number of ", - "elements as the length of the 'legend.dim' dimension in data.") + VizScorecard(data, legend_breaks = list(1)), + paste0("Parameter 'legend_breaks' must be a list with the same number of ", + "elements as the length of the 'legend_dim' dimension in data.") ) expect_error( - VizScorecard(data, legend.breaks = 'a'), - "Parameter 'legend.breaks' must be a numeric vector, a list or NULL." + VizScorecard(data, legend_breaks = 'a'), + "Parameter 'legend_breaks' must be a numeric vector, a list or NULL." ) - # Check plot.legend expect_error( - VizScorecard(data, plot.legend = 'a'), - "Parameter 'plot.legend' must be a logical value." + VizScorecard(data, legend_breaks = 1), + "Parameter 'legend_breaks' can't be of length 1." ) - # Check label.scale expect_error( - VizScorecard(data, label.scale = 'a'), - "Parameter 'label.scale' must be a numeric value of length 1." + VizScorecard(data, legend_breaks = seq(-1, 1, 0.1)), + paste0("Parameter 'palette' must be provided when 'legend_breaks' exceed ", + "the length of 11.") ) + # Check plot_legend expect_error( - VizScorecard(data, label.scale = c(1,2)), - "Parameter 'label.scale' must be a numeric value of length 1." + VizScorecard(data, plot_legend = 'a'), + "Parameter 'plot_legend' must be a logical value." ) - # Check legend.width + # Check label_scale expect_error( - VizScorecard(data, legend.width = c(1,2)), - "Parameter 'legend.width' must be a numeric value of length 1." + VizScorecard(data, label_scale = 'a'), + "Parameter 'label_scale' must be a numeric value of length 1." ) expect_error( - VizScorecard(data, legend.width = 'a'), - "Parameter 'legend.width' must be a numeric value of length 1." + VizScorecard(data, label_scale = c(1,2)), + "Parameter 'label_scale' must be a numeric value of length 1." ) - # Check legend.height + # Check legend_width expect_error( - VizScorecard(data, legend.height = c(1,2)), - "Parameter 'legend.height' must be a numeric value of length 1." + VizScorecard(data, legend_width = c(1,2)), + "Parameter 'legend_width' must be a numeric value of length 1." ) expect_error( - VizScorecard(data, legend.height = 'a'), - "Parameter 'legend.height' must be a numeric value of length 1." + VizScorecard(data, legend_width = 'a'), + "Parameter 'legend_width' must be a numeric value of length 1." + ) + # Check legend_height + expect_error( + VizScorecard(data, legend_height = c(1,2)), + "Parameter 'legend_height' must be a numeric value of length 1." + ) + expect_error( + VizScorecard(data, legend_height = 'a'), + "Parameter 'legend_height' must be a numeric value of length 1." ) # Check colour palette input expect_error( VizScorecard(data, palette = list(1)), paste0("Parameter 'palette' must be a list with the same number of ", - "elements as the length of the 'legend.dim' dimension in data.") + "elements as the length of the 'legend_dim' dimension in data.") ) expect_error( VizScorecard(data, palette = list(1,1,1,1)), @@ -174,7 +183,7 @@ test_that("1. Test input", { expect_error( VizScorecard(data, colorunder = rep('a', 5)), paste0("Parameter 'colorunder' must be a list with the same number of ", - "elements as the length of the 'legend.dim' dimension in data.") + "elements as the length of the 'legend_dim' dimension in data.") ) # Check colorsup expect_error( @@ -184,32 +193,32 @@ test_that("1. Test input", { expect_error( VizScorecard(data, colorsup = rep('a', 5)), paste0("Parameter 'colorsup' must be a list with the same number of ", - "elements as the length of the 'legend.dim' dimension in data.") + "elements as the length of the 'legend_dim' dimension in data.") ) - # Check round.decimal + # Check round_decimal expect_error( - VizScorecard(data, round.decimal = 'a'), - "Parameter 'round.decimal' must be a numeric value of length 1." + VizScorecard(data, round_decimal = 'a'), + "Parameter 'round_decimal' must be a numeric value of length 1." ) - # Check font.size + # Check font_size expect_error( - VizScorecard(data, font.size = 'a'), - "Parameter 'font.size' must be a numeric value of length 1." + VizScorecard(data, font_size = 'a'), + "Parameter 'font_size' must be a numeric value of length 1." ) # Check legend white space expect_error( - VizScorecard(data, legend.white.space = 'a'), - "Parameter 'legend.white.space' must be a numeric value of length 1." + VizScorecard(data, legend_white_space = 'a'), + "Parameter 'legend_white_space' must be a numeric value of length 1." ) - # Check col1.width + # Check col1_width expect_error( - VizScorecard(data, col1.width = 'a'), - "Parameter 'col1.width' must be a numeric value of length 1." + VizScorecard(data, col1_width = 'a'), + "Parameter 'col1_width' must be a numeric value of length 1." ) - # Check col2.width + # Check col2_width expect_error( - VizScorecard(data, col2.width = 'a'), - "Parameter 'col2.width' must be a numeric value of length 1." + VizScorecard(data, col2_width = 'a'), + "Parameter 'col2_width' must be a numeric value of length 1." ) }) @@ -224,8 +233,8 @@ test_that("1. Test input", { # set.seed(1) # data <- array(rnorm(1000), dim = c('sdate' = 12, 'metric' = 4, 'region' = 3, # 'time' = 6)) -# row.names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') -# col.names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') +# row_names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') +# col_names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') # save_fun <- function(...) { # path <- tempfile(fileext = ".png") @@ -235,13 +244,13 @@ test_that("1. Test input", { # test_that("2. Output", { # expect_snapshot_file( -# save_fun(data = data, row.names = row.names, col.names = col.names, -# subcol.names = month.abb[as.numeric(1:12)], -# row.title = 'Region', subrow.title = 'Forecast Month', -# col.title = 'Start date', -# table.title = "Temperature of ECMWF System 5", -# table.subtitle = "(Ref: ERA5 1994-2016)", -# plot.legend = TRUE), +# save_fun(data = data, row_names = row_names, col_names = col_names, +# subcol_names = month.abb[as.numeric(1:12)], +# row_title = 'Region', subrow_title = 'Forecast Month', +# col_title = 'Start date', +# table_title = "Temperature of ECMWF System 5", +# table_subtitle = "(Ref: ERA5 1994-2016)", +# plot_legend = TRUE), # name = 'VizScorecard_1a.png' # ) # }) \ No newline at end of file -- GitLab From 9d8af8cb3e064755cebbb8f3cee2e38e37c0cce5 Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Tue, 9 Jan 2024 08:49:37 +0100 Subject: [PATCH 11/12] Generate documentation --- R/VizScorecard.R | 8 +-- man/VizScorecard.Rd | 127 ++++++++++++++++++++++++-------------------- 2 files changed, 73 insertions(+), 62 deletions(-) diff --git a/R/VizScorecard.R b/R/VizScorecard.R index 3284320..d48cf65 100644 --- a/R/VizScorecard.R +++ b/R/VizScorecard.R @@ -355,10 +355,10 @@ VizScorecard <- function(data, row_dim = 'region', subrow_dim = 'time', table_temp <- array(unlist(table[3:n.columns]), dim = c(n.rows, n.columns - 2)) # Define colors to show in table table_colors <- .ScorecardColors(table = table_temp, n.col = n.col_names, - n.subcol = n.subcol_names, n.row = n.row_names, - n.subrow = n.subrow_names, legend_breaks = legend_breaks, - palette = palette, colorunder = colorunder, - colorsup = colorsup) + n.subcol = n.subcol_names, n.row = n.row_names, + n.subrow = n.subrow_names, legend_breaks = legend_breaks, + palette = palette, colorunder = colorunder, + colorsup = colorsup) metric.color <- table_colors$metric.color metric.text.color <- table_colors$metric.text.color # metric.text.bold <- table_colors$metric.text.bold diff --git a/man/VizScorecard.Rd b/man/VizScorecard.Rd index 1294feb..b5379a5 100644 --- a/man/VizScorecard.Rd +++ b/man/VizScorecard.Rd @@ -6,33 +6,33 @@ \usage{ VizScorecard( data, - row.dim = "region", - subrow.dim = "time", - col.dim = "metric", - subcol.dim = "sdate", - legend.dim = "metric", - row.names = NULL, - subrow.names = NULL, - col.names = NULL, - subcol.names = NULL, - row.title = "", - subrow.title = "", - col.title = "", - table.title = "", - table.subtitle = "", - legend.breaks = NULL, - plot.legend = TRUE, - label.scale = 1.4, - legend.width = NULL, - legend.height = 50, + row_dim = "region", + subrow_dim = "time", + col_dim = "metric", + subcol_dim = "sdate", + legend_dim = "metric", + row_names = NULL, + subrow_names = NULL, + col_names = NULL, + subcol_names = NULL, + row_title = "", + subrow_title = "", + col_title = "", + table_title = "", + table_subtitle = "", + legend_breaks = NULL, + plot_legend = TRUE, + label_scale = 1.4, + legend_width = NULL, + legend_height = 50, palette = NULL, colorunder = NULL, colorsup = NULL, - round.decimal = 2, - font.size = 1.1, - legend.white.space = 6, - col1.width = NULL, - col2.width = NULL, + round_decimal = 2, + font_size = 1.1, + legend_white_space = 6, + col1_width = NULL, + col2_width = NULL, fileout = "./scorecard.png" ) } @@ -40,56 +40,59 @@ VizScorecard( \item{data}{A multidimensional array containing spatially aggregated metrics data with dimensions: metric, region, sdate and ftime.} -\item{row.dim}{A character string indicating the dimension name to show in the +\item{row_dim}{A character string indicating the dimension name to show in the rows of the plot.} -\item{subrow.dim}{A character string indicating the dimension name to show in +\item{subrow_dim}{A character string indicating the dimension name to show in the sub-rows of the plot.} -\item{col.dim}{A character string indicating the dimension name to show in the +\item{col_dim}{A character string indicating the dimension name to show in the columns of the plot.} -\item{subcol.dim}{A character string indicating the dimension name to show in +\item{subcol_dim}{A character string indicating the dimension name to show in the sub-columns of the plot.} -\item{legend.dim}{A character string indicating the dimension name to use for +\item{legend_dim}{A character string indicating the dimension name to use for the legend.} -\item{row.names}{A vector of character strings with row display names.} +\item{row_names}{A vector of character strings with row display names.} -\item{subrow.names}{A vector of character strings with sub-row display names.} +\item{subrow_names}{A vector of character strings with sub-row display names.} -\item{col.names}{A vector of character strings with column display names.} +\item{col_names}{A vector of character strings with column display names.} -\item{subcol.names}{A vector of character strings with sub-column display +\item{subcol_names}{A vector of character strings with sub-column display names.} -\item{row.title}{A character string for the title of the row names.} +\item{row_title}{A character string for the title of the row names.} -\item{subrow.title}{A character string for the title of the sub-row names.} +\item{subrow_title}{A character string for the title of the sub-row names.} -\item{table.title}{A character string for the title of the plot.} +\item{table_title}{A character string for the title of the plot.} -\item{table.subtitle}{A character string for the sub-title of the plot.} +\item{table_subtitle}{A character string for the sub-title of the plot.} -\item{legend.breaks}{A vector of numerics or a list of vectors of numerics, +\item{legend_breaks}{A vector of numerics or a list of vectors of numerics, containing the breaks for the legends. If a vector is given as input, then -these breaks will be repeated for each 'legend.dim'. A list of vectors can -be given as input if the 'legend.dims' require different breaks. This +these breaks will be repeated for each 'legend_dim'. A list of vectors can +be given as input if the 'legend_dims' require different breaks. This parameter is required even if the legend is not plotted, to define the colors in the scorecard table.} -\item{plot.legend}{A logical value to determine if the legend is plotted.} +\item{plot_legend}{A logical value to determine if the legend is plotted.} -\item{legend.width}{A numeric value to define the width of the legend bars.} +\item{label_scale}{A numeric value indicating the label scale of the legend +values.} -\item{legend.height}{A numeric value to define the height of the legend bars.} +\item{legend_width}{A numeric value to define the width of the legend bars.} + +\item{legend_height}{A numeric value to define the height of the legend bars.} \item{palette}{A vector of character strings or a list of vectors of character strings containing the colors to use in the legends. If a vector -is given as input, then these colors will be used for each legend.dim. A +is given as input, then these colors will be used for each legend_dim. A list of vectors can be given as input if different colors are desired for -the legend.dims. This parameter must be included even if the the legend is +the legend_dims. This parameter must be included even if the the legend is not plotted, to define the colors in the scorecard table.} \item{colorunder}{A character string or of vector of character strings @@ -97,18 +100,26 @@ defining the colors to use for data values with are inferior to the lowest breaks value. This parameter will also plot a inferior triangle in the legend bar. The parameter can be set to NULL if there are no inferior values. If a character string is given this color will be applied to all -'legend.dims'.} +'legend_dims'.} \item{colorsup}{A character string or of vector of character strings defining the colors to use for data values with are superior to the highest breaks value. This parameter will also plot a inferior triangle in the legend bar. The parameter can be set to NULL if there are no superior values. -If a character string is given this color will be applied to all legend.dims.} +If a character string is given this color will be applied to all legend_dims.} -\item{round.decimal}{A numeric indicating to which decimal point the data +\item{round_decimal}{A numeric indicating to which decimal point the data is to be displayed in the scorecard table.} -\item{font.size}{A numeric indicating the font size on the scorecard table.} +\item{font_size}{A numeric indicating the font size on the scorecard table.} + +\item{legend_white_space}{A numeric value indicating the white space width at +the left side of the legend. The default value is 6.} + +\item{col1_width}{A numeric value indicating the width of the column header.} + +\item{col2_width}{A numeric value indicating the width of the subcolumn +header.} \item{fileout}{A path of the location to save the scorecard plots.} } @@ -124,14 +135,14 @@ Note: Module PhantomJS is required. \examples{ data <- array(rnorm(1000), dim = c('sdate' = 12, 'metric' = 4, 'region' = 3, 'time' = 6)) -row.names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') -col.names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') -VizScorecard(data = data, row.names = row.names, col.names = col.names, - subcol.names = month.abb[as.numeric(1:12)], - row.title = 'Region', subrow.title = 'Forecast Month', - col.title = 'Start date', - table.title = "Temperature of ECMWF System 5", - table.subtitle = "(Ref: ERA5 1994-2016)", - fileout = 'test.png') +row_names <- c('Tropics', 'Extra-tropical NH', 'Extra-tropical SH') +col_names <- c('Mean bias (K)', 'Correlation', 'RPSS','CRPSS') +VizScorecard(data = data, row_names = row_names, col_names = col_names, + subcol_names = month.abb[as.numeric(1:12)], + row_title = 'Region', subrow_title = 'Forecast Month', + col_title = 'Start date', + table_title = "Temperature of ECMWF System 5", + table_subtitle = "(Ref: ERA5 1994-2016)", + fileout = 'test.png') } -- GitLab From e25f53dc1f2438073d9bb5a308bbebc56ba83a5b Mon Sep 17 00:00:00 2001 From: Eva Rifa Date: Tue, 9 Jan 2024 10:09:50 +0100 Subject: [PATCH 12/12] Improve documentation and add a check for data --- R/VizScorecard.R | 128 +++++++++++++++++++++++++++++--------------- man/VizScorecard.Rd | 92 ++++++++++++++++++------------- 2 files changed, 139 insertions(+), 81 deletions(-) diff --git a/R/VizScorecard.R b/R/VizScorecard.R index d48cf65..889727c 100644 --- a/R/VizScorecard.R +++ b/R/VizScorecard.R @@ -1,68 +1,85 @@ -#'Scorecards function create simple scorecards +#'Function to plot Scorecard tables #' -#'@description This function creates a scorecard for a single system and -#'reference combination, showing data by region and forecast month. +#'This function renders a scorecard table from a multidimensional array +#'in HTML style. The structure of the table is based on the assignment of each +#'dimension of the array as a structure element: row, subrow, column or +#'subcolumn. It is useful to present tabular results with colors in a nice way. #' #'Note: Module PhantomJS is required. #' -#'@param data A multidimensional array containing spatially aggregated metrics -#' data with dimensions: metric, region, sdate and ftime. +#'@param data A multidimensional array containing the data to be plotted with +#' at least four dimensions. Each dimension will have assigned a structure +#' element: row, subrow, column and subcolumn. #'@param row_dim A character string indicating the dimension name to show in the -#' rows of the plot. +#' rows of the plot. It is set as 'region' by default. #'@param subrow_dim A character string indicating the dimension name to show in -#' the sub-rows of the plot. +#' the sub-rows of the plot. It is set as 'time' by default. #'@param col_dim A character string indicating the dimension name to show in the -#' columns of the plot. +#' columns of the plot. It is set as 'metric' by default. #'@param subcol_dim A character string indicating the dimension name to show in -#' the sub-columns of the plot. +#' the sub-columns of the plot. It is set as 'sdate' by default. #'@param legend_dim A character string indicating the dimension name to use for -#' the legend. -#'@param row_names A vector of character strings with row display names. -#'@param subrow_names A vector of character strings with sub-row display names. -#'@param col_names A vector of character strings with column display names. +#' the legend. It is set as 'metric' by default. +#'@param row_names A vector of character strings with row display names. It +#' is set as NULL by default. +#'@param subrow_names A vector of character strings with sub-row display names. +#' It is set as NULL by default. +#'@param col_names A vector of character strings with column display names. It +#' is set as NULL by default. #'@param subcol_names A vector of character strings with sub-column display -#' names. -#'@param row_title A character string for the title of the row names. -#'@param subrow_title A character string for the title of the sub-row names. -#'@param table_title A character string for the title of the plot. -#'@param table_subtitle A character string for the sub-title of the plot. +#' names. It is set as NULL by default. +#'@param row_title A character string for the title of the row names. It is set +#' as NULL by default. +#'@param subrow_title A character string for the title of the sub-row names. It +#' is set as NULL by default. +#'@param table_title A character string for the title of the plot. It is set as +#' NULL by default. +#'@param table_subtitle A character string for the sub-title of the plot. It is +#' set as NULL by default. #'@param legend_breaks A vector of numerics or a list of vectors of numerics, #' containing the breaks for the legends. If a vector is given as input, then #' these breaks will be repeated for each 'legend_dim'. A list of vectors can #' be given as input if the 'legend_dims' require different breaks. This #' parameter is required even if the legend is not plotted, to define the -#' colors in the scorecard table. -#'@param plot_legend A logical value to determine if the legend is plotted. +#' colors in the scorecard table. It is set as NULL by default. +#'@param plot_legend A logical value to determine if the legend is plotted. It +#' is set as TRUE by default. #'@param label_scale A numeric value indicating the label scale of the legend -#' values. -#'@param legend_width A numeric value to define the width of the legend bars. -#'@param legend_height A numeric value to define the height of the legend bars. +#' values. It is set as 1.4 by default. +#'@param legend_width A numeric value to define the width of the legend bars. By +#' default it is set to NULL and calculated internally from the table width. +#'@param legend_height A numeric value to define the height of the legend bars. +#' It is set as 50 by default. #'@param palette A vector of character strings or a list of vectors of #' character strings containing the colors to use in the legends. If a vector #' is given as input, then these colors will be used for each legend_dim. A #' list of vectors can be given as input if different colors are desired for -#' the legend_dims. This parameter must be included even if the the legend is -#' not plotted, to define the colors in the scorecard table. +#' the legend_dims. This parameter must be included even if the legend is +#' not plotted, to define the colors in the scorecard table. #'@param colorunder A character string or of vector of character strings #' defining the colors to use for data values with are inferior to the lowest #' breaks value. This parameter will also plot a inferior triangle in the #' legend bar. The parameter can be set to NULL if there are no inferior values. #' If a character string is given this color will be applied to all -#' 'legend_dims'. +#' 'legend_dims'. It is set as NULL by default. #'@param colorsup A character string or of vector of character strings #' defining the colors to use for data values with are superior to the highest #' breaks value. This parameter will also plot a inferior triangle in the #' legend bar. The parameter can be set to NULL if there are no superior values. -#' If a character string is given this color will be applied to all legend_dims. +#' If a character string is given this color will be applied to all +#' legend_dims. It is set as NULL by default. #'@param round_decimal A numeric indicating to which decimal point the data -#' is to be displayed in the scorecard table. -#'@param font_size A numeric indicating the font size on the scorecard table. +#' is to be displayed in the scorecard table. It is set as 2 by default. +#'@param font_size A numeric indicating the font size on the scorecard table. It +#' is set as 1.1 by default. #'@param legend_white_space A numeric value indicating the white space width at #' the left side of the legend. The default value is 6. #'@param col1_width A numeric value indicating the width of the column header. +#' It is set as NULL by default. #'@param col2_width A numeric value indicating the width of the subcolumn -#' header. -#'@param fileout A path of the location to save the scorecard plots. +#' header. It is set as NULL by default. +#'@param fileout A path of the location to save the scorecard plots. By default +#' the plots will be saved to the working directory. #' #'@return An image file containing the scorecard. #'@examples @@ -86,9 +103,9 @@ VizScorecard <- function(data, row_dim = 'region', subrow_dim = 'time', col_dim = 'metric', subcol_dim = 'sdate', legend_dim = 'metric', row_names = NULL, subrow_names = NULL, col_names = NULL, - subcol_names = NULL, row_title = "", - subrow_title = "", col_title = "", - table_title = "", table_subtitle = "", + subcol_names = NULL, row_title = NULL, + subrow_title = NULL, col_title = NULL, + table_title = NULL, table_subtitle = NULL, legend_breaks = NULL, plot_legend = TRUE, label_scale = 1.4, legend_width = NULL, legend_height = 50, palette = NULL, @@ -103,6 +120,9 @@ VizScorecard <- function(data, row_dim = 'region', subrow_dim = 'time', if (!is.array(data)) { stop("Parameter 'data' must be a numeric array.") } + if (length(dim(data)) != 4) { + stop("Parameter 'data' must have four dimensions.") + } ## Check row_dim if (!is.character(row_dim)) { stop("Parameter 'row_dim' must be a character string.") @@ -171,24 +191,44 @@ VizScorecard <- function(data, row_dim = 'region', subrow_dim = 'time', stop("Parameter 'legend_dim' is not found in 'data' dimensions.") } ## Check row_title - if (!is.character(row_title)) { - stop("Parameter 'row_title' must be a character string.") + if (is.null(row_title)) { + row_title <- "" + } else { + if (!is.character(row_title)) { + stop("Parameter 'row_title' must be a character string.") + } } ## Check subrow_title - if (!is.character(subrow_title)) { - stop("Parameter 'subrow_title' must be a character string.") + if (is.null(subrow_title)) { + subrow_title <- "" + } else { + if (!is.character(subrow_title)) { + stop("Parameter 'subrow_title' must be a character string.") + } } ## Check col_title - if (!is.character(col_title)) { - stop("Parameter 'col_title' must be a character string.") + if (is.null(col_title)) { + col_title <- "" + } else { + if (!is.character(col_title)) { + stop("Parameter 'col_title' must be a character string.") + } } ## Check table_title - if (!is.character(table_title)) { - stop("Parameter 'table_title' must be a character string.") + if (is.null(table_title)) { + table_title <- "" + } else { + if (!is.character(table_title)) { + stop("Parameter 'table_title' must be a character string.") + } } ## Check table_subtitle - if (!is.character(table_subtitle)) { - stop("Parameter 'table_subtitle' must be a character string.") + if (is.null(table_subtitle)) { + table_subtitle <- "" + } else { + if (!is.character(table_subtitle)) { + stop("Parameter 'table_subtitle' must be a character string.") + } } # Check legend_breaks if (inherits(legend_breaks, 'list')) { diff --git a/man/VizScorecard.Rd b/man/VizScorecard.Rd index b5379a5..54cd20e 100644 --- a/man/VizScorecard.Rd +++ b/man/VizScorecard.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/VizScorecard.R \name{VizScorecard} \alias{VizScorecard} -\title{Scorecards function create simple scorecards} +\title{Function to plot Scorecard tables} \usage{ VizScorecard( data, @@ -15,11 +15,11 @@ VizScorecard( subrow_names = NULL, col_names = NULL, subcol_names = NULL, - row_title = "", - subrow_title = "", - col_title = "", - table_title = "", - table_subtitle = "", + row_title = NULL, + subrow_title = NULL, + col_title = NULL, + table_title = NULL, + table_subtitle = NULL, legend_breaks = NULL, plot_legend = TRUE, label_scale = 1.4, @@ -37,62 +37,73 @@ VizScorecard( ) } \arguments{ -\item{data}{A multidimensional array containing spatially aggregated metrics -data with dimensions: metric, region, sdate and ftime.} +\item{data}{A multidimensional array containing the data to be plotted with +at least four dimensions. Each dimension will have assigned a structure +element: row, subrow, column and subcolumn.} \item{row_dim}{A character string indicating the dimension name to show in the -rows of the plot.} +rows of the plot. It is set as 'region' by default.} \item{subrow_dim}{A character string indicating the dimension name to show in -the sub-rows of the plot.} +the sub-rows of the plot. It is set as 'time' by default.} \item{col_dim}{A character string indicating the dimension name to show in the -columns of the plot.} +columns of the plot. It is set as 'metric' by default.} \item{subcol_dim}{A character string indicating the dimension name to show in -the sub-columns of the plot.} +the sub-columns of the plot. It is set as 'sdate' by default.} \item{legend_dim}{A character string indicating the dimension name to use for -the legend.} +the legend. It is set as 'metric' by default.} -\item{row_names}{A vector of character strings with row display names.} +\item{row_names}{A vector of character strings with row display names. It +is set as NULL by default.} -\item{subrow_names}{A vector of character strings with sub-row display names.} +\item{subrow_names}{A vector of character strings with sub-row display names. +It is set as NULL by default.} -\item{col_names}{A vector of character strings with column display names.} +\item{col_names}{A vector of character strings with column display names. It +is set as NULL by default.} \item{subcol_names}{A vector of character strings with sub-column display -names.} +names. It is set as NULL by default.} -\item{row_title}{A character string for the title of the row names.} +\item{row_title}{A character string for the title of the row names. It is set +as NULL by default.} -\item{subrow_title}{A character string for the title of the sub-row names.} +\item{subrow_title}{A character string for the title of the sub-row names. It +is set as NULL by default.} -\item{table_title}{A character string for the title of the plot.} +\item{table_title}{A character string for the title of the plot. It is set as +NULL by default.} -\item{table_subtitle}{A character string for the sub-title of the plot.} +\item{table_subtitle}{A character string for the sub-title of the plot. It is +set as NULL by default.} \item{legend_breaks}{A vector of numerics or a list of vectors of numerics, containing the breaks for the legends. If a vector is given as input, then these breaks will be repeated for each 'legend_dim'. A list of vectors can be given as input if the 'legend_dims' require different breaks. This parameter is required even if the legend is not plotted, to define the -colors in the scorecard table.} +colors in the scorecard table. It is set as NULL by default.} -\item{plot_legend}{A logical value to determine if the legend is plotted.} +\item{plot_legend}{A logical value to determine if the legend is plotted. It +is set as TRUE by default.} \item{label_scale}{A numeric value indicating the label scale of the legend -values.} +values. It is set as 1.4 by default.} -\item{legend_width}{A numeric value to define the width of the legend bars.} +\item{legend_width}{A numeric value to define the width of the legend bars. By +default it is set to NULL and calculated internally from the table width.} -\item{legend_height}{A numeric value to define the height of the legend bars.} +\item{legend_height}{A numeric value to define the height of the legend bars. +It is set as 50 by default.} \item{palette}{A vector of character strings or a list of vectors of character strings containing the colors to use in the legends. If a vector is given as input, then these colors will be used for each legend_dim. A list of vectors can be given as input if different colors are desired for -the legend_dims. This parameter must be included even if the the legend is +the legend_dims. This parameter must be included even if the legend is not plotted, to define the colors in the scorecard table.} \item{colorunder}{A character string or of vector of character strings @@ -100,36 +111,43 @@ defining the colors to use for data values with are inferior to the lowest breaks value. This parameter will also plot a inferior triangle in the legend bar. The parameter can be set to NULL if there are no inferior values. If a character string is given this color will be applied to all -'legend_dims'.} +'legend_dims'. It is set as NULL by default.} \item{colorsup}{A character string or of vector of character strings defining the colors to use for data values with are superior to the highest breaks value. This parameter will also plot a inferior triangle in the legend bar. The parameter can be set to NULL if there are no superior values. -If a character string is given this color will be applied to all legend_dims.} +If a character string is given this color will be applied to all +legend_dims. It is set as NULL by default.} \item{round_decimal}{A numeric indicating to which decimal point the data -is to be displayed in the scorecard table.} +is to be displayed in the scorecard table. It is set as 2 by default.} -\item{font_size}{A numeric indicating the font size on the scorecard table.} +\item{font_size}{A numeric indicating the font size on the scorecard table. It +is set as 1.1 by default.} \item{legend_white_space}{A numeric value indicating the white space width at the left side of the legend. The default value is 6.} -\item{col1_width}{A numeric value indicating the width of the column header.} +\item{col1_width}{A numeric value indicating the width of the column header. +It is set as NULL by default.} \item{col2_width}{A numeric value indicating the width of the subcolumn -header.} +header. It is set as NULL by default.} -\item{fileout}{A path of the location to save the scorecard plots.} +\item{fileout}{A path of the location to save the scorecard plots. By default +the plots will be saved to the working directory.} } \value{ An image file containing the scorecard. } \description{ -This function creates a scorecard for a single system and -reference combination, showing data by region and forecast month. - +This function renders a scorecard table from a multidimensional array +in HTML style. The structure of the table is based on the assignment of each +dimension of the array as a structure element: row, subrow, column or +subcolumn. It is useful to present tabular results with colors in a nice way. +} +\details{ Note: Module PhantomJS is required. } \examples{ -- GitLab