showColors function

Show colors from a vector or list

Show colors from a vector or list

showColors( x, labelCells = NULL, transpose = FALSE, srtCellnote = NULL, adjustMargins = TRUE, makeUnique = FALSE, doPlot = TRUE, ... )

Arguments

  • x: one of these input types:

    • character vector of colors
    • function to produce colors, for example circlize::colorRamp2()
    • list with any combination of character or function
  • labelCells: logical whether to label colors atop the color itself. If NULL (default) it will only display labels with 40 or fewer items on either axis.

  • transpose: logical whether to transpose the colors to display top-to-bottom, instead of left-to-right.

  • srtCellnote: numeric angle to rotate text when labelCells=TRUE. When set to NULL, labels are vertical srtCellnote=90 when transpose=FALSE and horizontal srtCellnote=0 when transpose=TRUE.

  • adjustMargins: logical indicating whether to call adjustAxisLabelMargins() to adjust the x- and y-axis label margins to accomodate the label size.

    • Note when an axis is hidden by using xaxt="n" or xaxt="n", the respective margin will not be adjusted.
    • The arguments in ... take precedence over graphics::par(), when deciding whether to adjust margins. However if xaxt="s" and graphics::par("xaxt"="n") the margin will be adjusted but not displayed. In this way the axes can be adjusted without displaying the labels, so the labels can be rendered later if needed.
  • makeUnique: logical indicating whether to display only the first unique color. When x is supplied as a list this operation will display the first unique color for each list element. Also, when x is a list, just to be fancy, makeUnique

    is recycled to length(x) so certain list elements can display unique values, while others display all values.

  • doPlot: logical indicating whether to produce a visual plot. Note this function returns the color matrix invisibly.

  • ...: additional parameters are passed to imageByColors().

Returns

invisible color matrix used by imageByColors(). When the input x is empty, or cannot be converted to colors when x contains a function, the output returns NULL.

Details

This function simply displays colors for review, using imageByColors() to display colors and labels across the plot space.

When supplied a list, each row in imageByColors() represents an entry in the list. Nothing fancy.

Examples

x <- color2gradient(list(Reds=c("red"), Blues=c("blue")), n=c(4,7)); showColors(x); showColors(getColorRamp("firebrick3")) if (requireNamespace("RColorBrewer", quietly=TRUE)) { RColorBrewer_namelist <- rownames(RColorBrewer::brewer.pal.info); y <- lapply(nameVector(RColorBrewer_namelist), function(i){ n <- RColorBrewer::brewer.pal.info[i, "maxcolors"] j <- RColorBrewer::brewer.pal(n, i); nameVector(j, seq_along(j)); }); showColors(y, cexCellnote=0.6, cex.axis=0.7, main="Brewer Colors"); } if (requireNamespace("viridisLite", quietly=TRUE)) { # given one function name it will display discrete colors showColors(viridisLite::viridis) # a list of functions will show each function output showColors(list(viridis=viridisLite::viridis, inferno=viridisLite::inferno)) # grab the full viridis color map z <- rgb2col(viridisLite::viridis.map[,c("R","G","B")]); # split the colors into a list viridis_names <- c(A="magma", B="inferno", C="plasma", D="viridis", E="cividis", F="rocket", G="mako", H="turbo") y <- split(z, paste0(viridisLite::viridis.map$opt, ": ", viridis_names[viridisLite::viridis.map$opt])); showColors(y, labelCells=TRUE, xaxt="n", main="viridis.map colors"); } # demonstrate makeUnique=TRUE j1 <- getColorRamp("rainbow", n=7); names(j1) <- seq_along(j1); j2 <- rep(j1, each=3); names(j2) <- makeNames(names(j2), suffix="_rep"); j2 showColors(list( j1=j1, j2=j2, j3=j2), makeUnique=c(FALSE, FALSE, TRUE))

See Also

Other jam plot functions: adjustAxisLabelMargins(), coordPresets(), decideMfrow(), drawLabels(), getPlotAspect(), groupedAxis(), imageByColors(), imageDefault(), minorLogTicksAxis(), nullPlot(), plotPolygonDensity(), plotRidges(), plotSmoothScatter(), shadowText(), shadowText_options(), sqrtAxis(), usrBox()

Other jam color functions: alpha2col(), applyCLrange(), col2alpha(), col2hcl(), col2hsl(), col2hsv(), color2gradient(), fixYellow(), fixYellowHue(), getColorRamp(), hcl2col(), hsl2col(), hsv2col(), isColor(), kable_coloring(), makeColorDarker(), rainbow2(), rgb2col(), setCLranges(), setTextContrastColor(), unalpha(), warpRamp()

  • Maintainer: James M. Ward
  • License: MIT + file LICENSE
  • Last published: 2025-03-23