Convert an HCL color matrix to vector of R hex colors
hsl2col(
x = NULL,
H = NULL,
S = NULL,
L = NULL,
alpha = NULL,
verbose = FALSE,
...
)
matrix of colors, with rownames "H"
, "C"
, "L"
, or if not
supplied it looks for vectors H
, C
, and L
accordingly. It can
alternatively be supplied as an object of class polarLUV
.
numeric vectors supplied as an alternative to x
, with
ranges 0 to 360, 0 to 100, and 0 to 100, respectively.
optional vector of alpha values. If not supplied, and if
x
is supplied as a matrix with rowname "alpha"
, then values will
be used from x["alpha",]
.
other arguments are ignored.
numeric value indicating the maximum RGB values, typically scaling values to a range of 0 to 255, from the default returned range of 0 to 1. In general, this value should not be modified.
numeric value indicating the maximum values allowed for
R
, G
, and B
after conversion by colorspace::as(x, "RGB")
.
This ceiling is applied after the maxColorValue
is used to scale
numeric values, and is intended to correct for the occurrence of
values above 255, which would be outside the typical color gamut
allowed for RGB colors used in R. In general, this value should not
be modified.
boolean indicating whether to use
colorspace::hex(...,fixup=TRUE)
for conversion to R hex colors,
which is not recommended since this conversion applies some
unknown non-linear transformation for colors outside the color gamut.
It is here is an option for comparison, and if specifically needed.
vector of R colors, or where the input was NA, then NA values are returned in the same order.
This function takes an HCL matrix,and converts to an R color using
the colorspace package colorspace::polarLUV()
and colorspace::hex()
.
When model="hcl"
this function uses farver::encode_colour()
and bypasses colorspace
. In future the colorspace
dependency
will likely be removed in favor of using farver
. In any event,
model="hcl"
is equivalent to using model="polarLUV"
and
fixup=TRUE
, except that it should be much faster.
Other jam color functions:
alpha2col()
,
applyCLrange()
,
col2alpha()
,
col2hcl()
,
col2hsl()
,
col2hsv()
,
color2gradient()
,
fixYellowHue()
,
fixYellow()
,
getColorRamp()
,
hcl2col()
,
hsv2col()
,
isColor()
,
kable_coloring()
,
makeColorDarker()
,
make_html_styles()
,
make_styles()
,
rgb2col()
,
setCLranges()
,
setTextContrastColor()
,
showColors()
,
unalpha()
,
warpRamp()
# See col2hcl() for more extensive examples
# Prepare a basic HSL matrix
x_colors <- c(red="red",
blue="blue",
yellow="yellow",
orange="#FFAA0066");
hslM <- col2hsl(x_colors);
hslM;
#> red blue yellow orange
#> H 0 240 60 40.0
#> S 100 100 100 100.0
#> L 50 50 50 50.0
#> alpha 1 1 1 0.4
# Now convert back to R hex colors
colorV <- hsl2col(hslM);
colorV;
#> red blue yellow orange
#> "#FF0000" "#0000FF" "#FFFF00" "#FFAA0066"
showColors(list(x_colors=x_colors,
colorV=nameVector(colorV)));