c4a_data | R Documentation |
Build palette data. Both c4a_data
and c4a_data_as_is
build data palette. The difference is that the former may restructure the palette colors (see details) whereas the latter takes the palette colors as they are. Data can subsequently be loaded into cols4all via c4a_load
. The c4a_data
function can also be used to read c4a_info
objects, which contain data for a single palette.
c4a_data(
x,
xNA = NA,
types = "cat",
series = "x",
nmin = NA,
nmax = NA,
ndef = NA,
mmin = NA,
mmax = NA,
mdef = NA,
format.palette.name = TRUE,
remove.blacks = NA,
remove.whites = NA,
take.gray.for.NA = FALSE,
remove.other.grays = FALSE,
light.to.dark = FALSE,
remove.names = TRUE,
biv.method = "byrow",
space = "rgb",
range_matrix_args = list(NULL),
bib = NA,
description = NA
)
c4a_load(data, overwrite = FALSE)
c4a_data_as_is(
...,
format.palette.name = FALSE,
remove.blacks = FALSE,
remove.whites = FALSE,
take.gray.for.NA = FALSE,
remove.other.grays = FALSE,
light.to.dark = FALSE,
remove.names = FALSE
)
x |
either a named list of color palettes or a |
xNA |
colors for missing values. Vector of the same length as x (or length 1). For |
types |
character vector of the same length as x (or length 1), which determines the type of palette: |
series |
a character vector of the same length as x (or length 1), which determines the series. |
nmin , nmax , ndef |
minimum / maximum / default number of colors for the palette. By default: |
mmin , mmax , mdef |
minimum / maximum / default number of rows for bivariate palettes. |
format.palette.name |
should palette names be formatted to lowercase/underscore format? |
remove.blacks , remove.whites , take.gray.for.NA , remove.other.grays |
These arguments determine the processing of grayscale colors for categorical |
light.to.dark |
should sequential |
remove.names |
should individual color names be removed? |
biv.method |
method to a create bivariate palette. Options are |
space |
color space in which interpolated colors are determined. Options: |
range_matrix_args |
list of lists, one for each palette. Each such list specifies the range of sequential and diverging palettes, in case they are not indexed. See details. |
bib |
bibtex reference in the form of a |
description |
description of the series. If |
data |
cols4all data created with |
overwrite |
in case the palettes already exist (i.e. the full names), should the old names be overwritten? |
... |
passed on to |
In cols4all, palettes are organized by series and by type. The series or 'family' specifies where the palettes belong to. For instance "brewer"
stands for the color palettes from ColorBrewer. Run c4a_series
to get an overview of loaded series. The type specifies what kind of palette it is; see c4a_types
for a description of the implemented ones.
This function structures the palette data, such that it is consistent with the other palette data. This includes:
Palette names are made consistent. We use the convention "my_series.my_palette"
, so all lower case, a period to separate the series name from the palette name, and underscores to separate words.
(Only for c4a_data
, bypassed for c4a_data_as_is
) Categorical palettes: black is removed from categorical palettes, and a grayscale color is assigned to be used for missing values (other grayscale colors are removed). Sequential palettes are sorted from light to dark.
Indexing: for a categorical "cat"
palette, an optional "index"
attribute determines which colors to use for which lengths: if the palette consists of k colors, index should be a list of k, where the i-th element is an integer vector of length i with values 1,2,...,k. See c4a_info("rainbow")
and for an example.
Range: sequential and diverging palettes are usually defined for 9+ colors. The optional "range_matrix"
attribute determines that range is used for less colors. It is a n x 2 matrix where row i defines the applied range of a palette of length i. For sequential palettes a range c(0,1)
means that the palette is generated (via a color ramp) between the two outermost colors. For diverging palettes, a range c(x, y)
means that both sides of the palette are generated (via a color ramp) from x
, which is the distance to the center color, to y
which represents both outermost colors.
The range is automatically set for sequential and diverging palettes that have no "index"
or "range_matrix"
attribute via the parameter range_matrix_args
, which is a list per palette. The arguments for a sequential palette are: nmin
the minimum number of colors for which the range is reduced, nmax
, the number of colors for which the range is set to c(0,1)
, slope_min
and slope_max
determine the slopes of range reduction from a palette of length nmax
to nmin
, and space
sets the color space for which the color ramp is applied ("rgb"
or "Lab"
). The arguments for a diverging palette are the same, but only one slope
is used (namely for the outermost colors).
It may take some time to process, especially large categorical palettes, because of calculations of the color blind checks.
c4a_data
object, which is a list of four items: data
, s
, citation
, and description
# palettes extracted Pink Floyd albums
pf = list(piper = c("#391C1C", "#C6C6AA", "#713939", "#C6391C",
"#C6E3C6", "#AA7155", "#AA8E71", "#C68E71"),
saucerful = c("#000000", "#1C1C1C", "#393939", "#FFFFFF",
"#555555", "#8E8E71", "#E3C6AA", "#715539"),
atom = c("#C6E3FF", "#397139", "#557139", "#E3E3C6",
"#1C1C1C", "#1C551C", "#AAAA8E", "#8EC6E3"),
meddle = c("#715539", "#553939", "#8E7155", "#71AAAA",
"#8E8E71", "#1CAAE3", "#55C6E3", "#AA7155"),
obscured = c("#000000", "#1C1C1C", "#393939", "#717155",
"#8E8E71", "#715539", "#C6AA8E", "#E3C6AA"),
moon = c("#000000", "#FF0000", "#FF9224", "#FFFF00",
"#71C600", "#00C6FF", "#8E398E", "#FFFFFF"),
wish = c("#FFFFFF", "#AAC6E3", "#8E8E8E", "#717155",
"#555539", "#8E8E71", "#555555", "#8E7155"),
animals = c("#391C39", "#393955", "#E3C671", "#718E8E",
"#AAAA8E", "#C67139", "#AA5539", "#E3AA39"),
wall = c("#FFFFFF", "#E3E3E3", "#C6C6C6", "#AAAAC6",
"#1C1C1C", "#000000", "#8E8E8E", "#E3C6E3"),
cut = c("#000000", "#E30000", "#AA0000", "#391C55",
"#FFE3E3", "#1C1C00", "#FFAA55", "#8E8E55"),
lapse = c("#000000", "#8E8EC6", "#8E8E71", "#7171AA",
"#39391C", "#717171", "#AAAAAA", "#E3E3E3"),
division = c("#000000", "#FFFFC6", "#00398E", "#AA8E55",
"#39558E", "#C6AA71", "#39391C", "#555571"),
more = c("#0055AA", "#FFAA1C", "#1C71AA", "#003971",
"#E38E55", "#E3AAAA", "#718EAA", "#71718E"),
umma = c("#AA8E71", "#555539", "#39391C", "#1C1C1C",
"#E3E3C6", "#715539", "#391C1C", "#8E7155"),
relics = c("#3955AA", "#1C3971", "#5571C6", "#715555",
"#8E7155", "#E3AA71", "#8E8EAA", "#E3FFFF"),
river = c("#393939", "#555555", "#39558E", "#C6C6C6",
"#718EAA", "#1C1C1C", "#717171", "#E3C68E"))
if (requireNamespace("colorblindcheck", quietly = TRUE)) {
pfdata = c4a_data_as_is(pf, series = "pinkfloyd",
description = "Palettes extracted from Pink Floyd album covers")
c4a_load(pfdata)
c4a_series()
c4a_overview()
if (requireNamespace("shiny") &&
requireNamespace("shinyjs") &&
requireNamespace("kableExtra") &&
requireNamespace("colorblindcheck") &&
requireNamespace("plotly") &&
interactive()) {
c4a_gui(series = "pinkfloyd", n = 8)
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.