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=TRUEj1 <- 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))