diff --git a/articles/paper.html b/articles/paper.html index 814e64e..94b6dab 100644 --- a/articles/paper.html +++ b/articles/paper.html @@ -70,7 +70,7 @@
-cols4all Main table

+cols4all Main table

Figure 1: cols4all Main table

@@ -185,49 +185,49 @@

Organisation of palettes
-Example of palette type: categorical

+Example of palette type: categorical

Figure 2: Example of palette type: categorical

-Example of palette type: sequential

+Example of palette type: sequential

Figure 3: Example of palette type: sequential

-Example of palette type: diverging

+Example of palette type: diverging

Figure 4: Example of palette type: diverging

-Example of palette type: cyclic

+Example of palette type: cyclic

Figure 5: Example of palette type: cyclic

-Example of palette type: bivariate (seq x seq)

+Example of palette type: bivariate (seq x seq)

Figure 6: Example of palette type: bivariate (seq x seq)

-Example of palette type: bivariate (seq x cat)

+Example of palette type: bivariate (seq x cat)

Figure 7: Example of palette type: bivariate (seq x cat)

-Example of palette type: bivariate (seq x div)

+Example of palette type: bivariate (seq x div)

Figure 8: Example of palette type: bivariate (seq x div)

-Example of palette type: bivariate (seq x desaturated)

+Example of palette type: bivariate (seq x desaturated)

Figure 9: Example of palette type: bivariate (seq x desaturated)

@@ -553,7 +553,7 @@

FairnessTo aid decision making a palette is called fair if the fairness score is at least 75, and unfair if it is below 25. This is indicated in the main overview table of cols4all (see Figure 1) with a heart symbol and a cross respectively.

-Fairness scores

+Fairness scores

Figure 10: Fairness scores

@@ -587,7 +587,7 @@

Hues

For diverging palettes, we calculate the hue widths for both wings. If at least one of those hue widths is above 90, the palette is labeled as rainbow palette (with a rainbow symbol in the overview table), and if both hue widths score below 20, it is classified as double hue, shown in the overview table with a yin-yang symbol.

-Hue necklace with the hue width for carto.safe

+Hue necklace with the hue width for carto.safe

Figure 11: Hue necklace with the hue width for carto.safe

@@ -596,7 +596,7 @@

Hues

In the middle column two similarity matrices are shown, above for people with normal color vision, below for deutans. The big dot indicates there is a minor issue with pink and grey. This is illustrated in the maps in the right hand side column.

-Color blind friendliness analysis plots for the palette misc.okabe

+Color blind friendliness analysis plots for the palette misc.okabe

Figure 12: Color blind friendliness analysis plots for the palette misc.okabe

@@ -615,7 +615,7 @@

ContrastFigure 13 shows a bar chart of the contrast ratio values of the palette~ against white. The horizontal lines correspond to the WCAG threshold values; in this example, only yellow does not meet the criterion of 3.

-Contrast ratio of powerbi.default against white

+Contrast ratio of powerbi.default against white

Figure 13: Contrast ratio of powerbi.default against white

@@ -623,13 +623,13 @@

ContrastSeveral visual illusions could appear at equiluminance, such as that the eye has trouble to separate neighbouring objects, even though they use totally different colors in terms of hue [35]. This is illustrated in the map shown in Figure ??(a) where two colors of the palette are used.

-Equiliminant colors from the palette hcl.set3

+Equiliminant colors from the palette hcl.set3

Figure 14: Equiliminant colors from the palette hcl.set3

-Equiliminant colors from the palette hcl.set3

+Equiliminant colors from the palette hcl.set3

Figure 15: Equiliminant colors from the palette hcl.set3

@@ -646,7 +646,7 @@

3D Blues<

Figure 16 illustrates this illusion with a categorical map of the red and blue colors from .

-Chromostereopsis caused by two palette colors from seaborn.bright

+Chromostereopsis caused by two palette colors from seaborn.bright

Figure 16: Chromostereopsis caused by two palette colors from seaborn.bright

@@ -666,7 +666,7 @@

Naming

The variety of colors shown in the column headings are generated by the specified classification method. This enables advanced users to visually verify the classification and target users to understand the match between palette colors and basic color names.

-Nameability analysis of tableau.10

+Nameability analysis of tableau.10

Figure 17: Nameability analysis of tableau.10

@@ -684,13 +684,13 @@

R package cols4all -Overview table of sequential palettes

+Overview table of sequential palettes

Figure 18: Overview table of sequential palettes

-Overview table of diverging palettes

+Overview table of diverging palettes

Figure 19: Overview table of diverging palettes

@@ -698,7 +698,7 @@

R package cols4all[40]) provide additional insights in how the palette colors are located in this color space. A screenshot is shown in Figure 20 where the colors from are plotted.

-3D scatter plot of carto.safe in the HCL color space

+3D scatter plot of carto.safe in the HCL color space

Figure 20: 3D scatter plot of carto.safe in the HCL color space

@@ -716,7 +716,7 @@

Insights from Palette Analysis21). The most color blind friendly palette of this selection is for which the min_dist score is 7.23, a strong color difference according Table 1, but too low to be labeled as color blind friendly. Reversely, color palettes that are labeled as color blind friendly were not labeled as fair. The fairest palettes and scored 56 and 29 on the fairness score, which both fall into the neutral category. A general aesthetic preference for fair palettes was observed. Further research is necessary to investigate whether this preference is subjective or shared across a wider population.

-Fairest categorical palettes, sorted by color blind friendliness

+Fairest categorical palettes, sorted by color blind friendliness

Figure 21: Fairest categorical palettes, sorted by color blind friendliness

@@ -724,20 +724,20 @@

Insights from Palette Analysis22. For people with normal color vision, green, the fifth of seven colors, appears to be on the right-hand side wing. However, for deutans and protans, this color is much closer to the colors from the left-hand side wing. This can be explained by analysing the confusion lines (Figure 22 bottom left); color 5 is on the same confusion line as colors 4 and 1, and only 2 lines away from colors 2 and 3, whereas the differences with colors 6 and 7 are 2.5 and 6 confusion lines respectively.

-cols4all_matplotlib_spectral

+cols4all_matplotlib_spectral

Figure 22: cols4all_matplotlib_spectral

Several spectral sequential palettes from the series [3], [4] (viridis), and [41] did succeed in this quest. Moreover, they scored high on fairness, as can be seen in Figure 23. Also the cyclic palettes from scored well on color blind friendliness and fairness.

-Spectral sequential palettes that scores well in general, shown in continuous format

+Spectral sequential palettes that scores well in general, shown in continuous format

Figure 23: Spectral sequential palettes that scores well in general, shown in continuous format

-Color blind friendly diverging palettes

+Color blind friendly diverging palettes

Figure 24: Color blind friendly diverging palettes

@@ -754,37 +754,37 @@

Strategies for Palette Design -New preliminary set of cols4all palettes

+New preliminary set of cols4all palettes

Figure 25: New preliminary set of cols4all palettes

-area7: a palette for space-filling visualisations

+area7: a palette for space-filling visualisations

Figure 26: area7: a palette for space-filling visualisations

-area7d: a palette for space-filling visualisations with dark background

+area7d: a palette for space-filling visualisations with dark background

Figure 27: area7d: a palette for space-filling visualisations with dark background

-line7: a palette for point and line charts

+line7: a palette for point and line charts

Figure 28: line7: a palette for point and line charts

-line7: a palette for point and line charts

+line7: a palette for point and line charts

Figure 29: line7: a palette for point and line charts

-friendly: a palette optimized for color blind friendliness

+friendly: a palette optimized for color blind friendliness

Figure 30: friendly: a palette optimized for color blind friendliness

diff --git a/index.html b/index.html index 18e88cd..0a9b0a6 100644 --- a/index.html +++ b/index.html @@ -89,7 +89,7 @@

Getting startedThe main tool is a dashboard, which is started with:

-

+

What palettes are available? That is, by default; other palettes can be added!

 c4a_series()
@@ -130,14 +130,14 @@ 

Using the toolExample 1

When we are looking for a fair categorical palette of seven colors that is as color blind friendly as possible, then filter on “Fair”, and sort by “Colorblind-friendly”:

-

+

This inspired us to develop our own palettes: see these cols4all palettes below.

Example 2

Say we need a diverging palette that is color blind friendly, and what to choose one by eye. Then filter by “Colorblind-friendly” and sort by “Hue Middle L” (the hue of the left wing):

-

+

Reverse sorting is also applied.

@@ -145,15 +145,15 @@

Example 2Preliminary set of new cols4all palettes

We applied a basic heuristic to explore palettes that score well on a mix of the properties named above

-

-

area7, area8 and area9 are fair, contain low pastel colors, and are color-blind friendly (up to 7 colors). So ideal for maps and other space-filling visualizations! These are used in https://github.com/r-tmap/tmap.

-

+

+

area7, area8 and area9 are fair, contain low pastel colors, and are color-blind friendly (up to 7 colors). So ideal for maps and other space-filling visualizations! These are used in tmap4.

+

area7d, area8d and area9d similar but for dark mode:.

-

+

line7, line8 and line9 are colors with good contrast against both black and white, and are also colorblind-friendly to some extent. So ideal for line graphs and scatter plots:

-

+

Finally friendly7friendly13 are colorblind-friendly palettes (disregarding the other properties):

-

+

diff --git a/news/index.html b/news/index.html index 11f6c0f..2fe0e0b 100644 --- a/news/index.html +++ b/news/index.html @@ -36,7 +36,7 @@

-

cols4all 0.8

+

cols4all 0.8

CRAN release: 2024-10-16

  • main table much faster
  • sorting and filtering options added
  • powerbi and matplotlib palettes added
  • diff --git a/pkgdown.yml b/pkgdown.yml index 7df27b9..639deb4 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -3,7 +3,7 @@ pkgdown: 2.1.1 pkgdown_sha: ~ articles: articles/paper: paper.html -last_built: 2024-10-16T20:26Z +last_built: 2024-10-17T20:40Z urls: reference: https://mtennekes.github.io/cols4all/reference article: https://mtennekes.github.io/cols4all/articles diff --git a/reference/figures/3Dblues_map.jpg b/reference/figures/3Dblues_map.jpg new file mode 100644 index 0000000..af53d50 Binary files /dev/null and b/reference/figures/3Dblues_map.jpg differ diff --git a/reference/figures/README-unnamed-chunk-10-1.png b/reference/figures/README-unnamed-chunk-10-1.png index 7e0cfb6..58f2142 100644 Binary files a/reference/figures/README-unnamed-chunk-10-1.png and b/reference/figures/README-unnamed-chunk-10-1.png differ diff --git a/reference/figures/README-unnamed-chunk-7-1.png b/reference/figures/README-unnamed-chunk-7-1.png index 7466dbe..908c20e 100644 Binary files a/reference/figures/README-unnamed-chunk-7-1.png and b/reference/figures/README-unnamed-chunk-7-1.png differ diff --git a/reference/figures/README-unnamed-chunk-7-2.png b/reference/figures/README-unnamed-chunk-7-2.png index 7993c14..84e53a4 100644 Binary files a/reference/figures/README-unnamed-chunk-7-2.png and b/reference/figures/README-unnamed-chunk-7-2.png differ diff --git a/reference/figures/area7.jpg b/reference/figures/area7.jpg new file mode 100644 index 0000000..37d8404 Binary files /dev/null and b/reference/figures/area7.jpg differ diff --git a/reference/figures/area7d.jpg b/reference/figures/area7d.jpg new file mode 100644 index 0000000..dc80671 Binary files /dev/null and b/reference/figures/area7d.jpg differ diff --git a/reference/figures/c4a_pals.jpg b/reference/figures/c4a_pals.jpg new file mode 100644 index 0000000..757d3df Binary files /dev/null and b/reference/figures/c4a_pals.jpg differ diff --git a/reference/figures/cbf_okabe.jpg b/reference/figures/cbf_okabe.jpg new file mode 100644 index 0000000..6c44cb3 Binary files /dev/null and b/reference/figures/cbf_okabe.jpg differ diff --git a/reference/figures/cols4all2.jpg b/reference/figures/cols4all2.jpg new file mode 100644 index 0000000..12bffa3 Binary files /dev/null and b/reference/figures/cols4all2.jpg differ diff --git a/reference/figures/cols4all_div.jpg b/reference/figures/cols4all_div.jpg new file mode 100644 index 0000000..300c41c Binary files /dev/null and b/reference/figures/cols4all_div.jpg differ diff --git a/reference/figures/cols4all_fair_sort_cbf.jpg b/reference/figures/cols4all_fair_sort_cbf.jpg new file mode 100644 index 0000000..dbfc680 Binary files /dev/null and b/reference/figures/cols4all_fair_sort_cbf.jpg differ diff --git a/reference/figures/cols4all_matplotlib_spectral.jpg b/reference/figures/cols4all_matplotlib_spectral.jpg new file mode 100644 index 0000000..99e63b9 Binary files /dev/null and b/reference/figures/cols4all_matplotlib_spectral.jpg differ diff --git a/reference/figures/cols4all_seq_spectral.jpg b/reference/figures/cols4all_seq_spectral.jpg new file mode 100644 index 0000000..bc54331 Binary files /dev/null and b/reference/figures/cols4all_seq_spectral.jpg differ diff --git a/reference/figures/contrast_powerbi_default.jpg b/reference/figures/contrast_powerbi_default.jpg new file mode 100644 index 0000000..fc6d666 Binary files /dev/null and b/reference/figures/contrast_powerbi_default.jpg differ diff --git a/reference/figures/equi1.jpg b/reference/figures/equi1.jpg new file mode 100644 index 0000000..fa99f62 Binary files /dev/null and b/reference/figures/equi1.jpg differ diff --git a/reference/figures/equi2.jpg b/reference/figures/equi2.jpg new file mode 100644 index 0000000..9c2d8a7 Binary files /dev/null and b/reference/figures/equi2.jpg differ diff --git a/reference/figures/ex_bivc.jpg b/reference/figures/ex_bivc.jpg new file mode 100644 index 0000000..a9d0377 Binary files /dev/null and b/reference/figures/ex_bivc.jpg differ diff --git a/reference/figures/ex_bivd.jpg b/reference/figures/ex_bivd.jpg new file mode 100644 index 0000000..f29b9a0 Binary files /dev/null and b/reference/figures/ex_bivd.jpg differ diff --git a/reference/figures/ex_bivg.jpg b/reference/figures/ex_bivg.jpg new file mode 100644 index 0000000..c9fb681 Binary files /dev/null and b/reference/figures/ex_bivg.jpg differ diff --git a/reference/figures/ex_bivs.jpg b/reference/figures/ex_bivs.jpg new file mode 100644 index 0000000..45d1fe8 Binary files /dev/null and b/reference/figures/ex_bivs.jpg differ diff --git a/reference/figures/ex_cat.jpg b/reference/figures/ex_cat.jpg new file mode 100644 index 0000000..b64c2a9 Binary files /dev/null and b/reference/figures/ex_cat.jpg differ diff --git a/reference/figures/ex_cyc.jpg b/reference/figures/ex_cyc.jpg new file mode 100644 index 0000000..ecabc48 Binary files /dev/null and b/reference/figures/ex_cyc.jpg differ diff --git a/reference/figures/ex_div.jpg b/reference/figures/ex_div.jpg new file mode 100644 index 0000000..70cfa2a Binary files /dev/null and b/reference/figures/ex_div.jpg differ diff --git a/reference/figures/ex_seq.jpg b/reference/figures/ex_seq.jpg new file mode 100644 index 0000000..68b3e9c Binary files /dev/null and b/reference/figures/ex_seq.jpg differ diff --git a/reference/figures/fairness.jpg b/reference/figures/fairness.jpg new file mode 100644 index 0000000..4d4d432 Binary files /dev/null and b/reference/figures/fairness.jpg differ diff --git a/reference/figures/friendly13.jpg b/reference/figures/friendly13.jpg new file mode 100644 index 0000000..580b18d Binary files /dev/null and b/reference/figures/friendly13.jpg differ diff --git a/reference/figures/hcl_carto_safe.jpg b/reference/figures/hcl_carto_safe.jpg new file mode 100644 index 0000000..9eec63e Binary files /dev/null and b/reference/figures/hcl_carto_safe.jpg differ diff --git a/reference/figures/line7_bk.jpg b/reference/figures/line7_bk.jpg new file mode 100644 index 0000000..b95af71 Binary files /dev/null and b/reference/figures/line7_bk.jpg differ diff --git a/reference/figures/line7_wt.jpg b/reference/figures/line7_wt.jpg new file mode 100644 index 0000000..2c1114a Binary files /dev/null and b/reference/figures/line7_wt.jpg differ diff --git a/reference/figures/naming_tableau10.jpg b/reference/figures/naming_tableau10.jpg new file mode 100644 index 0000000..94fe4c5 Binary files /dev/null and b/reference/figures/naming_tableau10.jpg differ diff --git a/reference/figures/necklace.jpg b/reference/figures/necklace.jpg new file mode 100644 index 0000000..edcf358 Binary files /dev/null and b/reference/figures/necklace.jpg differ diff --git a/reference/figures/overview_div.jpg b/reference/figures/overview_div.jpg new file mode 100644 index 0000000..353a50a Binary files /dev/null and b/reference/figures/overview_div.jpg differ diff --git a/reference/figures/overview_seq2.jpg b/reference/figures/overview_seq2.jpg new file mode 100644 index 0000000..7a59336 Binary files /dev/null and b/reference/figures/overview_seq2.jpg differ diff --git a/search.json b/search.json index 14de071..44bf1aa 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"cols4all: analysing and comparing color palettes","text":"Effective data visualization relies heavily well-chosen color palettes highlight patterns convey information clearly [1]. abundance available color palettes, ranging derived perceptually uniform color spaces like HCL [2], [3], [4] designed color blindness accessibility [4], [5], [6] inspired art [7], [8] nature [9], selecting optimal palette specific visualization task can challenging. challenge compounded need consider accessibility individuals color vision deficiency, comprise estimated 8% males 0.5% females globally [10]. Accessibility guidelines, WCAG 2.2 [11], recommend minimum contrast ratios colors ensure readability. Ensuring visualizations interpretable everyone, regardless color vision capabilities, essential effective communication. address challenges, introduce , open-source software tool analyzing comparing color palettes. Developed package R programming language [12] features interactive dashboard tool, provides comprehensive set features evaluate palettes based various criteria, including color-blind friendliness, contrast, novel fairness metric. Fairness evaluates whether colors palette stand equally. particularly important categorical palettes prevent visual bias ensure single category dominates visualization. Recognizing properties can involve trade-offs, empowers users make informed decisions based specific needs priorities. tool’s interactive nature allows users explore compare palettes, weighing different factors select suitable option visualization task. , aim engage information visualization community color perception research promote development accessible effective visualizations. providing open-source tool, hope reach researchers, designers, practitioners alike, encouraging sharing knowledge best practices color palette selection design.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"related-literature","dir":"Articles","previous_headings":"","what":"Related literature","title":"cols4all: analysing and comparing color palettes","text":"Visualization software tools increasingly incorporate features color palette selection, offering predefined palettes interactive previews. ColorBrewer [13] provides limited highly popular set palettes includes colorblind-safe checkbox aid palette selection. Commercial platforms like Tableau [14] Microsoft Power BI [15] offer extensive built-palettes. Platforms like Adobe Color [16] Color Hunt [17] support community-driven exploration creation. However, tools primarily focus quick exploration rather -depth analysis comparison palette properties. Dedicated tools address gap providing comprehensive analytical capabilities. CCC-Tool [18] Colorgorical [19] allow palette generation based user preferences, catering experienced users. contrast, prioritizes analysis comparison generation, empowering users make informed choices based quantitative qualitative insights derived objective metrics visualizations. Recent research explored advanced techniques color palette recommendation. Deep learning approaches show promise automated palette selection [20], often lack transparency interpretability ’s user-centric approach. Similarly, McNutt et al. [21] introduced visualization linter automated color palette checking, valuable identifying potential issues differs ’s focus interactive exploration comparison. Furthermore, deliberately avoids linking colors palettes specific emotions, recognizing cultural temporal variability color associations [22], schloss2011. focusing objective metrics rather subjective interpretations, fosters informed decision-making without relying potentially culturally biased associations.","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"color-vision","dir":"Articles","previous_headings":"Preliminaries","what":"Color vision","title":"cols4all: analysing and comparing color palettes","text":"Humans typically perceive color three types cone cells. cones measure color spectrum three different areas: short, medium, long wavelengths. combination three cone types leads color percept (perceived color). People color vision deficiency lack (least) one type cone. three types color blindness, , , , missing cones mainly sensitive medium (green), long (red), short (blue) wavelengths, respectively. Color perception individuals based two remaining cone types. result, people deuteranopia protanopia difficulty distinguishing green red, whereas people tritanopia can hardly distinguish blue yellow [23]. People can also partially color blind. However, avoid excessive complexity analysis, take severity level account. brevity, individuals deuteranopia, protanopia, tritanopia referred , , , respectively.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"contrast-ratio","dir":"Articles","previous_headings":"Preliminaries","what":"Contrast ratio","title":"cols4all: analysing and comparing color palettes","text":"contrast ratio measures difference brightness foreground background colors. defined : \\[\\begin{equation} CR(,j) = \\frac{(Y_i + \\alpha)}{(Y_j + \\alpha)} \\tag{1} \\end{equation}\\] \\(\\) \\(j\\) represent two colors, \\(\\) lighter one, \\(Y_i\\) \\(Y_j\\) relative luminance values, ranging 0 1. parameter \\(\\alpha = 0.05\\) offset used compensate contrast ratios occur \\(Y_j\\) (close ) 0. \\(\\alpha\\) value, contrast ratio ranges 1:1 21:1. WCAG 2.2 guidelines text readability follows [11]: WCAG 2.2 level AA requires minimum contrast ratio 3:1 informational non-text elements, background adjacent colors [11].","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"hcl-color-space","dir":"Articles","previous_headings":"Preliminaries","what":"HCL color space","title":"cols4all: analysing and comparing color palettes","text":"work adopts Hue-Chroma-Luminance (HCL) color space, cylindrical transformation CIELUV color space. color space, also used [2], [24], [25], three dimensions: (\\(H\\)), ranging 0 360 degrees; (\\(C\\)), ranging 0 (grayscale) maximum depends hue luminance; (\\(L\\)), ranging 0 (black) 100 (white).","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"color-distance","dir":"Articles","previous_headings":"Preliminaries","what":"Color distance","title":"cols4all: analysing and comparing color palettes","text":"measure perceived distance two colors, use metric [26], denoted \\(\\Delta E(,j)\\). interpretation Delta E values depends several factors, importantly application. apply following rule thumb: Table 1: Delta E interpretation measure color distances perceived people color vision deficiency, apply Delta E metric simulations deuteranopia, protanopia, tritanopia [27],colorblindcheck. metrics denoted \\(\\Delta E^{\\mbox{deutan}}(,j)\\), \\(\\Delta E^{\\mbox{protan}}(,j)\\), \\(\\Delta E^{\\mbox{tritan}}(,j)\\), respectively.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"tool-description","dir":"Articles","previous_headings":"","what":"Tool description","title":"cols4all: analysing and comparing color palettes","text":"introduce tool, called , can used analyse compare color palettes. written package R programming language [28]. cols4all package -going development driven active community statisticians data scientists use R. color palettes can easily used R package, native integration popular visualization package ggplot2 [29]. Via GUI, palettes can also copied clipboard used anywhere else. tool intended data visualization designers select appropriate color palettes data visualizations. Another use case designers test (corporate) palettes, compare existing palettes. tool may also useful users, particular graphic designers web designers. User studies required ensure design interface effective, efficient, easy use.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"organisation-of-palettes","dir":"Articles","previous_headings":"Tool description","what":"Organisation of palettes","title":"cols4all: analysing and comparing color palettes","text":"work focuses exclusively color palettes. Continuous color palettes can loaded analysed well, hood discretized sufficient number classes. Conversely, interpolation (linear spline) color space (RGB CIELab) can transform discrete palette continuous color ramp. Palettes organised functional type. distinguish following types: Categorical: Colors categorical (also known qualitative) palette typically distinct, especially hue unordered. palettes employed represent categorical data without natural order, economic sectors. Sequential: sequential palette consists gradient colors, used represent data follow natural order progression, age. Diverging: diverging palette also consists gradient colors, clear midpoint. Consequently, palettes encode data clear neutral value, instance stock price changes Likert scale responses. Cyclical: cyclic palette consists gradient colors can repeated seamlessly, first last color identical. Although used rarely compared types mentioned , can useful several applications, encoding biological rhythms cyclic economic indicators, business cycles. Bivariate: bivariate palette two-dimensional color table used encode bivariate data, instance population density income, bivaraite socioeconomic indicators. distinguish four subtypes first dimension, represented rows, equal sequential color scale. subtypes, second dimension (columns) represented sequential, categorical, diverging, desaturated scale respectively. Figure 2: Example palette type: categorical Figure 3: Example palette type: sequential Figure 4: Example palette type: diverging Figure 5: Example palette type: cyclic Figure 6: Example palette type: bivariate (seq x seq) Figure 7: Example palette type: bivariate (seq x cat) Figure 8: Example palette type: bivariate (seq x div) Figure 9: Example palette type: bivariate (seq x desaturated) Examples palette types provided Figures 2 9. list palette types exhaustive; instance also palettes tree-structured data designed [30]. kind palette types special often one kind, (yet) included . Palettes also arranged series, mean either source (e.g.  stands ColorBrewer [13]) group similar palettes (e.g.  includes categorical palettes many colors). overview palettes included cols4all provided Table 2. Table 2: Overview palettes series categorical color palettes included black white, e.g.  [5]. Since colors typically used background annotations , just palettes categorical palette, removed black white categorical palettes. However, took black white account certain parts analysis, instance regarding contrast ratio. Exploratory data analysis often deals analysis visualisation missing values [31],song21. Therefore, assigned special color missing values palette. palette series Paul Tol [6] already contains dedicated colors missing values. palettes, use simple heuristics obtain suitable color, greyscale color distinguishable palette colors people normal color vision also colorblind people. Users able load, analyse, compare palettes well [12]. palette names tool formatted snake case, series name put front separated dot. E.g. Color Blind Tableau [14] called .","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"color-blind-friendliness","dir":"Articles","previous_headings":"Tool description > Properties","what":"Color blind friendliness","title":"cols4all: analysing and comparing color palettes","text":"Let minimal perceived distance two colors \\(\\) \\(j\\) colors defined \\[\\begin{equation} d(,j) = \\min \\left( \\substack{ \\Delta E(,j), \\\\ \\Delta E^{\\mbox{deutan}}(,j), \\\\ \\Delta E^{\\mbox{protan}}(,j), \\\\ \\Delta E^{\\mbox{tritan}}(,j) } \\right) \\end{equation}\\] metric takes four groups (people normal color vision color blindness groups) account. case two color can easily distinguished three groups, well fourth, \\(d(,j)\\) low. \\(d(,j)\\) use interpretation provided Table 1, group trouble distinguishing colors. palettes simply use minimum distance two palette colors \\(\\) \\(j\\): \\[\\begin{equation}\\label{Minimum distance} \\mbox{min_dist}(S) = \\min_{,j \\S} d(,j) \\end{equation}\\] \\(S\\) set colors form certain color palette. Higher values generally preferable. make decision making easier, discretize metric three point Likert scale, additional fourth \\(++\\) category: \\[\\begin{equation} \\begin{aligned} &- && 0 \\le \\mbox{min_dist}(S) < 2 \\\\ &\\circ && 2 \\le \\mbox{min_dist}(S) < 10 \\\\ &+ && 10 \\le \\mbox{min_dist}(S) < 15 \\\\ &++ && \\mbox{min_dist}(S) \\ge 15 \\end{aligned} \\end{equation}\\] main overview table (Figure 1), categories represented symbols: side eyes \\(−\\), smiley \\(+\\), double smiley \\(++\\). default threshold values based Delta~E interpretation provided , users can adjust within cols4all. \\(+\\) category can interpreted color blind friendly, \\(-\\) color blind friendly, \\(\\circ\\) . categorical palettes added \\(++\\) highlight palettes colors can distinguished ease people color vision deficiency. especially useful applications colored objects small, e.g. lines points. use metric \\(\\mbox{min\\_dist}(S)\\) palettes. color distances smaller gradient color ramps use different default threshold values, namely 1 5 make use additional fourth category. addition, important order colors correctly perceived. three colors \\(\\), \\(j\\), \\(k\\) next palette, \\(d(,j)\\) \\(d(j,k)\\) less \\(d(,k\\). Hence, derive following metric, call triangle inequality difference score: \\[\\begin{equation} \\mbox{tri_ineq}(S) = \\min_{\\{,j,k\\} \\S} \\left( d(,k) - \\max \\left( d(,j), d(j,k) \\right) \\right) \\end{equation}\\] use \\(\\{\\}\\) denote colors next . Higher values generally preferable, 0 clear threshold. Values 0 indicate perceived color distance \\(\\) \\(k\\) less either \\(\\) \\(j\\) \\(j\\) \\(k\\). \\[\\begin{equation} \\begin{aligned} &- && 0 \\le \\mbox{min_dist}(S) < 2 && \\mbox{} && \\mbox{tri_ineq}(S) < 0\\\\ &+ && \\mbox{min_dist}(S) \\ge 5 && \\mbox{} && \\mbox{tri_ineq}(S) \\ge 2\\\\ &\\circ && \\mbox{otherwise} && && \\\\ \\end{aligned} \\end{equation}\\] threshold values can adjusted inside cols4all needed. palettes use three metrics derive color blind friendliness property. Instead min_dist, two metrics introduced, namely min_step defined minimum distance two neighbouring colors, inter_wing_dist, distance two wings palette. \\[\\begin{equation} \\mbox{min_step}(S) = \\min_{\\{,j\\} \\S} d(,j) \\end{equation}\\] inter wing distance minimum distance palette color \\(\\) (except middle color) opposite wing: \\[\\begin{equation} \\mbox{inter_wing_dist}(S) = \\min_{\\S'} d(,R_{-}) \\end{equation}\\] \\(S'\\) equal palette \\(S\\) without middle color (case number colors odd). denote \\(R_{-}\\) colors wing opposite color \\(\\) form color ramp. color ramp needed make sure distance \\(\\) colors wing large just luminance (diverging palettes diverge luminance hue wing). palettes use exactly definition color blind friendliness palettes, addition first last colors identical. color palettes analysed using combination one definitions . bivaraite sequential x sequential (Figure 6), three sequential palettes derived: two marginal ones (figure, top row left hand side column) diagonal (figure top left bottom right). pair sequential palettes, odd numbered diverging palette constructed, top left color middle color. Subsequently color blind friendliness scores diverging color palettes (described ) computed, minimal score used. similar approach used three bivariate color palette types [12]. Figure 12 shows users can analyse color blind friendliness . top left CIE xyY space clipped sRGB gamut shown hue lines diverging defined white point (CIE standard illuminant D65). bottom left shows plot, using colors simulated deutans, confusion lines [32]. middle column two similarity matrices shown, people normal color vision, deutans. big dot indicates minor issue pink grey. illustrated maps right hand side column.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"fairness","dir":"Articles","previous_headings":"Tool description > Properties","what":"Fairness","title":"cols4all: analysing and comparing color palettes","text":"say color palette fair colors stand equally. categorical palettes property ensures visual balance data visualisations, preventing single category dominating, can obscure categories create misleading impressions, unless deliberate highlighting employed. quantified using luminance chroma ranges palette colors: \\[\\begin{equation} \\Delta L^{\\mbox{max}}(S) = \\max_{\\S} L_i - \\min_{j \\S} L_j \\end{equation}\\] \\[\\begin{equation} \\Delta C^{\\mbox{max}}(S) = \\max_{\\S} C_i - \\min_{j \\S} C_j \\end{equation}\\] important note color’s luminance alone determine salience background; background luminance also plays crucial role. exactly contrast ratio (1) comes play. However, smaller luminance range colors, smaller contrast ratios colors background color, irrespective background color luminace . chroma different story; higher chroma, color stand , especilly background colors generally unchromatic. Unlike accessibility properties, hard threshold values fair . Therfore, apply logit transformations \\(\\Delta L^{\\mbox{max}}\\) \\(\\Delta C^{\\mbox{max}}\\), normalise multiply . result derived fairness score shown Figure 10. scores range 0 100 (fairest). parameters logit transformations, resulting shown contour lines, can adjusted within cols4all [12]. aid decision making palette called fair fairness score least 75, unfair 25. indicated main overview table cols4all (see Figure 1) heart symbol cross respectively. Figure 10: Fairness scores palette types take chroma range account, luminance usually used form gradient colors.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"vividness","dir":"Articles","previous_headings":"Tool description > Properties","what":"Vividness","title":"cols4all: analysing and comparing color palettes","text":"Another property useful data visualisation vivid palette colors . Prolonged exposure highly saturated colors can induce visual fatigue [33]. Therefore, low saturated (pastel) colors generally recommended space-filling visualisations choropleths treemaps [34]. \\[\\begin{equation} C^{\\mbox{max}}(S) = \\max_{\\S} C_i \\end{equation}\\] decision making purposes, discretize metric using default threshold values 100 70. main overview table (Figure 1), classes shown pair sunglasses (\\(C^{\\mbox{max}}(S) >= 100\\)) asterisk (\\(C^{\\mbox{max}}(S) < 70\\)).","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"hues","dir":"Articles","previous_headings":"Tool description > Properties","what":"Hues","title":"cols4all: analysing and comparing color palettes","text":"Analyzing distribution hues within palette crucial several reasons. Categorical palettes even distribution hues often aesthetically preferred uneven distributions. palettes types, distribution hues even important, directly relates color blind friendliness. Rainbow like sequential diverging palettes, e.g. use wide range hue values, typically color blind friendly. facilitate color palette analysis comparison regarding distribution hues, introduce metric called hue width, defined total width (angle) hues palette colors. can computed 360 minus largest hue gap: \\[\\begin{equation} H^{\\mbox{width}}(S) = 360 - \\max_{\\{,j\\} \\S} H_i-H_j \\end{equation}\\] maximum value palette length \\(n\\) \\(360 - 360/n\\), occurs hues spaced evenly, score 0 100 can derived call hue spread: \\[\\begin{equation} H^{\\mbox{spread}}(S) = \\frac{H^{\\mbox{width}}(S)}{360 - 360/n} * 100 \\end{equation}\\] overview table (Figure 1 categorical palettes get rainbow symbol hue spread default threshold value 90. sequential palettes use hue width classify hues. Palettes hue width less 15 labeled “single hue” overview table indicated pencil symbol. palettes generally recommended relative low visual bias [34]. Palettes hue width default threshold value 180 labeled rainbow palette. Note specification different categorical palettes, due nature palette types. diverging palettes, calculate hue widths wings. least one hue widths 90, palette labeled rainbow palette (rainbow symbol overview table), hue widths score 20, classified double hue, shown overview table yin-yang symbol. Figure 11: Hue necklace hue width carto.safe Color blind friendliness can analysed next tab tool. Figure 12 shows part tab. top left CIE xyY space clipped sRGB gamut shown hue lines diverging defined white point (CIE standard illuminant D65). bottom left shows plot, using colors simulated deutans, confusion lines [32]. middle column two similarity matrices shown, people normal color vision, deutans. big dot indicates minor issue pink grey. illustrated maps right hand side column. Figure 12: Color blind friendliness analysis plots palette misc.okabe","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"contrast","dir":"Articles","previous_headings":"Tool description > Properties","what":"Contrast","title":"cols4all: analysing and comparing color palettes","text":"Since white black frequently used backgrounds text, properties included assess whether palette colors sufficient contrast . \\[\\begin{equation} \\mbox{CR_white}(S) = \\min_{\\S}\\mbox{CR}(, \\mbox{white}) \\end{equation}\\] \\[\\begin{equation} \\mbox{CR_black}(S) = \\min_{\\S}\\mbox{CR}(, \\mbox{black}) \\end{equation}\\] colors sufficient contrast white, 3 according WCAG guideline, \\(\\mbox{CR\\_white}(S)\\geq 3\\) white flag shown overview table (Figure 1. contrast ratio black, black flag shown. Figure 13 shows bar chart contrast ratio values palette~ white. horizontal lines correspond WCAG threshold values; example, yellow meet criterion 3. Figure 13: Contrast ratio powerbi.default white contrast ratio two colors useful check accessibility, also warn unwanted visual illusions. Two colors called equiluminant similar luminance values, resulting contrast ratio close 1. Several visual illusions appear equiluminance, eye trouble separate neighbouring objects, even though use totally different colors terms hue [35]. illustrated map shown Figure ??() two colors palette used. Figure 14: Equiliminant colors palette hcl.set3 Figure 15: Equiliminant colors palette hcl.set3 Therefore, compute minimal contrast ratio palette colors: \\[\\begin{equation} \\mbox{CR_within}(S) = \\min_{,j \\S}\\mbox{CR}(, j) \\end{equation}\\] value default threshold value 1.2, spiral symbol shown overview table 1.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"d-blues","dir":"Articles","previous_headings":"Tool description > Properties","what":"3D Blues","title":"cols4all: analysing and comparing color palettes","text":"visual illusion called chromostereopsis occurs two colors perceived different depth planes [36]. illusion, prominent red blue black background, can create perception depth displacement. Figure 16 illustrates illusion categorical map red blue colors . Figure 16: Chromostereopsis caused two palette colors seaborn.bright warn possible visual illusion, especially occurs dark background, blue diamond symbol shown overview table.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"naming","dir":"Articles","previous_headings":"Tool description > Properties","what":"Naming","title":"cols4all: analysing and comparing color palettes","text":"Color naming significantly influences perception communication color, impacting understand interpret visual information. ability accurately name colors particularly important data visualization, clear communication essential [37]. However, color naming inherently subject cultural variations [38], differences observed distinct cultural regions also among neighboring countries. instance, Dutch uses “paars” “roze” describe shades purple pink, German employs “Violet”, “Lila,” “Pink”, “Rosa”, highlighting nuances color terminology even within geographically close regions. cultural variability poses challenge developing universally applicable color naming systems data visualization. cols4all derived property called nameability informs users whether palette colors easy name. accomplish , explore match palette colors basic, commonly used, set color names. default use English names 11 colors identified [39]: green, blue, purple, pink, yellow, brown, orange, red, white, grey, black. Let us denote common color name set \\(Q\\). say colors palette easy name : naming match palette colors common color names illustrated Figure 17, first seven colors examined. palette colors shown row heads, common color names column heads. common color name large set small dots shown illustrate variety colors named name (later). dot represents match; larger dots indicate stronger matches. multiple dots one row, means multiple names can given corresponding palette color, violated rule 1. case last palette color often named “purple” also “pink”. Multiple dots one column indicate common color name used , case blue. Hence rule 2 violated. used following method compute match derive nameability score following: Advanced users also able specify custom set basic color names function returns similarity matrix [12]. enables users fit color naming model matches language target audience. variety colors shown column headings generated specified classification method. enables advanced users visually verify classification target users understand match palette colors basic color names. Figure 17: Nameability analysis tableau.10","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"r-package-cols4all","dir":"Articles","previous_headings":"Tool description > Implementation","what":"R package cols4all","title":"cols4all: analysing and comparing color palettes","text":"interactive tool described paper part R package cols4all. package can installed running following R code: addition interactive tool, package includes functions programmatic access palette colors, parameter setting, uploading user-defined palettes analysis. functions scope paper described documentation [12]. Figures 1, 18, 19 present screenshots main table categorical, sequential, diverging palettes, respectively. inputs table, users able select filter color palettes. addition, color blind simulation can enabled, color codes various formats can shown. advanced users, underlying scores can shown table additional columns. “dark mode” toggle allows users switch light dark background themes. columns right-hand side colors include symbols user can click obtain either citation (either plan Bibtex format) palette colors, either square brackets (used JavaScript Python) R format (using function). Figure 18: Overview table sequential palettes Figure 19: Overview table diverging palettes tabs used analysis properties, illustrated . figures paper included tabs. properties fairness, hues, vividness use HCL color space, therefore analysed HCL Analysis tab. Furthermore, tab interactive 3D scatter plot (using [40]) provide additional insights palette colors located color space. screenshot shown Figure 20 colors plotted. Figure 20: 3D scatter plot carto.safe HCL color space last tap, Application, users can explore palettes examples basic geometry types, points, lines, polygons, text. Furthermore, color vision simulation can enabled.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"palette-design-insights-and-strategies","dir":"Articles","previous_headings":"","what":"Palette Design: Insights and Strategies","title":"cols4all: analysing and comparing color palettes","text":"Although main focus paper tool rather analysis comparison color palette, like share insights obtains using tool choose palettes everyday visualisation tasks. Next, challenged create color palettes. Strategies obtain palettes described later .","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"insights-from-palette-analysis","dir":"Articles","previous_headings":"Palette Design: Insights and Strategies","what":"Insights from Palette Analysis","title":"cols4all: analysing and comparing color palettes","text":"Fairness color blind friendliness often present conflicting objectives. Many categorical palettes seven colors score high fairness classified color blind friendly. shown main table filtering “Fair” sorting “Colorblind friendly” (Figure 21). color blind friendly palette selection min_dist score 7.23, strong color difference according Table 1, low labeled color blind friendly. Reversely, color palettes labeled color blind friendly labeled fair. fairest palettes scored 56 29 fairness score, fall neutral category. general aesthetic preference fair palettes observed. research necessary investigate whether preference subjective shared across wider population. Figure 21: Fairest categorical palettes, sorted color blind friendliness Many spectral sequential diverging palettes exhibit limitations terms color blind friendliness. Designing color blind friendly spectral/rainbow palettes challenging, individuals color vision deficiency struggle differentiate hues (see simulated color space deutans Figure 12). severe issue may induce visual bias color blind people illustrated palette (similar Figure 22. people normal color vision, green, fifth seven colors, appears right-hand side wing. However, deutans protans, color much closer colors left-hand side wing. can explained analysing confusion lines (Figure 22 bottom left); color 5 confusion line colors 4 1, 2 lines away colors 2 3, whereas differences colors 6 7 2.5 6 confusion lines respectively. Figure 22: cols4all_matplotlib_spectral Several spectral sequential palettes series [3], [4] (viridis), [41] succeed quest. Moreover, scored high fairness, can seen Figure 23. Also cyclic palettes scored well color blind friendliness fairness. Figure 23: Spectral sequential palettes scores well general, shown continuous format Figure 24: Color blind friendly diverging palettes Diverging palettes score well color blind friendliness wings distinct hue (yin yang symbol). specifically, almost exclusively combinations red/orange/brown blue, purple green scored well (Figure 24). former combination drawback red orange often saturated, leading lower fairness score latter combination. Color blind friendliness bivariate palettes even challenging achieve, two (three) marginal palettes based need color blind friendly, also bivariate color combinations. properties bivariate palettes still development, labels color blind friendliness fairness taken grain salt. Bivariate palettes based either orange-blue purple-green combinations least color blind unfriendly therefore used, albeit caution. Bivariate palettes subtype sequantial x categorical 3 columns (categories) almost definition color blind friendly, color blind people can perceive combinations two hues (Figure 12). fact can observe three different hues categorical palettes hue, due variance chroma luminance.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"strategies-for-palette-design","dir":"Articles","previous_headings":"Palette Design: Insights and Strategies","what":"Strategies for Palette Design","title":"cols4all: analysing and comparing color palettes","text":"used development functions included R package find categorical palettes color blind friendly, fair, sufficient contrast white /black. specifically, aimed three use cases: designed following preliminary set color palettes, first seven colors shown Figure 25. . used approach find palettes following: Figure 25: New preliminary set cols4all palettes Figure 26: area7: palette space-filling visualisations Figure 27: area7d: palette space-filling visualisations dark background Figure 28: line7: palette point line charts Figure 29: line7: palette point line charts Figure 30: friendly: palette optimized color blind friendliness","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"discussion","dir":"Articles","previous_headings":"","what":"Discussion","title":"cols4all: analysing and comparing color palettes","text":"offers unique approach color palette analysis comparison, going beyond functionalities existing tools. focusing accessibility, fairness, visual effectiveness, cols4all empowers users make informed decisions based quantitative qualitative insights. inclusion color blindness simulation contrast analysis aids creating visualizations inclusive perceptually effective wider audience. concept fairness introduces novel perspective, promoting palettes colors equally salient. active ongoing development new features refinements regularly added. commitment ongoing improvement driven desire meet evolving needs users address limitations identified community feedback ongoing research. example, tool currently focuses discrete palettes, can effectively analyze continuous palettes discretizing sufficient number classes, thus extending applicability. However, tool also incorporate features analyse sequential diverging palettes continuous form. provides objective metrics, cultural backgrounds, individual preferences, specific context use can influence colors perceived interpreted. better account subjective factors, future development explore incorporating user feedback mechanisms customizable settings accommodate individual preferences. Furthermore, drawing upon insights fields, visual perception research, can inform development new metrics analytical tools better capture nuances human color perception. Various sequential diverging color palettes designed perceptually linear, particular [3], [2], (viridis) [4] series. Currently properties assess whether sequential diverging palettes perceived linearly. assessed people normal color vision , also color blind people. One area development needed improving “nameability” palette colors. Nameability, refers easily colors can identified labeled common color names, shown improve user performance data visualization tasks [37]. nameability property proposed limitations require research. Besides room improvement regarding method match colors common color names, one aspect remains unclear whether “light” “dark” variants common color names taken account. Observe set 11 common color names [39], variants commonly used combination blue green; instance dark pink can also named purple light red orange pink. presence light dark blue (illustrated Figure 17), influence user performance? User studies, qualitative quantitative, needed verify needed improve properties described paper. holds underlying property scores derived 3-point Likert scales shown main table. current default threshold values based combination guidelines (e.g. regarding Delta~E), common sense, less even distribution popular color palettes three classes. Task oriented user studies recommended asses quality properties. instance, relation measured visual bias typical visualisation tasks proposed fairness score? work provides strategies creating color palettes meet specific criteria, color blind friendliness fairness. strategies currently involve manual adjustments refinements based analysis provided cols4all. However, mathematical optimization machine learning offer promising avenues automating palette generation [20]. Future work explore developing separate tools leverage techniques, optimizing palettes properties proposed paper. key challenge designing tools lies integrating user preferences domain expertise automated process. Interactive visualization tools enable users guide refine automated learning process valuable asset, allowing efficient exploration vast design space ensuring resulting palettes align user needs preferences. development properties related color distance noticed perceived distance two colors depends two color, also background color. accommodate phenomenon introduce -called background adjusted color distance colors \\(\\) \\(j\\) background color \\(k\\): \\[\\begin{equation} d(,j,k) = \\frac{2d(,j)^2}{d(,k) + d(j,k)} \\end{equation}\\] implemented function main tool (tab page “Color Blind Friendliness”, checkbox “Background Adjusted” located similarity matrix). However metric needs development therefore yet used properties introduced paper.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"conclusion","dir":"Articles","previous_headings":"","what":"Conclusion","title":"cols4all: analysing and comparing color palettes","text":"represents significant step towards creating accessible effective data visualizations. providing comprehensive platform color palette analysis comparison, encourages informed decision-making promotes inclusivity design. open-source nature tool fosters community involvement collaborative development, paving way future enhancements broader understanding color perception visualization. Future research focus user studies evaluate tool’s effectiveness identify areas improvement, well development new metrics visualizations enhance analytical capabilities.","code":""},{"path":"https://mtennekes.github.io/cols4all/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Martijn Tennekes. Author, maintainer. Marco Puts. Contributor. Achim Zeileis. Contributor. Jakub Nowosad. Contributor. Robin Lovelace. Contributor. Helgasoft. Contributor. Matthew Petroff. Contributor. Olivier Roy. Contributor.","code":""},{"path":"https://mtennekes.github.io/cols4all/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Tennekes M, Puts MJH (2023). “cols4all: color palette analysis tool.” EuroVis (Short Papers). doi:10.2312/evs.20231040.","code":"@InProceedings{, title = {{cols4all}: a color palette analysis tool}, author = {Martijn Tennekes and Marco J. H. Puts}, booktitle = {EuroVis (Short Papers)}, publisher = {Wiley}, doi = {10.2312/evs.20231040}, year = {2023}, }"},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"colors-for-all-","dir":"","previous_headings":"","what":"Colors for all","title":"Colors for all","text":"cols4all R package selecting color palettes. “Color ” refers mission colors usable just people normal color vision, also people color vision deficiency. Currently, package contains palettes several popular lesser known color palette series. Users can also add palette series. Color palettes well organized made consistent . Moreover, scored several aspects: color-blind-friendliness, presence intense colors (avoided), overall aesthetic harmony, many different hues used. Finally, color palette color missing values assigned, especially important spatial data visualization. Currently support several types: categorical (qualitative) palettes, sequential palettes, diverging palettes, cycling palettes bivariate palettes (divided four subtypes).","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Colors for all","text":"cols4all available CRAN: development version can installed follows:","code":"install.packages(\"cols4all\", dependencies = TRUE) install.packages(\"remotes\") remotes::install_github(\"mtennekes/cols4all\", dependencies = TRUE)"},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"getting-started","dir":"","previous_headings":"","what":"Getting started","title":"Colors for all","text":"Load package: main tool dashboard, started : palettes available? , default; palettes can added!","code":"library(cols4all) c4a_gui() c4a_series() #> series description #> 1 brewer ColorBrewer palettes #> 2 carto Palettes designed by CARTO #> 3 cols4all cols4all palettes (in development) #> 4 hcl Palettes from the Hue Chroma Luminance color space #> 5 kovesi Palettes designed by Peter Kovesi #> 6 matplotlib Palettes from the Python library matplotlib #> 7 met Palettes inspired by The Metropolitan Museum of Art #> 8 misc Miscellaneous palettes #> 9 parks Palettes inspired by National Parks #> 10 poly Qualitative palettes with many colors #> 11 powerbi Palettes from Microsoft Power BI #> 12 scico Scientific colour maps by Fabio Crameri #> 13 seaborn Palettes from the Python library Seaborn #> 14 stevens Bivariate palettes by Joshua Stevens #> 15 tableau Palettes designed by Tableau #> 16 tol Palettes designed by Paul Tol #> 17 wes Palettes from Wes Anderson movies"},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"using-the-tool","dir":"","previous_headings":"","what":"Using the tool","title":"Colors for all","text":"Use tool compare palettes needed analyse palette depth (via tabs). Find trade-like among following properties (columns main table): Colorblind friendly: palette color blind friendly? Fair: palette fair? fair palette, colors stand equally. Hues: hue ranges used? across (rainbow) color spectrum, limited range? Vivid: colors saturated? Perhaps little much? Contrast: sufficient contrast white, black (using WACG criteria) colors? 3D Blues: blue palette color, 3D visual illusion appear. Naming (development): well can palette colors named?","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"example-1","dir":"","previous_headings":"Using the tool","what":"Example 1","title":"Colors for all","text":"looking fair categorical palette seven colors color blind friendly possible, filter “Fair”, sort “Colorblind-friendly”: inspired us develop palettes: see cols4all palettes .","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"example-2","dir":"","previous_headings":"Using the tool","what":"Example 2","title":"Colors for all","text":"Say need diverging palette color blind friendly, choose one eye. filter “Colorblind-friendly” sort “Hue Middle L” (hue left wing): Reverse sorting also applied.","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"preliminary-set-of-new-cols4all-palettes","dir":"","previous_headings":"","what":"Preliminary set of new cols4all palettes","title":"Colors for all","text":"applied basic heuristic explore palettes score well mix properties named area7, area8 area9 fair, contain low pastel colors, color-blind friendly (7 colors). ideal maps space-filling visualizations! used https://github.com/r-tmap/tmap. area7d, area8d area9d similar dark mode:. line7, line8 line9 colors good contrast black white, also colorblind-friendly extent. ideal line graphs scatter plots: Finally friendly7 … friendly13 colorblind-friendly palettes (disregarding properties):","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"ggplot2-integration","dir":"","previous_headings":"","what":"ggplot2 integration","title":"Colors for all","text":"","code":"library(ggplot2) data(\"diamonds\") diam_exp = diamonds[diamonds$price >= 15000, ] # discrete categorical scale ggplot(diam_exp, aes(x = carat, y = price, color = color)) + geom_point(size = 2) + scale_color_discrete_c4a_cat(\"carto.safe\") + theme_light() # continuous diverging scale ggplot(diam_exp, aes(x = carat, y = depth, color = price)) + geom_point(size = 2) + scale_color_continuous_c4a_div(\"wes.zissou1\", mid = mean(diam_exp$price)) + theme_light()"},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"overview-of-functions","dir":"","previous_headings":"","what":"Overview of functions","title":"Colors for all","text":"Main functions: c4a_gui Dashboard analyzing palettes c4a Get colors palette (c4a_na associated color missing values) c4a_plot Plot color palette Palette names properties: c4a_palettes Get available palette names c4a_series Get available series names c4a_types Get implemented types c4a_overview Get overview palettes per series x type. c4a_citation Show cite palettes (bibtex code). c4a_info Get information palette, type maximum number colors .P Environment via palette names can browsed auto-completion (using $) Importing exporting palettes: c4a_data Build color palette data c4a_load Load color palette data c4a_sysdata_import Import system data c4a_sysdata_export Export system data Edit color palette data c4a_duplicate Duplicates color palette c4a_modify Modifies palette colors ggplot2 scale___c4a_ e.g. scale_color_continuous_c4a_div Add scale ggplot2.","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"other-r-functions","dir":"","previous_headings":"","what":"Other R functions","title":"Colors for all","text":"palettes available, e.g diverging hcl series? Give colors! Plot colors:","code":"# Diverging palettes from the 'hcl' series c4a_palettes(type = \"div\", series = \"hcl\") #> [1] \"hcl.blue_red\" \"hcl.blue_red2\" \"hcl.blue_red3\" \"hcl.red_green\" #> [5] \"hcl.purple_green\" \"hcl.purple_brown\" \"hcl.green_brown\" \"hcl.blue_yellow2\" #> [9] \"hcl.blue_yellow3\" \"hcl.green_orange\" \"hcl.cyan_magenta\" # select purple green palette from the hcl series: c4a(\"hcl.purple_green\", 11) #> [1] \"#492050\" \"#82498C\" \"#B574C2\" \"#D2A9DB\" \"#E8D4ED\" \"#F1F1F1\" \"#C8E1C9\" #> [8] \"#91C392\" \"#4E9D4F\" \"#256C26\" \"#023903\" # get the associated color for missing values c4a_na(\"hcl.purple_green\") #> [1] \"#BABABA\" c4a_plot_cvd(\"hcl.purple_green\", 11, include.na = TRUE)"},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"related-r-packages","dir":"","previous_headings":"","what":"Related R packages","title":"Colors for all","text":"foundation package another R package: colorspace. use package analyse colors. purpose specifically color blind friendliness checks, also use colorblindcheck. packages large collection color palettes, particular pals paletteer. features distinguish cols4all packages: Color palettes characterized analysed. Properties color blindness, fairness (whether colors stand equally), contrast determined palette. Bivariate color palettes available. color palettes can loaded analysed. Colors missing values made explicit. native support ggplot2 tmap (upcoming version 4). couple exporting options, including (bibtex) citation.","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"feedback-welcome","dir":"","previous_headings":"","what":"Feedback welcome!","title":"Colors for all","text":"everything working expected? miss certain palettes? ideas improvement measure palette properties? Let us know! (via github issues)","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a cols4all color palette — c4a","title":"Get a cols4all color palette — c4a","text":"Get cols4all color palette: c4a returns colors specified palette, c4a_na returns color missing value associated specified palette, c4a_ramp returns color ramp function. Run c4a_gui see available palettes, also listed c4a_palettes.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a cols4all color palette — c4a","text":"","code":"c4a( palette = NULL, n = NA, m = NA, type = c(\"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\"), reverse = FALSE, order = NULL, range = NA, colorsort = \"orig\", format = c(\"hex\", \"rgb\", \"hcl\", \"RGB\", \"XYZ\", \"HSV\", \"HLS\", \"LAB\", \"polarLAB\", \"LUV\", \"polarLUV\"), nm_invalid = c(\"error\", \"repeat\", \"interpolate\"), verbose = TRUE ) c4a_ramp(..., space = c(\"rgb\", \"Lab\"), interpolate = c(\"linear\", \"spline\")) c4a_na( palette = NULL, type = c(\"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\"), verbose = TRUE )"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a cols4all color palette — c4a","text":"palette name palette. See c4a_palettes available palettes. omitted, default palette provided c4a_default_palette. palette name can prefixed \"-\" symbol, reverse palette (can also done reverse argument). n number colors. omitted : type \"cat\" maximum number colors returned, types \"seq\", \"div\", \"cyc\", 7 , 9, 9 colors respectively. m number rows case type bivariate, one \"bivs\", \"bivc\", \"bivd\" \"bivg\" (see c4a_types descriptions) type type color palette, case palette specified: one \"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\". Run c4a_types descriptions. reverse palette reversed? order order colors. applicable \"cat\" palettes range vector two numbers 0 1 determine range used sequential diverging palettes. first number determines palette begins, second number ends. sequential \"seq\" palettes, 0 means leftmost (normally lightest) color, 1 rightmost (often darkest) color. diverging \"seq\" palettes, 0 means middle color, 1 extremes. one number provided, number interpreted endpoint (0 taken start). colorsort Sort colors. Options: \"orig\" (original order), \"Hx\" (hue, x starting number 0 360), \"C\" (chroma), \"L\" (luminance). options available \"cat\" palettes, last one \"seq\", none palette types. format format colors. One : \"hex\" character vector hex color values, \"rgb\" 3 column matrix RGB values, \"hcl\" 3-column matrix HCL values, one color classes colorspace nm_invalid done case n m larger maximum number colors smaller minimum number? Options \"error\" (error returned), \"repeat\", palette repeated, \"interpolate\" colors interpolated. categorical \"cat\" palettes . verbose messages printed? ... passed c4a. space character string; interpolation RGB CIE Lab color spaces interpolate use spline linear interpolation","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a cols4all color palette — c4a","text":"vector colors (c4a) color (c4a_na)","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a cols4all color palette — c4a","text":"","code":"# get the colors from brewer.set3 and plot them set3 <- c4a(\"brewer.set3\") c4a_plot_hex(set3, nrows = 1) c4a(\"hcl.set2\", n = 36) |> c4a_plot_hex() c4a(\"-hcl.set2\", n = 12) |> c4a_plot_hex() # how to know which palettes are avaiable? # 1) Via the interactive tool: if (FALSE) { # \\dontrun{ c4a_gui() } # } # 2) Via the overview function: c4a_palettes(type = \"cat\") #> [1] \"misc.r3\" \"misc.r4\" #> [3] \"misc.ggplot2\" \"misc.okabe\" #> [5] \"brewer.accent\" \"brewer.dark2\" #> [7] \"brewer.paired\" \"brewer.pastel1\" #> [9] \"brewer.pastel2\" \"brewer.set1\" #> [11] \"brewer.set2\" \"brewer.set3\" #> [13] \"tol.bright\" \"tol.contrast\" #> [15] \"tol.vibrant\" \"tol.muted\" #> [17] \"tol.medium\" \"tol.light\" #> [19] \"tol.dark\" \"tol.rainbow\" #> [21] \"misc.watlington\" \"wes.bottle_rocket1\" #> [23] \"wes.bottle_rocket2\" \"wes.rushmore1\" #> [25] \"wes.rushmore\" \"wes.royal1\" #> [27] \"wes.royal2\" \"wes.zissou1continuous\" #> [29] \"wes.darjeeling1\" \"wes.darjeeling2\" #> [31] \"wes.chevalier1\" \"wes.fantastic_fox1\" #> [33] \"wes.moonrise1\" \"wes.moonrise2\" #> [35] \"wes.moonrise3\" \"wes.cavalcanti1\" #> [37] \"wes.grand_budapest1\" \"wes.isle_of_dogs1\" #> [39] \"wes.isle_of_dogs2\" \"wes.isleof_dogs2\" #> [41] \"wes.french_dispatch\" \"wes.asteroid_city1\" #> [43] \"wes.asteroid_city2\" \"wes.asteroid_city3\" #> [45] \"carto.vivid\" \"carto.safe\" #> [47] \"carto.prism\" \"carto.pastel\" #> [49] \"carto.bold\" \"carto.antique\" #> [51] \"hcl.pastel1\" \"hcl.dark2\" #> [53] \"hcl.dark3\" \"hcl.set2\" #> [55] \"hcl.set3\" \"hcl.warm\" #> [57] \"hcl.cold\" \"hcl.harmonic\" #> [59] \"hcl.dynamic\" \"scico.acton_cat\" #> [61] \"scico.bamako_cat\" \"scico.batlow_cat\" #> [63] \"scico.batlowK_cat\" \"scico.batlowW_cat\" #> [65] \"scico.bilbao_cat\" \"scico.buda_cat\" #> [67] \"scico.davos_cat\" \"scico.devon_cat\" #> [69] \"scico.glasgow_cat\" \"scico.grayC_cat\" #> [71] \"scico.hawaii_cat\" \"scico.imola_cat\" #> [73] \"scico.lajolla_cat\" \"scico.lapaz_cat\" #> [75] \"scico.lipari_cat\" \"scico.navia_cat\" #> [77] \"scico.nuuk_cat\" \"scico.oslo_cat\" #> [79] \"scico.tokyo_cat\" \"scico.turku_cat\" #> [81] \"tableau.10\" \"tableau.20\" #> [83] \"tableau.color_blind\" \"tableau.seattle_grays\" #> [85] \"tableau.traffic\" \"tableau.miller_stone\" #> [87] \"tableau.superfishel_stone\" \"tableau.nuriel_stone\" #> [89] \"tableau.jewel_bright\" \"tableau.summer\" #> [91] \"tableau.winter\" \"tableau.green_orange_teal\" #> [93] \"tableau.red_blue_brown\" \"tableau.purple_pink_gray\" #> [95] \"tableau.hue_circle\" \"tableau.classic10\" #> [97] \"tableau.classic10medium\" \"tableau.classic10light\" #> [99] \"tableau.classic20\" \"tableau.classic_gray5\" #> [101] \"tableau.classic_color_blind\" \"tableau.classic_traffic_light\" #> [103] \"tableau.classic_purple_gray6\" \"tableau.classic_purple_gray12\" #> [105] \"tableau.classic_green_orange6\" \"tableau.classic_green_orange12\" #> [107] \"tableau.classic_blue_red6\" \"tableau.classic_blue_red12\" #> [109] \"tableau.classic_cyclic\" \"seaborn.deep\" #> [111] \"seaborn.muted\" \"seaborn.pastel\" #> [113] \"seaborn.bright\" \"seaborn.dark\" #> [115] \"seaborn.colorblind\" \"poly.kelly\" #> [117] \"poly.glasbey\" \"poly.alphabet2\" #> [119] \"poly.palette36\" \"poly.alphabet\" #> [121] \"poly.light24\" \"poly.dark24\" #> [123] \"poly.sky24\" \"poly.wright25\" #> [125] \"met.archambault\" \"met.austria\" #> [127] \"met.cross\" \"met.degas\" #> [129] \"met.derain\" \"met.egypt\" #> [131] \"met.gauguin\" \"met.isfahan2\" #> [133] \"met.java\" \"met.juarez\" #> [135] \"met.kandinsky\" \"met.klimt\" #> [137] \"met.lakota\" \"met.moreau\" #> [139] \"met.nattier\" \"met.navajo\" #> [141] \"met.new_kingdom\" \"met.nizami\" #> [143] \"met.peru1\" \"met.peru2\" #> [145] \"met.pillement\" \"met.pissaro\" #> [147] \"met.redon\" \"met.renoir\" #> [149] \"met.signac\" \"met.tara\" #> [151] \"met.thomas\" \"met.tiepolo\" #> [153] \"met.tsimshian\" \"met.van_gogh1\" #> [155] \"met.van_gogh2\" \"met.veronese\" #> [157] \"met.wissing\" \"parks.banff\" #> [159] \"parks.bryce_canyon\" \"parks.charmonix\" #> [161] \"parks.crater_lake\" \"parks.cuyahoga\" #> [163] \"parks.death_valley\" \"parks.everglades\" #> [165] \"parks.grand_canyon\" \"parks.halekala\" #> [167] \"parks.iguazu_falls\" \"parks.kings_canyon\" #> [169] \"parks.lake_nakuru\" \"parks.redwood\" #> [171] \"parks.rocky_mtn\" \"parks.saguaro\" #> [173] \"parks.smoky_mtns\" \"parks.south_downs\" #> [175] \"parks.torres\" \"parks.triglav\" #> [177] \"parks.volcanoes\" \"parks.yellowstone\" #> [179] \"parks.yosemite\" \"cols4all.area7\" #> [181] \"cols4all.area8\" \"cols4all.area9\" #> [183] \"cols4all.area7d\" \"cols4all.area8d\" #> [185] \"cols4all.area9d\" \"cols4all.line7\" #> [187] \"cols4all.line8\" \"cols4all.line9\" #> [189] \"cols4all.friendly5\" \"cols4all.friendly7\" #> [191] \"cols4all.friendly9\" \"cols4all.friendly11\" #> [193] \"cols4all.friendly13\" \"powerbi.default\" #> [195] \"powerbi.highrise\" \"powerbi.executive\" #> [197] \"powerbi.frontier\" \"powerbi.innovative\" #> [199] \"powerbi.bloom\" \"powerbi.classic\" #> [201] \"powerbi.city_park\" \"powerbi.classroom\" #> [203] \"powerbi.colorblind_safe\" \"powerbi.electric\" #> [205] \"powerbi.high_contrast\" \"powerbi.sunset\" #> [207] \"powerbi.twilight\" \"powerbi.accessible_default\" #> [209] \"powerbi.accessible_city_park\" \"powerbi.accessible_tidal\" #> [211] \"powerbi.accessible_neutral\" \"powerbi.accessible_orchid\" c4a_palettes(series = \"brewer\") #> [1] \"brewer.br_bg\" \"brewer.pi_yg\" \"brewer.prgn\" #> [4] \"brewer.pu_or\" \"brewer.rd_bu\" \"brewer.rd_gy\" #> [7] \"brewer.rd_yl_bu\" \"brewer.rd_yl_gn\" \"brewer.spectral\" #> [10] \"brewer.accent\" \"brewer.dark2\" \"brewer.paired\" #> [13] \"brewer.pastel1\" \"brewer.pastel2\" \"brewer.set1\" #> [16] \"brewer.set2\" \"brewer.set3\" \"brewer.blues\" #> [19] \"brewer.bu_gn\" \"brewer.bu_pu\" \"brewer.gn_bu\" #> [22] \"brewer.greens\" \"brewer.greys\" \"brewer.oranges\" #> [25] \"brewer.or_rd\" \"brewer.pu_bu\" \"brewer.pu_bu_gn\" #> [28] \"brewer.pu_rd\" \"brewer.purples\" \"brewer.rd_pu\" #> [31] \"brewer.reds\" \"brewer.yl_gn\" \"brewer.yl_gn_bu\" #> [34] \"brewer.yl_or_br\" \"brewer.yl_or_rd\" \"brewer.paired_biv\" #> [37] \"brewer.divseq\" \"brewer.qualseq\" \"brewer.seqseq1\" #> [40] \"brewer.seqseq2\" c4a_palettes(type = \"cat\", series = \"brewer\") #> [1] \"brewer.accent\" \"brewer.dark2\" \"brewer.paired\" \"brewer.pastel1\" #> [5] \"brewer.pastel2\" \"brewer.set1\" \"brewer.set2\" \"brewer.set3\" # Run c4a_overview() to see which are available # 3) Via .P .P$brewer$cat$set3 #> [1] \"brewer.set3\" # each palette contains a color for missing values c4a(\"carto.safe\", 7) #> [1] \"#88CCEE\" \"#CC6677\" \"#DDCC77\" \"#117733\" \"#332288\" \"#AA4499\" \"#44AA99\" c4a_na(\"carto.safe\") #> [1] \"#888888\" c4a_plot_hex(\"carto.safe\", n = 7, include.na = TRUE) c4a_plot_hex(\"carto.safe\", n = 7, include.na = TRUE) # same (but shorter) as # c4a_plot_hex(c(c4a(\"carto.safe\", 7), c4a_na(\"carto.safe\")), include.na = TRUE) # color ramp c4a(\"viridis\", 100) |> c4a_plot() c4a_ramp(\"viridis\")(100) |> c4a_plot()"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_citation.html","id":null,"dir":"Reference","previous_headings":"","what":"Show how to cite palettes — c4a_citation","title":"Show how to cite palettes — c4a_citation","text":"Show cite palettes","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_citation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Show how to cite palettes — c4a_citation","text":"","code":"c4a_citation(name, verbose = TRUE)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_citation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Show how to cite palettes — c4a_citation","text":"name name palette series verbose text printed (FALSE utils::bibentry object returned)","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_citation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Show how to cite palettes — c4a_citation","text":"utils::bibentry object","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_citation.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Show how to cite palettes — c4a_citation","text":"","code":"c4a_citation(\"hcl\") #> #> To cite palettes from series \"hcl\" in publications use: #> #> Zeileis A, Hornik K, Murrell P (2009). “Escaping RGBland: Selecting #> Colors for Statistical Graphics.” _Computational Statistics & Data #> Analysis_, *53*(9), 3259-3270. doi:10.1016/j.csda.2008.11.033 #> . #> #> @Article{hcl, #> title = {Escaping {RGB}land: Selecting Colors for Statistical Graphics}, #> author = {Achim Zeileis and Kurt Hornik and Paul Murrell}, #> journal = {Computational Statistics \\& Data Analysis}, #> year = {2009}, #> volume = {53}, #> number = {9}, #> pages = {3259--3270}, #> doi = {10.1016/j.csda.2008.11.033}, #> } c4a_citation(\"poly.glasbey\") #> #> To cite palette glasbey from series \"poly\" in publications use: #> #> Glasbey C, van der Heijden G, Toh VFK, Gray A (2007). “Colour displays #> for categorical images.” _Color Research & Application_, *32*(4), #> 304-309. doi:10.1002/col.20327 , #> . #> #> @Article{poly.glasbey, #> author = {Chris Glasbey and Gerie {van der Heijden} and Vivian F. K. Toh and Alision Gray}, #> title = {Colour displays for categorical images}, #> journal = {Color Research \\& Application}, #> volume = {32}, #> number = {4}, #> pages = {304-309}, #> keywords = {pseudo-colour, look-up table, perceptually uniform colour space, RGB, CIELAB, colour quantization}, #> doi = {https://doi.org/10.1002/col.20327}, #> url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/col.20327}, #> year = {2007}, #> }"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Build and load palette data — c4a_data","title":"Build and load palette data — c4a_data","text":"Build palette data. c4a_data c4a_data_as_is build data palette. difference former may restructure palette colors (see details) whereas latter takes palette colors . Data can subsequently loaded cols4all via c4a_load. c4a_data function can also used read c4a_info objects, contain data single palette.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Build and load palette data — c4a_data","text":"","code":"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 )"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Build and load palette data — c4a_data","text":"x either named list color palettes c4a_info object. first case: see details indexing. second case bypass arguments. xNA colors missing values. Vector length x (length 1). NA values, color missing values automatically determined (preferable light grayscale color, indistinguishable color blind people, light color low chroma value selected) types character vector length x (length 1), determines type palette: \"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\". See details. series character vector length x (length 1), determines series. nmin, nmax, ndef minimum / maximum / default number colors palette. default: nmin = 1, \"cat\" nmax ndef number supplied colors. types, nmax Inf. ndef 7 \"seq\", 9. diverging palettes, numbers refer number columns. (See mmin, mmax, mdef rows) mmin, mmax, mdef minimum / maximum / default number rows bivariate palettes. format.palette.name palette names formatted lowercase/underscore format? remove.blacks, remove.whites, take.gray..NA, remove..grays arguments determine processing grayscale colors categorical \"cat\" palettes: remove.blacks (near) blacks, removed first. Next, take.gray..NA, xNA NA, palette contains least one grayscale color (can also white), used color missing values. case one grayscale color, lightest taken. remove..grays determines happens grays. light..dark sequential \"seq\" palettes automatically ordered light dark? remove.names individual color names removed? biv.method method create bivariate palette. Options \"byrow\" means colors wrapped row-wise color matrix number rows columns automatically determined, \"byrowX\" X (integer 2 9) columns, \"bycol\" \"bycolX similar wrapped column-wise. \"div2seqseq\" \"div2catseq means colors extracted divering palette. former translates colors matrix neutral color diagonal, latter places neutral color middle column. \"seq2uncseq\" space color space interpolated colors determined. Options: \"rgb\" (RGB) \"Lab\" (CIE Lab). range_matrix_args list lists, one palette. list specifies range sequential diverging palettes, case indexed. See details. bib bibtex reference form utils::bibentry object. description description series. series contains multiple series (rather one value), please specify vector length series. See c4a_series descriptions currently loaded series. data cols4all data created c4a_data overwrite case palettes already exist (.e. full names), old names overwritten? ... passed c4a_data","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Build and load palette data — c4a_data","text":"c4a_data object, list four items: data, s, citation, description","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Build and load palette data — c4a_data","text":"cols4all, palettes organized series type. series 'family' specifies palettes belong . instance \"brewer\" stands color palettes ColorBrewer. Run c4a_series get overview loaded series. type specifies kind palette ; see c4a_types description implemented ones. function structures palette data, consistent palette data. includes: Palette names made consistent. use convention \"my_series.my_palette\", lower case, period separate series name palette name, underscores separate words. (c4a_data, bypassed c4a_data_as_is) Categorical palettes: black removed categorical palettes, grayscale color assigned used missing values (grayscale colors removed). Sequential palettes sorted light dark. Indexing: categorical \"cat\" palette, optional \"index\" attribute determines colors use lengths: palette consists k colors, index list k, -th element integer vector length values 1,2,...,k. See c4a_info(\"rainbow\") example. Range: sequential diverging palettes usually defined 9+ colors. optional \"range_matrix\" attribute determines range used less colors. n x 2 matrix row defines applied range palette length . sequential palettes range c(0,1) means palette generated (via color ramp) two outermost colors. diverging palettes, range c(x, y) means sides palette generated (via color ramp) x, distance center color, y represents outermost colors. range automatically set sequential diverging palettes \"index\" \"range_matrix\" attribute via parameter range_matrix_args, list per palette. arguments sequential palette : nmin minimum number colors range reduced, nmax, number colors range set c(0,1), slope_min slope_max determine slopes range reduction palette length nmax nmin, space sets color space color ramp applied (\"rgb\" \"Lab\"). arguments diverging palette , one slope used (namely outermost colors). may take time process, especially large categorical palettes, calculations color blind checks.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Build and load palette data — c4a_data","text":"","code":"# 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) } } #> Loading required namespace: shiny #> Loading required namespace: shinyjs #> Loading required namespace: kableExtra #> Loading required namespace: plotly"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":null,"dir":"Reference","previous_headings":"","what":"Graphical user interface to analyse palettes — c4a_gui","title":"Graphical user interface to analyse palettes — c4a_gui","text":"Graphical user interface analyse palettes. c4a_table shows table can opened browser. c4a_gui graphical user interface (shiny app) around table.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Graphical user interface to analyse palettes — c4a_gui","text":"","code":"c4a_gui(type = \"cat\", n = NA, series = \"all\") c4a_table( type = c(\"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\"), n = NULL, m = NULL, continuous = FALSE, filters = character(0), cvd.sim = c(\"none\", \"deutan\", \"protan\", \"tritan\"), sort = \"name\", text.format = \"hex\", text.col = \"same\", series = \"all\", range = NA, colorsort = \"orig\", include.na = FALSE, show.scores = FALSE, columns = NA, verbose = TRUE )"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Graphical user interface to analyse palettes — c4a_gui","text":"type type palette. Run c4a_types see implemented types description. c4a_gui determines type shown initially. n, m n number displayed colors. bivariate palettes \"biv\", n m number columns rows respectively. omitted: \"cat\" full palette displayed, \"seq\", \"div\" \"cyc\", 7, 9, 9 colors respectively, \"bivs\"/\"bivc\"/\"bivd\"/\"bivg\" 4 columns rows. c4a_gui determines number colors initially. series Series palettes show. See c4a_series options. default, \"\", means series. c4a_gui determines series shown initially. continuous palettes continuous instead discrete. applicable \"seq\", \"div\", \"cyc\". filters filters applied. character vector subset :\"nmax\" (palettes n = nmax, applicable categorical palettes), \"cbf\" (colorblind-friendly), \"fair\" (fairness),\"naming\" (nameability), \"crW\" (sufficient contrast ratio white), \"crB\" (sufficient contrast ratio black). default empty vector, filters applied. cvd.sim color vision deficiency simulation: one \"none\", \"deutan\", \"protan\", \"tritan\" sort column name sort data. available column names depend arguments type show.scores. listed warning message. Use \"-\" prefix reverse order. text.format format text colors. One \"hex\", \"RGB\" \"HCL\". text.col text color colors. default \"\", means colors (invisible, available selection). \"auto\" means automatic: black light colors white dark colors. range vector two numbers determine range used sequential diverging palettes. numbers 0 1. first number determines palette begins, second number ends. sequential palettes, 0 means leftmost (normally lightest) color, 1 rightmost (often darkest) color. diverging palettes, 0 means middle color, 1 extremes. one number provided, number interpreted endpoint (0 taken start). default, set automatically, based n. colorsort Sort colors (\"cat\" ). Options: \"orig\" (original order), \"Hx\" (hue, x starting number 0 360), \"C\" (chroma), \"L\" (luminance) include.na color missing values shown? FALSE default show.scores scores quality indicators printed? See details description indicators. columns number columns. default equal n , specified, 12. higher palette lengths. verbose messages warnings printed?","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Graphical user interface to analyse palettes — c4a_gui","text":"HMTL table (kableExtra object)","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Graphical user interface to analyse palettes — c4a_gui","text":"See vignette properties calculated. Parameters, threshold values determined palettes classified \"colorblind-friendly\", can specified via c4a_options. Also nameability score function (development) can specified . See examples c4a_options use cases.","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Graphical user interface to analyse palettes — c4a_gui","text":"","code":"if (requireNamespace(\"shiny\") && requireNamespace(\"shinyjs\") && requireNamespace(\"kableExtra\") && requireNamespace(\"colorblindcheck\") && interactive()) { c4a_gui() # categorical palettes with maximum number of colors c4a_table(type = \"cat\") # sort sequential palettes by hue c4a_table(type = \"seq\", n = 7, sort = \"H\") # sort sequential palettes by hue type (how many hues are used) c4a_table(type = \"seq\", n = 5, sort = \"hues\") }"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_info.html","id":null,"dir":"Reference","previous_headings":"","what":"Get information from a cols4all palette — c4a_info","title":"Get information from a cols4all palette — c4a_info","text":"Get information cols4all palette","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_info.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get information from a cols4all palette — c4a_info","text":"","code":"c4a_info(palette, no.match = c(\"message\", \"error\", \"null\"), verbose = TRUE)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_info.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get information from a cols4all palette — c4a_info","text":"palette name palette .match happens match found? Options: \"message\": message thrown suggestions, \"error\": error thrown, \"null\": NULL returned verbose messages printed?","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_info.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get information from a cols4all palette — c4a_info","text":"list following items: name, series, fullname, type, palette (colors), na (color), nmax, reverse. latter TRUE \"-\" prefix palette name.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_modify.html","id":null,"dir":"Reference","previous_headings":"","what":"Edit cols4all palettes (in development) — c4a_modify","title":"Edit cols4all palettes (in development) — c4a_modify","text":"Edit cols4all palettes. c4a_duplicate duplicates existing cols4all palette, c4a_modify used change colors. Use c4a_data craete palettes scratch.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_modify.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Edit cols4all palettes (in development) — c4a_modify","text":"","code":"c4a_modify(palette, x = NULL, xNA = NULL) c4a_duplicate(palette, name = NA)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_modify.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Edit cols4all palettes (in development) — c4a_modify","text":"palette name palette x vector new colors. either length, named vector, names correspond index numbers. E.g. c(\"3\" = \"#AABBCC\") replace third color color \"#AABBCC\". xNA new color missing values. name name new palette","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_modify.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Edit cols4all palettes (in development) — c4a_modify","text":"","code":"c4a_duplicate(\"brewer.set2\", \"set2_mod\") c4a_modify(\"set2_mod\", c(\"4\" = \"#EA8AB8\"))"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_options.html","id":null,"dir":"Reference","previous_headings":"","what":"Set cols4all options — c4a_options","title":"Set cols4all options — c4a_options","text":"Get set global options c4a. Works similar base function options","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_options.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set cols4all options — c4a_options","text":"","code":"c4a_options(...)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_options.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set cols4all options — c4a_options","text":"... Use character values retrieve options. set options, either use named arguments (names refer options), list consists options.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_options.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set cols4all options — c4a_options","text":"list options","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_options.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set cols4all options — c4a_options","text":"","code":"# Example how to lower the color-blind friendly threshold # for categorical palettes (so more smileys in the GUI!) # CBF_th: one smiley # CBVF_th: two smileys # current table if (FALSE) { # \\dontrun{ c4a_table(n = 9, sort = \"cbfriendly\") opts = c4a_options(\"CBF_th\", \"CBVF_th\") opts$CBF_th$cat[\"min_dist\"] = 7 opts$CBVF_th$cat[\"min_dist\"] = 10 old = c4a_options(opts) # more smileys :-) :-) c4a_table(n = 9, sort = \"cbfriendly\") # set the old settings back c4a_options(old) } # } # Example how to use own nameability function # # This function should: # - have an argument \"pal\" (vector of colors) # - optionally have other arguments # - return a distance matrix of n rows (length of pal) and k columns (classes). # It shoud have columns names that correspond to the naming colors (see below). naming_RGB = function(pal) { cols = colorspace::hex2RGB(pal) coords = cols@coords cls = apply(coords, MARGIN = 1, which.max) mx = apply(coords, MARGIN = 1, max) dominance = ((mx + 0.001) / (rowSums(coords) + 0.001)) cls[dominance < 0.4] = 4L m = matrix(0, nrow = length(pal), ncol = 4, dimnames = list(NULL, c(\"Red\", \"Green\", \"Blue\", \"Other\"))) for (i in 1:nrow(m)) { m[i, cls[i]] = 1 } -m } # testing this function... naming_RGB(c4a(\"brewer.set1\")) #fair enough #> Red Green Blue Other #> [1,] -1 0 0 0 #> [2,] 0 0 -1 0 #> [3,] 0 -1 0 0 #> [4,] 0 0 -1 0 #> [5,] -1 0 0 0 #> [6,] -1 0 0 0 #> [7,] -1 0 0 0 #> [8,] -1 0 0 0 #> [9,] 0 0 0 -1 # This vector should contain the 'prototype' colors, and have names that correspond # to the column names of the returned matrices by the function above. names_RGB = c(\"Red\" = \"#FF0000\", \"Green\" = \"#00FF00\", \"Blue\" = \"#0000FF\", \"Other\" = \"#AAAAAA\") # Set the options (may take a while because if calculated the nameability scores) if (FALSE) { # \\dontrun{ c4a_options(naming_fun = naming_RGB, naming_fun_args = list(), naming_colors = names_RGB) } # }"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":null,"dir":"Reference","previous_headings":"","what":"Get available palette names and series — c4a_palettes","title":"Get available palette names and series — c4a_palettes","text":"c4a_palettes lists available cols4all color palettes. Palettes organized series. available series listed c4a_series. Palettes also organized per functional type, currently support: categorical \"cat\", sequential \"seq\", diverging \"div\"\", cyclic \"cyc\", bivariate (seq x seq \"bivs\", seq x cat \"bivc\", seq x div \"bivd\", seq x desaturated \"bivg\") palette types. function c4a_types lists available types. function c4a_overview gives overview table number palette per series type. IDE auto-completion (RStudio) possible browse palette names .P (using $ like lists).","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get available palette names and series — c4a_palettes","text":"","code":"c4a_palettes( type = c(\"all\", \"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\"), series = NULL, full.names = TRUE ) c4a_series(type = c(\"all\", \"cat\", \"seq\", \"div\", \"cyc\"), as.data.frame = TRUE) c4a_types(series = NULL, as.data.frame = TRUE) c4a_overview(return.matrix = FALSE, zero.count.as.NA = FALSE) .P"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Get available palette names and series — c4a_palettes","text":"object class environment length 17.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get available palette names and series — c4a_palettes","text":"type type color palette: one \"\" (palettes), \"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\". See c4a_types descriptions. series series list palettes . Run c4a_series see options. full.names full names, .e. prefix \"series.\"? default TRUE. .data.frame c4a_series c4a_types return result data.frame, description included column? return.matrix matrix returned numbers per palette type? FALSE data.frame returned addional information zero.count..NA zeros counted table returned 0 (FALSE, default) NA (TRUE)?","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get available palette names and series — c4a_palettes","text":"names loaded color palettes","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get available palette names and series — c4a_palettes","text":"","code":"c4a_series() #> series description #> 1 brewer ColorBrewer palettes #> 2 carto Palettes designed by CARTO #> 3 cols4all cols4all palettes (in development) #> 4 hcl Palettes from the Hue Chroma Luminance color space #> 5 kovesi Palettes designed by Peter Kovesi #> 6 matplotlib Palettes from the Python library matplotlib #> 7 met Palettes inspired by The Metropolitan Museum of Art #> 8 misc Miscellaneous palettes #> 9 parks Palettes inspired by National Parks #> 10 pinkfloyd Palettes extracted from Pink Floyd album covers #> 11 poly Qualitative palettes with many colors #> 12 powerbi Palettes from Microsoft Power BI #> 13 scico Scientific colour maps by Fabio Crameri #> 14 seaborn Palettes from the Python library Seaborn #> 15 stevens Bivariate palettes by Joshua Stevens #> 16 tableau Palettes designed by Tableau #> 17 tol Palettes designed by Paul Tol #> 18 wes Palettes from Wes Anderson movies c4a_types() #> type description #> 1 cat categorical #> 2 seq sequential #> 3 div diverging #> 4 cyc cyclic #> 5 bivs bivariate (sequential x sequential) #> 6 bivc bivariate (sequential x categorical) #> 7 bivd bivariate (sequential x diverging) #> 8 bivg bivariate (sequential x desaturated) c4a_overview() #> series description cat seq div #> 1 brewer ColorBrewer palettes 9 18 9 #> 2 carto Palettes designed by CARTO 6 21 7 #> 3 cols4all cols4all palettes (in development) 14 0 2 #> 4 hcl Palettes from the Hue Chroma Luminance color space 9 23 11 #> 5 kovesi Palettes designed by Peter Kovesi 0 28 14 #> 6 matplotlib Palettes from the Python library matplotlib 0 51 12 #> 7 met Palettes inspired by The Metropolitan Museum of Art 33 8 14 #> 8 misc Miscellaneous palettes 5 0 0 #> 9 parks Palettes inspired by National Parks 22 5 3 #> 10 pinkfloyd Palettes extracted from Pink Floyd album covers 16 0 0 #> 11 poly Qualitative palettes with many colors 9 0 0 #> 12 powerbi Palettes from Microsoft Power BI 19 1 4 #> 13 scico Scientific colour maps by Fabio Crameri 21 21 10 #> 14 seaborn Palettes from the Python library Seaborn 6 4 2 #> 15 stevens Bivariate palettes by Joshua Stevens 0 0 0 #> 16 tableau Palettes designed by Tableau 29 23 28 #> 17 tol Palettes designed by Paul Tol 8 8 4 #> 18 wes Palettes from Wes Anderson movies 23 0 1 #> cyc bivs bivc bivd bivg #> 1 0 2 2 1 0 #> 2 0 0 0 0 0 #> 3 0 2 0 2 5 #> 4 6 0 0 0 0 #> 5 8 0 0 0 0 #> 6 3 0 0 0 0 #> 7 0 0 1 0 0 #> 8 0 0 3 0 0 #> 9 0 0 0 0 0 #> 10 0 0 0 0 0 #> 11 0 0 0 0 0 #> 12 0 0 0 0 0 #> 13 5 0 2 0 1 #> 14 0 0 0 0 0 #> 15 0 5 0 0 0 #> 16 0 0 3 0 0 #> 17 0 0 0 0 0 #> 18 0 0 0 0 0 c4a_palettes(type = \"cat\", series = \"tol\") #> [1] \"tol.bright\" \"tol.contrast\" \"tol.vibrant\" \"tol.muted\" \"tol.medium\" #> [6] \"tol.light\" \"tol.dark\" \"tol.rainbow\" c4a_palettes(type = \"seq\", series = \"kovesi\") #> [1] \"kovesi.cy_or\" \"kovesi.isoluminant_cgo_80_c38\" #> [3] \"kovesi.isoluminant_cm_70_c39\" \"kovesi.bu_gn_yl_wh\" #> [5] \"kovesi.bu_gn_yl\" \"kovesi.linear_bgyw_15_100_c68\" #> [7] \"kovesi.blue_cyan\" \"kovesi.blue\" #> [9] \"kovesi.bu_wh_mg\" \"kovesi.linear_bmw_5_95_c89\" #> [11] \"kovesi.bu_yl_mg\" \"kovesi.linear_bmy_10_95_c78\" #> [13] \"kovesi.linear_gow_60_85_c27\" \"kovesi.linear_gow_65_90_c35\" #> [15] \"kovesi.green\" \"kovesi.linear_grey_0_100_c0\" #> [17] \"kovesi.grey\" \"kovesi.bk_rd_yl\" #> [19] \"kovesi.linear_kry_5_98_c75\" \"kovesi.bk_rd_wh\" #> [21] \"kovesi.linear_kryw_5_100_c67\" \"kovesi.ternary_blue\" #> [23] \"kovesi.ternary_green\" \"kovesi.ternary_red\" #> [25] \"kovesi.rainbow_bu_gn_yl_rd\" \"kovesi.rainbow_bgyr_35_85_c73\" #> [27] \"kovesi.rainbow_bu_gn_yl_rd_mg\" \"kovesi.rainbow_bgyrm_35_85_c71\" # handy when auto-completion is available: .P$kovesi$seq$linear_terrain #> NULL"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_plot.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a color palette — c4a_plot","title":"Plot a color palette — c4a_plot","text":"Plot color palette, either cols4all palette, color vector. c4a_plot_cvd shortcut include color-blind simulated colors, `c4a_plot_hex shortcut print hex codes instead labels.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a color palette — c4a_plot","text":"","code":"c4a_plot( palette, ..., dark = FALSE, include.na = FALSE, hex = FALSE, include.cvd = FALSE, nrows = NA, ncols = NA ) c4a_plot_cvd(...) c4a_plot_hex(...)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a color palette — c4a_plot","text":"palette Palette name (see c4a) color vector ... arguments passed c4a dark dark (black) background? include.na color missing values included? hex hex codes printed instead color labels (numbers)? include.cvd color deficiency simulated colors included? nrows, ncols Number rows columns. Ignored include.cvd = TRUE (case, rows used simulated colors). default automatically calculated based aspect ratio device.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_plot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot a color palette — c4a_plot","text":"Besides plot, gTree returned silently","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_plot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a color palette — c4a_plot","text":"","code":"c4a_plot(\"brewer.set1\", nrows=1) c4a_plot_hex(\"brewer.set1\", nrows=1) c4a_plot_cvd(\"brewer.set1\") c4a_plot_cvd(\"greens\") c4a_plot_cvd(\"tol.pu_gn\") c4a_plot(.P$cols4all$bivs$pu_gn_bivs, n = 5) c4a_plot(.P$met$bivc$monet) c4a_plot(.P$cols4all$bivd$pu_gn_bivd, n = 5) c4a_plot(.P$cols4all$bivg$gn_bivg, n = 5)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_scores.html","id":null,"dir":"Reference","previous_headings":"","what":"Get information from a cols4all palette — c4a_scores","title":"Get information from a cols4all palette — c4a_scores","text":"Get information cols4all palette","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_scores.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get information from a cols4all palette — c4a_scores","text":"","code":"c4a_scores( palette = NULL, type = NULL, series = NULL, n = NA, no.match = c(\"message\", \"error\", \"null\"), verbose = TRUE )"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_scores.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get information from a cols4all palette — c4a_scores","text":"palette name palette type type palettes (case palette specified) series series name (case palette specified) n number colors .match happens match found? Options: \"message\": message thrown suggestions, \"error\": error thrown, \"null\": NULL returned verbose messages printed?","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_scores.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get information from a cols4all palette — c4a_scores","text":"list following items: name, series, fullname, type, palette (colors), na (color), nmax, reverse. latter TRUE \"-\" prefix palette name.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_scores.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get information from a cols4all palette — c4a_scores","text":"","code":"c4a_scores(\"blues3\") #> name series fullname type n min_dist nameability min_step max_step #> 1 blues3 hcl hcl.blues3 seq 7 7.17 NA 7.17 12.64 #> inter_wing_dist tri_ineq Cmax H HL HR Lmid Hwidth HwidthL HwidthR Lrange #> 1 NA 6.79 70 246 248 244 68 11 7 6 67 #> Crange fairness CRmin CRwt CRbk Blues cbfriendly chroma Hspread fair hues #> 1 60 81 1.18 1.12 2.15 1.83 1.00717 M 4 H SH #> equiluminance contrastWT contrastBK float nameable #> 1 TRUE TRUE TRUE FALSE NA pals = c4a_palettes(type = \"cat\") scores_cat7 = t(sapply(pals, c4a_scores, n = 7)) head(scores_cat7) #> name series fullname type n min_dist nameability #> misc.r3 \"r3\" \"misc\" \"misc.r3\" \"cat\" 7 8.63 0 #> misc.r4 \"r4\" \"misc\" \"misc.r4\" \"cat\" 7 4.29 0 #> misc.ggplot2 \"ggplot2\" \"misc\" \"misc.ggplot2\" \"cat\" 7 3.93 0 #> misc.okabe \"okabe\" \"misc\" \"misc.okabe\" \"cat\" 7 11.13 0 #> brewer.accent \"accent\" \"brewer\" \"brewer.accent\" \"cat\" 7 2.06 0 #> brewer.dark2 \"dark2\" \"brewer\" \"brewer.dark2\" \"cat\" 7 2.29 0 #> min_step max_step inter_wing_dist tri_ineq Cmax H HL HR Lmid #> misc.r3 NA NA NA NA 179 360 17 17 91 #> misc.r4 NA NA NA NA 105 360 245 10 82 #> misc.ggplot2 NA NA NA NA 100 360 12 14 70 #> misc.okabe NA NA NA NA 110 360 142 316 89 #> brewer.accent NA NA NA NA 132 360 26 320 98 #> brewer.dark2 NA NA NA NA 115 360 270 84 52 #> Hwidth HwidthL HwidthR Lrange Crange fairness CRmin CRwt CRbk #> misc.r3 287 223 139 65 179 0 1.16 1.07 2.44 #> misc.r4 291 241 111 34 105 12 1 1.6 4.37 #> misc.ggplot2 296 238 118 6 100 20 1 2.27 7.71 #> misc.okabe 271 186 142 43 57 56 1.02 1.32 4.05 #> brewer.accent 237 206 137 53 102 8 1.04 1.05 3.94 #> brewer.dark2 248 232 64 23 63 73 1.03 2.06 4.72 #> Blues cbfriendly chroma Hspread fair hues equiluminance #> misc.r3 Inf 0.00863 \"H\" 93 \"L\" \"RH\" TRUE #> misc.r4 1.52 0.00429 \"H\" 94 \"L\" \"RH\" TRUE #> misc.ggplot2 1.63 0.00393 \"H\" 96 \"L\" \"RH\" TRUE #> misc.okabe 1.56 1.01113 \"H\" 88 \"M\" \"NA\" TRUE #> brewer.accent 1.63 0.00206 \"H\" 77 \"L\" \"NA\" TRUE #> brewer.dark2 1.53 0.00229 \"H\" 80 \"M\" \"NA\" TRUE #> contrastWT contrastBK float nameable #> misc.r3 TRUE TRUE TRUE FALSE #> misc.r4 TRUE FALSE FALSE FALSE #> misc.ggplot2 TRUE FALSE FALSE FALSE #> misc.okabe TRUE FALSE FALSE FALSE #> brewer.accent TRUE FALSE FALSE FALSE #> brewer.dark2 TRUE FALSE FALSE FALSE"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_sysdata_import.html","id":null,"dir":"Reference","previous_headings":"","what":"Import and export system data — c4a_sysdata_import","title":"Import and export system data — c4a_sysdata_import","text":"Import export system data. c4a_sysdata_import import system data overwrite current system data, c4a_sysdata_export export current system data, c4a_sysdata_remove (partly) removes system data.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_sysdata_import.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Import and export system data — c4a_sysdata_import","text":"","code":"c4a_sysdata_import(data) c4a_sysdata_export() c4a_sysdata_remove(fullnames = NULL, series = NULL, are.you.sure = NA)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_sysdata_import.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Import and export system data — c4a_sysdata_import","text":"data cols4all data (see c4a_data) fullnames full palette names (format series.palette_name) series character vector series names removed (use \"\" remove ). ..sure sure want remove series?","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_sysdata_import.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Import and export system data — c4a_sysdata_import","text":"c4a_sysdata_export returns system data (list)","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_sysdata_import.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Import and export system data — c4a_sysdata_import","text":"","code":"x = c4a_sysdata_export() c4a_sysdata_import(x) #> cols4all system data imported successfully y = c4a_sysdata_export() identical(x, y) #> [1] TRUE"},{"path":"https://mtennekes.github.io/cols4all/reference/cols4all-package.html","id":null,"dir":"Reference","previous_headings":"","what":"cols4all overview — cols4all-package","title":"cols4all overview — cols4all-package","text":"cols4all stands : color palettes people, including color vision deficiency. Popular color palette series, ColorBrewer, organized type scored several properties color-blind-friendliness fairness (.e. colors stand equally?). palettes can also loaded analysed. Besides common palette types (categorical, sequential, diverging) also includes bivariate color palettes. ggplot2 scales included.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/cols4all-package.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"cols4all overview — cols4all-package","text":"page provides brief overview package functions.","code":""},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/reference/cols4all-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"cols4all overview — cols4all-package","text":"Maintainer: Martijn Tennekes mtennekes@gmail.com contributors: Marco Puts mputs@acm.org [contributor] Achim Zeileis Achim.Zeileis@R-project.org [contributor] Jakub Nowosad nowosad.jakub@gmail.com [contributor] Robin Lovelace rob00x@gmail.com [contributor] Helgasoft contact@helgasoft.com [contributor] Matthew Petroff matthew@mpetroff.net [contributor] Olivier Roy [contributor]","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/scales_ggplot2.html","id":null,"dir":"Reference","previous_headings":"","what":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","title":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","text":"col4all scales ggplot2. scale functions organized scale___c4a_, either colo(u)r fill, refers mapping applied (discrete, continuous binned), palette type: cat, seq, div.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/scales_ggplot2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","text":"","code":"scale_color_discrete_c4a_cat( palette = NULL, reverse = FALSE, order = NULL, ... ) scale_colour_discrete_c4a_cat( palette = NULL, reverse = FALSE, order = NULL, ... ) scale_fill_discrete_c4a_cat(palette = NULL, reverse = FALSE, order = NULL, ...) scale_color_discrete_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, ... ) scale_colour_discrete_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, ... ) scale_fill_discrete_c4a_seq(palette = NULL, reverse = FALSE, range = NULL, ...) scale_color_discrete_c4a_div( palette = NULL, reverse = FALSE, range = NULL, ... ) scale_colour_discrete_c4a_div( palette = NULL, reverse = FALSE, range = NULL, ... ) scale_fill_discrete_c4a_div(palette = NULL, reverse = FALSE, range = NULL, ...) scale_color_continuous_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_colour_continuous_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_fill_continuous_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_color_continuous_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_colour_continuous_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_fill_continuous_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_color_binned_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_colour_binned_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_fill_binned_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_color_binned_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_colour_binned_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_fill_binned_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... )"},{"path":"https://mtennekes.github.io/cols4all/reference/scales_ggplot2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","text":"palette, reverse, order, range See c4a. ... parameters passed underlying scale functions: discrete_scale, continuous_scale, binned_scale. mid data value mapped mid-point diverging color scale n_interp number discrete colors used interpolate continuous color scale. Recommended use odd number include midpoint","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/scales_ggplot2.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","text":"ggplot2 component defines scale","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/scales_ggplot2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","text":"","code":"if (require(\"ggplot2\")) { data(\"diamonds\") diam_exp = diamonds[diamonds$price >= 15000, ] diam_exp$clarity[1:500] = NA # discrete categorical scale ggplot(diam_exp, aes(x = carat, y = price, color = color)) + geom_point(size = 2) + scale_color_discrete_c4a_cat(\"carto.safe\") + theme_light() # missing values c4a_plot(\"tol.muted\", 8) ggplot(diam_exp, aes(x = carat, y = price, fill = clarity)) + geom_point(size = 2, shape = 21) + scale_fill_discrete_c4a_cat(\"tol.muted\") + theme_light() # discrete sequential scale ggplot(diam_exp, aes(x = carat, y = price, color = cut)) + geom_point(size = 2) + scale_color_discrete_c4a_seq(\"hcl.blues2\") + theme_light() # continuous sequential scale ggplot(diam_exp, aes(x = carat, y = price, color = depth)) + geom_point(size = 2) + scale_color_continuous_c4a_seq(\"hcl.blues2\", range = c(0.4, 1)) + theme_light() # continuous diverging scale ggplot(diam_exp, aes(x = carat, y = depth, color = price)) + geom_point(size = 2) + scale_color_continuous_c4a_div(\"wes.zissou1\", mid = mean(diam_exp$price)) + theme_light() # binned sequential scale ggplot(diam_exp, aes(x = carat, y = price, color = depth)) + geom_point(size = 2) + scale_color_binned_c4a_seq(\"scico.batlow\", range = c(0.4, 1)) + theme_light() } #> Loading required package: ggplot2"},{"path":"https://mtennekes.github.io/cols4all/news/index.html","id":"cols4all-08","dir":"Changelog","previous_headings":"","what":"cols4all 0.8","title":"cols4all 0.8","text":"main table much faster sorting filtering options added powerbi matplotlib palettes added [!] added new “cols4all” categorical palettes analysis tabs updated","code":""},{"path":"https://mtennekes.github.io/cols4all/news/index.html","id":"cols4all-07-1","dir":"Changelog","previous_headings":"","what":"cols4all 0.7-1","title":"cols4all 0.7-1","text":"CRAN release: 2024-03-12 fixed critical bug c4a_gui","code":""},{"path":"https://mtennekes.github.io/cols4all/news/index.html","id":"cols4all-07","dir":"Changelog","previous_headings":"","what":"cols4all 0.7","title":"cols4all 0.7","text":"CRAN release: 2024-03-06 improved similarity matrix plot improved applications tab added naming column (development) added new ‘tol’ palettes scores shown precision compatibility tmap 4.0","code":""},{"path":"https://mtennekes.github.io/cols4all/news/index.html","id":"cols4all-06-1","dir":"Changelog","previous_headings":"","what":"cols4all 0.6-1","title":"cols4all 0.6-1","text":"fixed bug confusion lines","code":""},{"path":"https://mtennekes.github.io/cols4all/news/index.html","id":"cols4all-06","dir":"Changelog","previous_headings":"","what":"cols4all 0.6","title":"cols4all 0.6","text":"CRAN release: 2023-02-02 first CRAN release","code":""}] +[{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"cols4all: analysing and comparing color palettes","text":"Effective data visualization relies heavily well-chosen color palettes highlight patterns convey information clearly [1]. abundance available color palettes, ranging derived perceptually uniform color spaces like HCL [2], [3], [4] designed color blindness accessibility [4], [5], [6] inspired art [7], [8] nature [9], selecting optimal palette specific visualization task can challenging. challenge compounded need consider accessibility individuals color vision deficiency, comprise estimated 8% males 0.5% females globally [10]. Accessibility guidelines, WCAG 2.2 [11], recommend minimum contrast ratios colors ensure readability. Ensuring visualizations interpretable everyone, regardless color vision capabilities, essential effective communication. address challenges, introduce , open-source software tool analyzing comparing color palettes. Developed package R programming language [12] features interactive dashboard tool, provides comprehensive set features evaluate palettes based various criteria, including color-blind friendliness, contrast, novel fairness metric. Fairness evaluates whether colors palette stand equally. particularly important categorical palettes prevent visual bias ensure single category dominates visualization. Recognizing properties can involve trade-offs, empowers users make informed decisions based specific needs priorities. tool’s interactive nature allows users explore compare palettes, weighing different factors select suitable option visualization task. , aim engage information visualization community color perception research promote development accessible effective visualizations. providing open-source tool, hope reach researchers, designers, practitioners alike, encouraging sharing knowledge best practices color palette selection design.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"related-literature","dir":"Articles","previous_headings":"","what":"Related literature","title":"cols4all: analysing and comparing color palettes","text":"Visualization software tools increasingly incorporate features color palette selection, offering predefined palettes interactive previews. ColorBrewer [13] provides limited highly popular set palettes includes colorblind-safe checkbox aid palette selection. Commercial platforms like Tableau [14] Microsoft Power BI [15] offer extensive built-palettes. Platforms like Adobe Color [16] Color Hunt [17] support community-driven exploration creation. However, tools primarily focus quick exploration rather -depth analysis comparison palette properties. Dedicated tools address gap providing comprehensive analytical capabilities. CCC-Tool [18] Colorgorical [19] allow palette generation based user preferences, catering experienced users. contrast, prioritizes analysis comparison generation, empowering users make informed choices based quantitative qualitative insights derived objective metrics visualizations. Recent research explored advanced techniques color palette recommendation. Deep learning approaches show promise automated palette selection [20], often lack transparency interpretability ’s user-centric approach. Similarly, McNutt et al. [21] introduced visualization linter automated color palette checking, valuable identifying potential issues differs ’s focus interactive exploration comparison. Furthermore, deliberately avoids linking colors palettes specific emotions, recognizing cultural temporal variability color associations [22], schloss2011. focusing objective metrics rather subjective interpretations, fosters informed decision-making without relying potentially culturally biased associations.","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"color-vision","dir":"Articles","previous_headings":"Preliminaries","what":"Color vision","title":"cols4all: analysing and comparing color palettes","text":"Humans typically perceive color three types cone cells. cones measure color spectrum three different areas: short, medium, long wavelengths. combination three cone types leads color percept (perceived color). People color vision deficiency lack (least) one type cone. three types color blindness, , , , missing cones mainly sensitive medium (green), long (red), short (blue) wavelengths, respectively. Color perception individuals based two remaining cone types. result, people deuteranopia protanopia difficulty distinguishing green red, whereas people tritanopia can hardly distinguish blue yellow [23]. People can also partially color blind. However, avoid excessive complexity analysis, take severity level account. brevity, individuals deuteranopia, protanopia, tritanopia referred , , , respectively.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"contrast-ratio","dir":"Articles","previous_headings":"Preliminaries","what":"Contrast ratio","title":"cols4all: analysing and comparing color palettes","text":"contrast ratio measures difference brightness foreground background colors. defined : \\[\\begin{equation} CR(,j) = \\frac{(Y_i + \\alpha)}{(Y_j + \\alpha)} \\tag{1} \\end{equation}\\] \\(\\) \\(j\\) represent two colors, \\(\\) lighter one, \\(Y_i\\) \\(Y_j\\) relative luminance values, ranging 0 1. parameter \\(\\alpha = 0.05\\) offset used compensate contrast ratios occur \\(Y_j\\) (close ) 0. \\(\\alpha\\) value, contrast ratio ranges 1:1 21:1. WCAG 2.2 guidelines text readability follows [11]: WCAG 2.2 level AA requires minimum contrast ratio 3:1 informational non-text elements, background adjacent colors [11].","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"hcl-color-space","dir":"Articles","previous_headings":"Preliminaries","what":"HCL color space","title":"cols4all: analysing and comparing color palettes","text":"work adopts Hue-Chroma-Luminance (HCL) color space, cylindrical transformation CIELUV color space. color space, also used [2], [24], [25], three dimensions: (\\(H\\)), ranging 0 360 degrees; (\\(C\\)), ranging 0 (grayscale) maximum depends hue luminance; (\\(L\\)), ranging 0 (black) 100 (white).","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"color-distance","dir":"Articles","previous_headings":"Preliminaries","what":"Color distance","title":"cols4all: analysing and comparing color palettes","text":"measure perceived distance two colors, use metric [26], denoted \\(\\Delta E(,j)\\). interpretation Delta E values depends several factors, importantly application. apply following rule thumb: Table 1: Delta E interpretation measure color distances perceived people color vision deficiency, apply Delta E metric simulations deuteranopia, protanopia, tritanopia [27],colorblindcheck. metrics denoted \\(\\Delta E^{\\mbox{deutan}}(,j)\\), \\(\\Delta E^{\\mbox{protan}}(,j)\\), \\(\\Delta E^{\\mbox{tritan}}(,j)\\), respectively.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"tool-description","dir":"Articles","previous_headings":"","what":"Tool description","title":"cols4all: analysing and comparing color palettes","text":"introduce tool, called , can used analyse compare color palettes. written package R programming language [28]. cols4all package -going development driven active community statisticians data scientists use R. color palettes can easily used R package, native integration popular visualization package ggplot2 [29]. Via GUI, palettes can also copied clipboard used anywhere else. tool intended data visualization designers select appropriate color palettes data visualizations. Another use case designers test (corporate) palettes, compare existing palettes. tool may also useful users, particular graphic designers web designers. User studies required ensure design interface effective, efficient, easy use.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"organisation-of-palettes","dir":"Articles","previous_headings":"Tool description","what":"Organisation of palettes","title":"cols4all: analysing and comparing color palettes","text":"work focuses exclusively color palettes. Continuous color palettes can loaded analysed well, hood discretized sufficient number classes. Conversely, interpolation (linear spline) color space (RGB CIELab) can transform discrete palette continuous color ramp. Palettes organised functional type. distinguish following types: Categorical: Colors categorical (also known qualitative) palette typically distinct, especially hue unordered. palettes employed represent categorical data without natural order, economic sectors. Sequential: sequential palette consists gradient colors, used represent data follow natural order progression, age. Diverging: diverging palette also consists gradient colors, clear midpoint. Consequently, palettes encode data clear neutral value, instance stock price changes Likert scale responses. Cyclical: cyclic palette consists gradient colors can repeated seamlessly, first last color identical. Although used rarely compared types mentioned , can useful several applications, encoding biological rhythms cyclic economic indicators, business cycles. Bivariate: bivariate palette two-dimensional color table used encode bivariate data, instance population density income, bivaraite socioeconomic indicators. distinguish four subtypes first dimension, represented rows, equal sequential color scale. subtypes, second dimension (columns) represented sequential, categorical, diverging, desaturated scale respectively. Figure 2: Example palette type: categorical Figure 3: Example palette type: sequential Figure 4: Example palette type: diverging Figure 5: Example palette type: cyclic Figure 6: Example palette type: bivariate (seq x seq) Figure 7: Example palette type: bivariate (seq x cat) Figure 8: Example palette type: bivariate (seq x div) Figure 9: Example palette type: bivariate (seq x desaturated) Examples palette types provided Figures 2 9. list palette types exhaustive; instance also palettes tree-structured data designed [30]. kind palette types special often one kind, (yet) included . Palettes also arranged series, mean either source (e.g.  stands ColorBrewer [13]) group similar palettes (e.g.  includes categorical palettes many colors). overview palettes included cols4all provided Table 2. Table 2: Overview palettes series categorical color palettes included black white, e.g.  [5]. Since colors typically used background annotations , just palettes categorical palette, removed black white categorical palettes. However, took black white account certain parts analysis, instance regarding contrast ratio. Exploratory data analysis often deals analysis visualisation missing values [31],song21. Therefore, assigned special color missing values palette. palette series Paul Tol [6] already contains dedicated colors missing values. palettes, use simple heuristics obtain suitable color, greyscale color distinguishable palette colors people normal color vision also colorblind people. Users able load, analyse, compare palettes well [12]. palette names tool formatted snake case, series name put front separated dot. E.g. Color Blind Tableau [14] called .","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"color-blind-friendliness","dir":"Articles","previous_headings":"Tool description > Properties","what":"Color blind friendliness","title":"cols4all: analysing and comparing color palettes","text":"Let minimal perceived distance two colors \\(\\) \\(j\\) colors defined \\[\\begin{equation} d(,j) = \\min \\left( \\substack{ \\Delta E(,j), \\\\ \\Delta E^{\\mbox{deutan}}(,j), \\\\ \\Delta E^{\\mbox{protan}}(,j), \\\\ \\Delta E^{\\mbox{tritan}}(,j) } \\right) \\end{equation}\\] metric takes four groups (people normal color vision color blindness groups) account. case two color can easily distinguished three groups, well fourth, \\(d(,j)\\) low. \\(d(,j)\\) use interpretation provided Table 1, group trouble distinguishing colors. palettes simply use minimum distance two palette colors \\(\\) \\(j\\): \\[\\begin{equation}\\label{Minimum distance} \\mbox{min_dist}(S) = \\min_{,j \\S} d(,j) \\end{equation}\\] \\(S\\) set colors form certain color palette. Higher values generally preferable. make decision making easier, discretize metric three point Likert scale, additional fourth \\(++\\) category: \\[\\begin{equation} \\begin{aligned} &- && 0 \\le \\mbox{min_dist}(S) < 2 \\\\ &\\circ && 2 \\le \\mbox{min_dist}(S) < 10 \\\\ &+ && 10 \\le \\mbox{min_dist}(S) < 15 \\\\ &++ && \\mbox{min_dist}(S) \\ge 15 \\end{aligned} \\end{equation}\\] main overview table (Figure 1), categories represented symbols: side eyes \\(−\\), smiley \\(+\\), double smiley \\(++\\). default threshold values based Delta~E interpretation provided , users can adjust within cols4all. \\(+\\) category can interpreted color blind friendly, \\(-\\) color blind friendly, \\(\\circ\\) . categorical palettes added \\(++\\) highlight palettes colors can distinguished ease people color vision deficiency. especially useful applications colored objects small, e.g. lines points. use metric \\(\\mbox{min\\_dist}(S)\\) palettes. color distances smaller gradient color ramps use different default threshold values, namely 1 5 make use additional fourth category. addition, important order colors correctly perceived. three colors \\(\\), \\(j\\), \\(k\\) next palette, \\(d(,j)\\) \\(d(j,k)\\) less \\(d(,k\\). Hence, derive following metric, call triangle inequality difference score: \\[\\begin{equation} \\mbox{tri_ineq}(S) = \\min_{\\{,j,k\\} \\S} \\left( d(,k) - \\max \\left( d(,j), d(j,k) \\right) \\right) \\end{equation}\\] use \\(\\{\\}\\) denote colors next . Higher values generally preferable, 0 clear threshold. Values 0 indicate perceived color distance \\(\\) \\(k\\) less either \\(\\) \\(j\\) \\(j\\) \\(k\\). \\[\\begin{equation} \\begin{aligned} &- && 0 \\le \\mbox{min_dist}(S) < 2 && \\mbox{} && \\mbox{tri_ineq}(S) < 0\\\\ &+ && \\mbox{min_dist}(S) \\ge 5 && \\mbox{} && \\mbox{tri_ineq}(S) \\ge 2\\\\ &\\circ && \\mbox{otherwise} && && \\\\ \\end{aligned} \\end{equation}\\] threshold values can adjusted inside cols4all needed. palettes use three metrics derive color blind friendliness property. Instead min_dist, two metrics introduced, namely min_step defined minimum distance two neighbouring colors, inter_wing_dist, distance two wings palette. \\[\\begin{equation} \\mbox{min_step}(S) = \\min_{\\{,j\\} \\S} d(,j) \\end{equation}\\] inter wing distance minimum distance palette color \\(\\) (except middle color) opposite wing: \\[\\begin{equation} \\mbox{inter_wing_dist}(S) = \\min_{\\S'} d(,R_{-}) \\end{equation}\\] \\(S'\\) equal palette \\(S\\) without middle color (case number colors odd). denote \\(R_{-}\\) colors wing opposite color \\(\\) form color ramp. color ramp needed make sure distance \\(\\) colors wing large just luminance (diverging palettes diverge luminance hue wing). palettes use exactly definition color blind friendliness palettes, addition first last colors identical. color palettes analysed using combination one definitions . bivaraite sequential x sequential (Figure 6), three sequential palettes derived: two marginal ones (figure, top row left hand side column) diagonal (figure top left bottom right). pair sequential palettes, odd numbered diverging palette constructed, top left color middle color. Subsequently color blind friendliness scores diverging color palettes (described ) computed, minimal score used. similar approach used three bivariate color palette types [12]. Figure 12 shows users can analyse color blind friendliness . top left CIE xyY space clipped sRGB gamut shown hue lines diverging defined white point (CIE standard illuminant D65). bottom left shows plot, using colors simulated deutans, confusion lines [32]. middle column two similarity matrices shown, people normal color vision, deutans. big dot indicates minor issue pink grey. illustrated maps right hand side column.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"fairness","dir":"Articles","previous_headings":"Tool description > Properties","what":"Fairness","title":"cols4all: analysing and comparing color palettes","text":"say color palette fair colors stand equally. categorical palettes property ensures visual balance data visualisations, preventing single category dominating, can obscure categories create misleading impressions, unless deliberate highlighting employed. quantified using luminance chroma ranges palette colors: \\[\\begin{equation} \\Delta L^{\\mbox{max}}(S) = \\max_{\\S} L_i - \\min_{j \\S} L_j \\end{equation}\\] \\[\\begin{equation} \\Delta C^{\\mbox{max}}(S) = \\max_{\\S} C_i - \\min_{j \\S} C_j \\end{equation}\\] important note color’s luminance alone determine salience background; background luminance also plays crucial role. exactly contrast ratio (1) comes play. However, smaller luminance range colors, smaller contrast ratios colors background color, irrespective background color luminace . chroma different story; higher chroma, color stand , especilly background colors generally unchromatic. Unlike accessibility properties, hard threshold values fair . Therfore, apply logit transformations \\(\\Delta L^{\\mbox{max}}\\) \\(\\Delta C^{\\mbox{max}}\\), normalise multiply . result derived fairness score shown Figure 10. scores range 0 100 (fairest). parameters logit transformations, resulting shown contour lines, can adjusted within cols4all [12]. aid decision making palette called fair fairness score least 75, unfair 25. indicated main overview table cols4all (see Figure 1) heart symbol cross respectively. Figure 10: Fairness scores palette types take chroma range account, luminance usually used form gradient colors.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"vividness","dir":"Articles","previous_headings":"Tool description > Properties","what":"Vividness","title":"cols4all: analysing and comparing color palettes","text":"Another property useful data visualisation vivid palette colors . Prolonged exposure highly saturated colors can induce visual fatigue [33]. Therefore, low saturated (pastel) colors generally recommended space-filling visualisations choropleths treemaps [34]. \\[\\begin{equation} C^{\\mbox{max}}(S) = \\max_{\\S} C_i \\end{equation}\\] decision making purposes, discretize metric using default threshold values 100 70. main overview table (Figure 1), classes shown pair sunglasses (\\(C^{\\mbox{max}}(S) >= 100\\)) asterisk (\\(C^{\\mbox{max}}(S) < 70\\)).","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"hues","dir":"Articles","previous_headings":"Tool description > Properties","what":"Hues","title":"cols4all: analysing and comparing color palettes","text":"Analyzing distribution hues within palette crucial several reasons. Categorical palettes even distribution hues often aesthetically preferred uneven distributions. palettes types, distribution hues even important, directly relates color blind friendliness. Rainbow like sequential diverging palettes, e.g. use wide range hue values, typically color blind friendly. facilitate color palette analysis comparison regarding distribution hues, introduce metric called hue width, defined total width (angle) hues palette colors. can computed 360 minus largest hue gap: \\[\\begin{equation} H^{\\mbox{width}}(S) = 360 - \\max_{\\{,j\\} \\S} H_i-H_j \\end{equation}\\] maximum value palette length \\(n\\) \\(360 - 360/n\\), occurs hues spaced evenly, score 0 100 can derived call hue spread: \\[\\begin{equation} H^{\\mbox{spread}}(S) = \\frac{H^{\\mbox{width}}(S)}{360 - 360/n} * 100 \\end{equation}\\] overview table (Figure 1 categorical palettes get rainbow symbol hue spread default threshold value 90. sequential palettes use hue width classify hues. Palettes hue width less 15 labeled “single hue” overview table indicated pencil symbol. palettes generally recommended relative low visual bias [34]. Palettes hue width default threshold value 180 labeled rainbow palette. Note specification different categorical palettes, due nature palette types. diverging palettes, calculate hue widths wings. least one hue widths 90, palette labeled rainbow palette (rainbow symbol overview table), hue widths score 20, classified double hue, shown overview table yin-yang symbol. Figure 11: Hue necklace hue width carto.safe Color blind friendliness can analysed next tab tool. Figure 12 shows part tab. top left CIE xyY space clipped sRGB gamut shown hue lines diverging defined white point (CIE standard illuminant D65). bottom left shows plot, using colors simulated deutans, confusion lines [32]. middle column two similarity matrices shown, people normal color vision, deutans. big dot indicates minor issue pink grey. illustrated maps right hand side column. Figure 12: Color blind friendliness analysis plots palette misc.okabe","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"contrast","dir":"Articles","previous_headings":"Tool description > Properties","what":"Contrast","title":"cols4all: analysing and comparing color palettes","text":"Since white black frequently used backgrounds text, properties included assess whether palette colors sufficient contrast . \\[\\begin{equation} \\mbox{CR_white}(S) = \\min_{\\S}\\mbox{CR}(, \\mbox{white}) \\end{equation}\\] \\[\\begin{equation} \\mbox{CR_black}(S) = \\min_{\\S}\\mbox{CR}(, \\mbox{black}) \\end{equation}\\] colors sufficient contrast white, 3 according WCAG guideline, \\(\\mbox{CR\\_white}(S)\\geq 3\\) white flag shown overview table (Figure 1. contrast ratio black, black flag shown. Figure 13 shows bar chart contrast ratio values palette~ white. horizontal lines correspond WCAG threshold values; example, yellow meet criterion 3. Figure 13: Contrast ratio powerbi.default white contrast ratio two colors useful check accessibility, also warn unwanted visual illusions. Two colors called equiluminant similar luminance values, resulting contrast ratio close 1. Several visual illusions appear equiluminance, eye trouble separate neighbouring objects, even though use totally different colors terms hue [35]. illustrated map shown Figure ??() two colors palette used. Figure 14: Equiliminant colors palette hcl.set3 Figure 15: Equiliminant colors palette hcl.set3 Therefore, compute minimal contrast ratio palette colors: \\[\\begin{equation} \\mbox{CR_within}(S) = \\min_{,j \\S}\\mbox{CR}(, j) \\end{equation}\\] value default threshold value 1.2, spiral symbol shown overview table 1.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"d-blues","dir":"Articles","previous_headings":"Tool description > Properties","what":"3D Blues","title":"cols4all: analysing and comparing color palettes","text":"visual illusion called chromostereopsis occurs two colors perceived different depth planes [36]. illusion, prominent red blue black background, can create perception depth displacement. Figure 16 illustrates illusion categorical map red blue colors . Figure 16: Chromostereopsis caused two palette colors seaborn.bright warn possible visual illusion, especially occurs dark background, blue diamond symbol shown overview table.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"naming","dir":"Articles","previous_headings":"Tool description > Properties","what":"Naming","title":"cols4all: analysing and comparing color palettes","text":"Color naming significantly influences perception communication color, impacting understand interpret visual information. ability accurately name colors particularly important data visualization, clear communication essential [37]. However, color naming inherently subject cultural variations [38], differences observed distinct cultural regions also among neighboring countries. instance, Dutch uses “paars” “roze” describe shades purple pink, German employs “Violet”, “Lila,” “Pink”, “Rosa”, highlighting nuances color terminology even within geographically close regions. cultural variability poses challenge developing universally applicable color naming systems data visualization. cols4all derived property called nameability informs users whether palette colors easy name. accomplish , explore match palette colors basic, commonly used, set color names. default use English names 11 colors identified [39]: green, blue, purple, pink, yellow, brown, orange, red, white, grey, black. Let us denote common color name set \\(Q\\). say colors palette easy name : naming match palette colors common color names illustrated Figure 17, first seven colors examined. palette colors shown row heads, common color names column heads. common color name large set small dots shown illustrate variety colors named name (later). dot represents match; larger dots indicate stronger matches. multiple dots one row, means multiple names can given corresponding palette color, violated rule 1. case last palette color often named “purple” also “pink”. Multiple dots one column indicate common color name used , case blue. Hence rule 2 violated. used following method compute match derive nameability score following: Advanced users also able specify custom set basic color names function returns similarity matrix [12]. enables users fit color naming model matches language target audience. variety colors shown column headings generated specified classification method. enables advanced users visually verify classification target users understand match palette colors basic color names. Figure 17: Nameability analysis tableau.10","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"r-package-cols4all","dir":"Articles","previous_headings":"Tool description > Implementation","what":"R package cols4all","title":"cols4all: analysing and comparing color palettes","text":"interactive tool described paper part R package cols4all. package can installed running following R code: addition interactive tool, package includes functions programmatic access palette colors, parameter setting, uploading user-defined palettes analysis. functions scope paper described documentation [12]. Figures 1, 18, 19 present screenshots main table categorical, sequential, diverging palettes, respectively. inputs table, users able select filter color palettes. addition, color blind simulation can enabled, color codes various formats can shown. advanced users, underlying scores can shown table additional columns. “dark mode” toggle allows users switch light dark background themes. columns right-hand side colors include symbols user can click obtain either citation (either plan Bibtex format) palette colors, either square brackets (used JavaScript Python) R format (using function). Figure 18: Overview table sequential palettes Figure 19: Overview table diverging palettes tabs used analysis properties, illustrated . figures paper included tabs. properties fairness, hues, vividness use HCL color space, therefore analysed HCL Analysis tab. Furthermore, tab interactive 3D scatter plot (using [40]) provide additional insights palette colors located color space. screenshot shown Figure 20 colors plotted. Figure 20: 3D scatter plot carto.safe HCL color space last tap, Application, users can explore palettes examples basic geometry types, points, lines, polygons, text. Furthermore, color vision simulation can enabled.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"palette-design-insights-and-strategies","dir":"Articles","previous_headings":"","what":"Palette Design: Insights and Strategies","title":"cols4all: analysing and comparing color palettes","text":"Although main focus paper tool rather analysis comparison color palette, like share insights obtains using tool choose palettes everyday visualisation tasks. Next, challenged create color palettes. Strategies obtain palettes described later .","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"insights-from-palette-analysis","dir":"Articles","previous_headings":"Palette Design: Insights and Strategies","what":"Insights from Palette Analysis","title":"cols4all: analysing and comparing color palettes","text":"Fairness color blind friendliness often present conflicting objectives. Many categorical palettes seven colors score high fairness classified color blind friendly. shown main table filtering “Fair” sorting “Colorblind friendly” (Figure 21). color blind friendly palette selection min_dist score 7.23, strong color difference according Table 1, low labeled color blind friendly. Reversely, color palettes labeled color blind friendly labeled fair. fairest palettes scored 56 29 fairness score, fall neutral category. general aesthetic preference fair palettes observed. research necessary investigate whether preference subjective shared across wider population. Figure 21: Fairest categorical palettes, sorted color blind friendliness Many spectral sequential diverging palettes exhibit limitations terms color blind friendliness. Designing color blind friendly spectral/rainbow palettes challenging, individuals color vision deficiency struggle differentiate hues (see simulated color space deutans Figure 12). severe issue may induce visual bias color blind people illustrated palette (similar Figure 22. people normal color vision, green, fifth seven colors, appears right-hand side wing. However, deutans protans, color much closer colors left-hand side wing. can explained analysing confusion lines (Figure 22 bottom left); color 5 confusion line colors 4 1, 2 lines away colors 2 3, whereas differences colors 6 7 2.5 6 confusion lines respectively. Figure 22: cols4all_matplotlib_spectral Several spectral sequential palettes series [3], [4] (viridis), [41] succeed quest. Moreover, scored high fairness, can seen Figure 23. Also cyclic palettes scored well color blind friendliness fairness. Figure 23: Spectral sequential palettes scores well general, shown continuous format Figure 24: Color blind friendly diverging palettes Diverging palettes score well color blind friendliness wings distinct hue (yin yang symbol). specifically, almost exclusively combinations red/orange/brown blue, purple green scored well (Figure 24). former combination drawback red orange often saturated, leading lower fairness score latter combination. Color blind friendliness bivariate palettes even challenging achieve, two (three) marginal palettes based need color blind friendly, also bivariate color combinations. properties bivariate palettes still development, labels color blind friendliness fairness taken grain salt. Bivariate palettes based either orange-blue purple-green combinations least color blind unfriendly therefore used, albeit caution. Bivariate palettes subtype sequantial x categorical 3 columns (categories) almost definition color blind friendly, color blind people can perceive combinations two hues (Figure 12). fact can observe three different hues categorical palettes hue, due variance chroma luminance.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"strategies-for-palette-design","dir":"Articles","previous_headings":"Palette Design: Insights and Strategies","what":"Strategies for Palette Design","title":"cols4all: analysing and comparing color palettes","text":"used development functions included R package find categorical palettes color blind friendly, fair, sufficient contrast white /black. specifically, aimed three use cases: designed following preliminary set color palettes, first seven colors shown Figure 25. . used approach find palettes following: Figure 25: New preliminary set cols4all palettes Figure 26: area7: palette space-filling visualisations Figure 27: area7d: palette space-filling visualisations dark background Figure 28: line7: palette point line charts Figure 29: line7: palette point line charts Figure 30: friendly: palette optimized color blind friendliness","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"discussion","dir":"Articles","previous_headings":"","what":"Discussion","title":"cols4all: analysing and comparing color palettes","text":"offers unique approach color palette analysis comparison, going beyond functionalities existing tools. focusing accessibility, fairness, visual effectiveness, cols4all empowers users make informed decisions based quantitative qualitative insights. inclusion color blindness simulation contrast analysis aids creating visualizations inclusive perceptually effective wider audience. concept fairness introduces novel perspective, promoting palettes colors equally salient. active ongoing development new features refinements regularly added. commitment ongoing improvement driven desire meet evolving needs users address limitations identified community feedback ongoing research. example, tool currently focuses discrete palettes, can effectively analyze continuous palettes discretizing sufficient number classes, thus extending applicability. However, tool also incorporate features analyse sequential diverging palettes continuous form. provides objective metrics, cultural backgrounds, individual preferences, specific context use can influence colors perceived interpreted. better account subjective factors, future development explore incorporating user feedback mechanisms customizable settings accommodate individual preferences. Furthermore, drawing upon insights fields, visual perception research, can inform development new metrics analytical tools better capture nuances human color perception. Various sequential diverging color palettes designed perceptually linear, particular [3], [2], (viridis) [4] series. Currently properties assess whether sequential diverging palettes perceived linearly. assessed people normal color vision , also color blind people. One area development needed improving “nameability” palette colors. Nameability, refers easily colors can identified labeled common color names, shown improve user performance data visualization tasks [37]. nameability property proposed limitations require research. Besides room improvement regarding method match colors common color names, one aspect remains unclear whether “light” “dark” variants common color names taken account. Observe set 11 common color names [39], variants commonly used combination blue green; instance dark pink can also named purple light red orange pink. presence light dark blue (illustrated Figure 17), influence user performance? User studies, qualitative quantitative, needed verify needed improve properties described paper. holds underlying property scores derived 3-point Likert scales shown main table. current default threshold values based combination guidelines (e.g. regarding Delta~E), common sense, less even distribution popular color palettes three classes. Task oriented user studies recommended asses quality properties. instance, relation measured visual bias typical visualisation tasks proposed fairness score? work provides strategies creating color palettes meet specific criteria, color blind friendliness fairness. strategies currently involve manual adjustments refinements based analysis provided cols4all. However, mathematical optimization machine learning offer promising avenues automating palette generation [20]. Future work explore developing separate tools leverage techniques, optimizing palettes properties proposed paper. key challenge designing tools lies integrating user preferences domain expertise automated process. Interactive visualization tools enable users guide refine automated learning process valuable asset, allowing efficient exploration vast design space ensuring resulting palettes align user needs preferences. development properties related color distance noticed perceived distance two colors depends two color, also background color. accommodate phenomenon introduce -called background adjusted color distance colors \\(\\) \\(j\\) background color \\(k\\): \\[\\begin{equation} d(,j,k) = \\frac{2d(,j)^2}{d(,k) + d(j,k)} \\end{equation}\\] implemented function main tool (tab page “Color Blind Friendliness”, checkbox “Background Adjusted” located similarity matrix). However metric needs development therefore yet used properties introduced paper.","code":""},{"path":"https://mtennekes.github.io/cols4all/articles/paper.html","id":"conclusion","dir":"Articles","previous_headings":"","what":"Conclusion","title":"cols4all: analysing and comparing color palettes","text":"represents significant step towards creating accessible effective data visualizations. providing comprehensive platform color palette analysis comparison, encourages informed decision-making promotes inclusivity design. open-source nature tool fosters community involvement collaborative development, paving way future enhancements broader understanding color perception visualization. Future research focus user studies evaluate tool’s effectiveness identify areas improvement, well development new metrics visualizations enhance analytical capabilities.","code":""},{"path":"https://mtennekes.github.io/cols4all/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Martijn Tennekes. Author, maintainer. Marco Puts. Contributor. Achim Zeileis. Contributor. Jakub Nowosad. Contributor. Robin Lovelace. Contributor. Helgasoft. Contributor. Matthew Petroff. Contributor. Olivier Roy. Contributor.","code":""},{"path":"https://mtennekes.github.io/cols4all/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Tennekes M, Puts MJH (2023). “cols4all: color palette analysis tool.” EuroVis (Short Papers). doi:10.2312/evs.20231040.","code":"@InProceedings{, title = {{cols4all}: a color palette analysis tool}, author = {Martijn Tennekes and Marco J. H. Puts}, booktitle = {EuroVis (Short Papers)}, publisher = {Wiley}, doi = {10.2312/evs.20231040}, year = {2023}, }"},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"colors-for-all-","dir":"","previous_headings":"","what":"Colors for all","title":"Colors for all","text":"cols4all R package selecting color palettes. “Color ” refers mission colors usable just people normal color vision, also people color vision deficiency. Currently, package contains palettes several popular lesser known color palette series. Users can also add palette series. Color palettes well organized made consistent . Moreover, scored several aspects: color-blind-friendliness, presence intense colors (avoided), overall aesthetic harmony, many different hues used. Finally, color palette color missing values assigned, especially important spatial data visualization. Currently support several types: categorical (qualitative) palettes, sequential palettes, diverging palettes, cycling palettes bivariate palettes (divided four subtypes).","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Colors for all","text":"cols4all available CRAN: development version can installed follows:","code":"install.packages(\"cols4all\", dependencies = TRUE) install.packages(\"remotes\") remotes::install_github(\"mtennekes/cols4all\", dependencies = TRUE)"},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"getting-started","dir":"","previous_headings":"","what":"Getting started","title":"Colors for all","text":"Load package: main tool dashboard, started : palettes available? , default; palettes can added!","code":"library(cols4all) c4a_gui() c4a_series() #> series description #> 1 brewer ColorBrewer palettes #> 2 carto Palettes designed by CARTO #> 3 cols4all cols4all palettes (in development) #> 4 hcl Palettes from the Hue Chroma Luminance color space #> 5 kovesi Palettes designed by Peter Kovesi #> 6 matplotlib Palettes from the Python library matplotlib #> 7 met Palettes inspired by The Metropolitan Museum of Art #> 8 misc Miscellaneous palettes #> 9 parks Palettes inspired by National Parks #> 10 poly Qualitative palettes with many colors #> 11 powerbi Palettes from Microsoft Power BI #> 12 scico Scientific colour maps by Fabio Crameri #> 13 seaborn Palettes from the Python library Seaborn #> 14 stevens Bivariate palettes by Joshua Stevens #> 15 tableau Palettes designed by Tableau #> 16 tol Palettes designed by Paul Tol #> 17 wes Palettes from Wes Anderson movies"},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"using-the-tool","dir":"","previous_headings":"","what":"Using the tool","title":"Colors for all","text":"Use tool compare palettes needed analyse palette depth (via tabs). Find trade-like among following properties (columns main table): Colorblind friendly: palette color blind friendly? Fair: palette fair? fair palette, colors stand equally. Hues: hue ranges used? across (rainbow) color spectrum, limited range? Vivid: colors saturated? Perhaps little much? Contrast: sufficient contrast white, black (using WACG criteria) colors? 3D Blues: blue palette color, 3D visual illusion appear. Naming (development): well can palette colors named?","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"example-1","dir":"","previous_headings":"Using the tool","what":"Example 1","title":"Colors for all","text":"looking fair categorical palette seven colors color blind friendly possible, filter “Fair”, sort “Colorblind-friendly”: inspired us develop palettes: see cols4all palettes .","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"example-2","dir":"","previous_headings":"Using the tool","what":"Example 2","title":"Colors for all","text":"Say need diverging palette color blind friendly, choose one eye. filter “Colorblind-friendly” sort “Hue Middle L” (hue left wing): Reverse sorting also applied.","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"preliminary-set-of-new-cols4all-palettes","dir":"","previous_headings":"","what":"Preliminary set of new cols4all palettes","title":"Colors for all","text":"applied basic heuristic explore palettes score well mix properties named area7, area8 area9 fair, contain low pastel colors, color-blind friendly (7 colors). ideal maps space-filling visualizations! used tmap4. area7d, area8d area9d similar dark mode:. line7, line8 line9 colors good contrast black white, also colorblind-friendly extent. ideal line graphs scatter plots: Finally friendly7 … friendly13 colorblind-friendly palettes (disregarding properties):","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"ggplot2-integration","dir":"","previous_headings":"","what":"ggplot2 integration","title":"Colors for all","text":"","code":"library(ggplot2) data(\"diamonds\") diam_exp = diamonds[diamonds$price >= 15000, ] # discrete categorical scale ggplot(diam_exp, aes(x = carat, y = price, color = color)) + geom_point(size = 2) + scale_color_discrete_c4a_cat(\"carto.safe\") + theme_light() # continuous diverging scale ggplot(diam_exp, aes(x = carat, y = depth, color = price)) + geom_point(size = 2) + scale_color_continuous_c4a_div(\"wes.zissou1\", mid = mean(diam_exp$price)) + theme_light()"},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"overview-of-functions","dir":"","previous_headings":"","what":"Overview of functions","title":"Colors for all","text":"Main functions: c4a_gui Dashboard analyzing palettes c4a Get colors palette (c4a_na associated color missing values) c4a_plot Plot color palette Palette names properties: c4a_palettes Get available palette names c4a_series Get available series names c4a_types Get implemented types c4a_overview Get overview palettes per series x type. c4a_citation Show cite palettes (bibtex code). c4a_info Get information palette, type maximum number colors .P Environment via palette names can browsed auto-completion (using $) Importing exporting palettes: c4a_data Build color palette data c4a_load Load color palette data c4a_sysdata_import Import system data c4a_sysdata_export Export system data Edit color palette data c4a_duplicate Duplicates color palette c4a_modify Modifies palette colors ggplot2 scale___c4a_ e.g. scale_color_continuous_c4a_div Add scale ggplot2.","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"other-r-functions","dir":"","previous_headings":"","what":"Other R functions","title":"Colors for all","text":"palettes available, e.g diverging hcl series? Give colors! Plot colors:","code":"# Diverging palettes from the 'hcl' series c4a_palettes(type = \"div\", series = \"hcl\") #> [1] \"hcl.blue_red\" \"hcl.blue_red2\" \"hcl.blue_red3\" \"hcl.red_green\" #> [5] \"hcl.purple_green\" \"hcl.purple_brown\" \"hcl.green_brown\" \"hcl.blue_yellow2\" #> [9] \"hcl.blue_yellow3\" \"hcl.green_orange\" \"hcl.cyan_magenta\" # select purple green palette from the hcl series: c4a(\"hcl.purple_green\", 11) #> [1] \"#492050\" \"#82498C\" \"#B574C2\" \"#D2A9DB\" \"#E8D4ED\" \"#F1F1F1\" \"#C8E1C9\" #> [8] \"#91C392\" \"#4E9D4F\" \"#256C26\" \"#023903\" # get the associated color for missing values c4a_na(\"hcl.purple_green\") #> [1] \"#BABABA\" c4a_plot_cvd(\"hcl.purple_green\", 11, include.na = TRUE)"},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"related-r-packages","dir":"","previous_headings":"","what":"Related R packages","title":"Colors for all","text":"foundation package another R package: colorspace. use package analyse colors. purpose specifically color blind friendliness checks, also use colorblindcheck. packages large collection color palettes, particular pals paletteer. features distinguish cols4all packages: Color palettes characterized analysed. Properties color blindness, fairness (whether colors stand equally), contrast determined palette. Bivariate color palettes available. color palettes can loaded analysed. Colors missing values made explicit. native support ggplot2 tmap (upcoming version 4). couple exporting options, including (bibtex) citation.","code":""},{"path":"https://mtennekes.github.io/cols4all/index.html","id":"feedback-welcome","dir":"","previous_headings":"","what":"Feedback welcome!","title":"Colors for all","text":"everything working expected? miss certain palettes? ideas improvement measure palette properties? Let us know! (via github issues)","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a cols4all color palette — c4a","title":"Get a cols4all color palette — c4a","text":"Get cols4all color palette: c4a returns colors specified palette, c4a_na returns color missing value associated specified palette, c4a_ramp returns color ramp function. Run c4a_gui see available palettes, also listed c4a_palettes.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a cols4all color palette — c4a","text":"","code":"c4a( palette = NULL, n = NA, m = NA, type = c(\"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\"), reverse = FALSE, order = NULL, range = NA, colorsort = \"orig\", format = c(\"hex\", \"rgb\", \"hcl\", \"RGB\", \"XYZ\", \"HSV\", \"HLS\", \"LAB\", \"polarLAB\", \"LUV\", \"polarLUV\"), nm_invalid = c(\"error\", \"repeat\", \"interpolate\"), verbose = TRUE ) c4a_ramp(..., space = c(\"rgb\", \"Lab\"), interpolate = c(\"linear\", \"spline\")) c4a_na( palette = NULL, type = c(\"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\"), verbose = TRUE )"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a cols4all color palette — c4a","text":"palette name palette. See c4a_palettes available palettes. omitted, default palette provided c4a_default_palette. palette name can prefixed \"-\" symbol, reverse palette (can also done reverse argument). n number colors. omitted : type \"cat\" maximum number colors returned, types \"seq\", \"div\", \"cyc\", 7 , 9, 9 colors respectively. m number rows case type bivariate, one \"bivs\", \"bivc\", \"bivd\" \"bivg\" (see c4a_types descriptions) type type color palette, case palette specified: one \"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\". Run c4a_types descriptions. reverse palette reversed? order order colors. applicable \"cat\" palettes range vector two numbers 0 1 determine range used sequential diverging palettes. first number determines palette begins, second number ends. sequential \"seq\" palettes, 0 means leftmost (normally lightest) color, 1 rightmost (often darkest) color. diverging \"seq\" palettes, 0 means middle color, 1 extremes. one number provided, number interpreted endpoint (0 taken start). colorsort Sort colors. Options: \"orig\" (original order), \"Hx\" (hue, x starting number 0 360), \"C\" (chroma), \"L\" (luminance). options available \"cat\" palettes, last one \"seq\", none palette types. format format colors. One : \"hex\" character vector hex color values, \"rgb\" 3 column matrix RGB values, \"hcl\" 3-column matrix HCL values, one color classes colorspace nm_invalid done case n m larger maximum number colors smaller minimum number? Options \"error\" (error returned), \"repeat\", palette repeated, \"interpolate\" colors interpolated. categorical \"cat\" palettes . verbose messages printed? ... passed c4a. space character string; interpolation RGB CIE Lab color spaces interpolate use spline linear interpolation","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a cols4all color palette — c4a","text":"vector colors (c4a) color (c4a_na)","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a cols4all color palette — c4a","text":"","code":"# get the colors from brewer.set3 and plot them set3 <- c4a(\"brewer.set3\") c4a_plot_hex(set3, nrows = 1) c4a(\"hcl.set2\", n = 36) |> c4a_plot_hex() c4a(\"-hcl.set2\", n = 12) |> c4a_plot_hex() # how to know which palettes are avaiable? # 1) Via the interactive tool: if (FALSE) { # \\dontrun{ c4a_gui() } # } # 2) Via the overview function: c4a_palettes(type = \"cat\") #> [1] \"misc.r3\" \"misc.r4\" #> [3] \"misc.ggplot2\" \"misc.okabe\" #> [5] \"brewer.accent\" \"brewer.dark2\" #> [7] \"brewer.paired\" \"brewer.pastel1\" #> [9] \"brewer.pastel2\" \"brewer.set1\" #> [11] \"brewer.set2\" \"brewer.set3\" #> [13] \"tol.bright\" \"tol.contrast\" #> [15] \"tol.vibrant\" \"tol.muted\" #> [17] \"tol.medium\" \"tol.light\" #> [19] \"tol.dark\" \"tol.rainbow\" #> [21] \"misc.watlington\" \"wes.bottle_rocket1\" #> [23] \"wes.bottle_rocket2\" \"wes.rushmore1\" #> [25] \"wes.rushmore\" \"wes.royal1\" #> [27] \"wes.royal2\" \"wes.zissou1continuous\" #> [29] \"wes.darjeeling1\" \"wes.darjeeling2\" #> [31] \"wes.chevalier1\" \"wes.fantastic_fox1\" #> [33] \"wes.moonrise1\" \"wes.moonrise2\" #> [35] \"wes.moonrise3\" \"wes.cavalcanti1\" #> [37] \"wes.grand_budapest1\" \"wes.isle_of_dogs1\" #> [39] \"wes.isle_of_dogs2\" \"wes.isleof_dogs2\" #> [41] \"wes.french_dispatch\" \"wes.asteroid_city1\" #> [43] \"wes.asteroid_city2\" \"wes.asteroid_city3\" #> [45] \"carto.vivid\" \"carto.safe\" #> [47] \"carto.prism\" \"carto.pastel\" #> [49] \"carto.bold\" \"carto.antique\" #> [51] \"hcl.pastel1\" \"hcl.dark2\" #> [53] \"hcl.dark3\" \"hcl.set2\" #> [55] \"hcl.set3\" \"hcl.warm\" #> [57] \"hcl.cold\" \"hcl.harmonic\" #> [59] \"hcl.dynamic\" \"scico.acton_cat\" #> [61] \"scico.bamako_cat\" \"scico.batlow_cat\" #> [63] \"scico.batlowK_cat\" \"scico.batlowW_cat\" #> [65] \"scico.bilbao_cat\" \"scico.buda_cat\" #> [67] \"scico.davos_cat\" \"scico.devon_cat\" #> [69] \"scico.glasgow_cat\" \"scico.grayC_cat\" #> [71] \"scico.hawaii_cat\" \"scico.imola_cat\" #> [73] \"scico.lajolla_cat\" \"scico.lapaz_cat\" #> [75] \"scico.lipari_cat\" \"scico.navia_cat\" #> [77] \"scico.nuuk_cat\" \"scico.oslo_cat\" #> [79] \"scico.tokyo_cat\" \"scico.turku_cat\" #> [81] \"tableau.10\" \"tableau.20\" #> [83] \"tableau.color_blind\" \"tableau.seattle_grays\" #> [85] \"tableau.traffic\" \"tableau.miller_stone\" #> [87] \"tableau.superfishel_stone\" \"tableau.nuriel_stone\" #> [89] \"tableau.jewel_bright\" \"tableau.summer\" #> [91] \"tableau.winter\" \"tableau.green_orange_teal\" #> [93] \"tableau.red_blue_brown\" \"tableau.purple_pink_gray\" #> [95] \"tableau.hue_circle\" \"tableau.classic10\" #> [97] \"tableau.classic10medium\" \"tableau.classic10light\" #> [99] \"tableau.classic20\" \"tableau.classic_gray5\" #> [101] \"tableau.classic_color_blind\" \"tableau.classic_traffic_light\" #> [103] \"tableau.classic_purple_gray6\" \"tableau.classic_purple_gray12\" #> [105] \"tableau.classic_green_orange6\" \"tableau.classic_green_orange12\" #> [107] \"tableau.classic_blue_red6\" \"tableau.classic_blue_red12\" #> [109] \"tableau.classic_cyclic\" \"seaborn.deep\" #> [111] \"seaborn.muted\" \"seaborn.pastel\" #> [113] \"seaborn.bright\" \"seaborn.dark\" #> [115] \"seaborn.colorblind\" \"poly.kelly\" #> [117] \"poly.glasbey\" \"poly.alphabet2\" #> [119] \"poly.palette36\" \"poly.alphabet\" #> [121] \"poly.light24\" \"poly.dark24\" #> [123] \"poly.sky24\" \"poly.wright25\" #> [125] \"met.archambault\" \"met.austria\" #> [127] \"met.cross\" \"met.degas\" #> [129] \"met.derain\" \"met.egypt\" #> [131] \"met.gauguin\" \"met.isfahan2\" #> [133] \"met.java\" \"met.juarez\" #> [135] \"met.kandinsky\" \"met.klimt\" #> [137] \"met.lakota\" \"met.moreau\" #> [139] \"met.nattier\" \"met.navajo\" #> [141] \"met.new_kingdom\" \"met.nizami\" #> [143] \"met.peru1\" \"met.peru2\" #> [145] \"met.pillement\" \"met.pissaro\" #> [147] \"met.redon\" \"met.renoir\" #> [149] \"met.signac\" \"met.tara\" #> [151] \"met.thomas\" \"met.tiepolo\" #> [153] \"met.tsimshian\" \"met.van_gogh1\" #> [155] \"met.van_gogh2\" \"met.veronese\" #> [157] \"met.wissing\" \"parks.banff\" #> [159] \"parks.bryce_canyon\" \"parks.charmonix\" #> [161] \"parks.crater_lake\" \"parks.cuyahoga\" #> [163] \"parks.death_valley\" \"parks.everglades\" #> [165] \"parks.grand_canyon\" \"parks.halekala\" #> [167] \"parks.iguazu_falls\" \"parks.kings_canyon\" #> [169] \"parks.lake_nakuru\" \"parks.redwood\" #> [171] \"parks.rocky_mtn\" \"parks.saguaro\" #> [173] \"parks.smoky_mtns\" \"parks.south_downs\" #> [175] \"parks.torres\" \"parks.triglav\" #> [177] \"parks.volcanoes\" \"parks.yellowstone\" #> [179] \"parks.yosemite\" \"cols4all.area7\" #> [181] \"cols4all.area8\" \"cols4all.area9\" #> [183] \"cols4all.area7d\" \"cols4all.area8d\" #> [185] \"cols4all.area9d\" \"cols4all.line7\" #> [187] \"cols4all.line8\" \"cols4all.line9\" #> [189] \"cols4all.friendly5\" \"cols4all.friendly7\" #> [191] \"cols4all.friendly9\" \"cols4all.friendly11\" #> [193] \"cols4all.friendly13\" \"powerbi.default\" #> [195] \"powerbi.highrise\" \"powerbi.executive\" #> [197] \"powerbi.frontier\" \"powerbi.innovative\" #> [199] \"powerbi.bloom\" \"powerbi.classic\" #> [201] \"powerbi.city_park\" \"powerbi.classroom\" #> [203] \"powerbi.colorblind_safe\" \"powerbi.electric\" #> [205] \"powerbi.high_contrast\" \"powerbi.sunset\" #> [207] \"powerbi.twilight\" \"powerbi.accessible_default\" #> [209] \"powerbi.accessible_city_park\" \"powerbi.accessible_tidal\" #> [211] \"powerbi.accessible_neutral\" \"powerbi.accessible_orchid\" c4a_palettes(series = \"brewer\") #> [1] \"brewer.br_bg\" \"brewer.pi_yg\" \"brewer.prgn\" #> [4] \"brewer.pu_or\" \"brewer.rd_bu\" \"brewer.rd_gy\" #> [7] \"brewer.rd_yl_bu\" \"brewer.rd_yl_gn\" \"brewer.spectral\" #> [10] \"brewer.accent\" \"brewer.dark2\" \"brewer.paired\" #> [13] \"brewer.pastel1\" \"brewer.pastel2\" \"brewer.set1\" #> [16] \"brewer.set2\" \"brewer.set3\" \"brewer.blues\" #> [19] \"brewer.bu_gn\" \"brewer.bu_pu\" \"brewer.gn_bu\" #> [22] \"brewer.greens\" \"brewer.greys\" \"brewer.oranges\" #> [25] \"brewer.or_rd\" \"brewer.pu_bu\" \"brewer.pu_bu_gn\" #> [28] \"brewer.pu_rd\" \"brewer.purples\" \"brewer.rd_pu\" #> [31] \"brewer.reds\" \"brewer.yl_gn\" \"brewer.yl_gn_bu\" #> [34] \"brewer.yl_or_br\" \"brewer.yl_or_rd\" \"brewer.paired_biv\" #> [37] \"brewer.divseq\" \"brewer.qualseq\" \"brewer.seqseq1\" #> [40] \"brewer.seqseq2\" c4a_palettes(type = \"cat\", series = \"brewer\") #> [1] \"brewer.accent\" \"brewer.dark2\" \"brewer.paired\" \"brewer.pastel1\" #> [5] \"brewer.pastel2\" \"brewer.set1\" \"brewer.set2\" \"brewer.set3\" # Run c4a_overview() to see which are available # 3) Via .P .P$brewer$cat$set3 #> [1] \"brewer.set3\" # each palette contains a color for missing values c4a(\"carto.safe\", 7) #> [1] \"#88CCEE\" \"#CC6677\" \"#DDCC77\" \"#117733\" \"#332288\" \"#AA4499\" \"#44AA99\" c4a_na(\"carto.safe\") #> [1] \"#888888\" c4a_plot_hex(\"carto.safe\", n = 7, include.na = TRUE) c4a_plot_hex(\"carto.safe\", n = 7, include.na = TRUE) # same (but shorter) as # c4a_plot_hex(c(c4a(\"carto.safe\", 7), c4a_na(\"carto.safe\")), include.na = TRUE) # color ramp c4a(\"viridis\", 100) |> c4a_plot() c4a_ramp(\"viridis\")(100) |> c4a_plot()"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_citation.html","id":null,"dir":"Reference","previous_headings":"","what":"Show how to cite palettes — c4a_citation","title":"Show how to cite palettes — c4a_citation","text":"Show cite palettes","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_citation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Show how to cite palettes — c4a_citation","text":"","code":"c4a_citation(name, verbose = TRUE)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_citation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Show how to cite palettes — c4a_citation","text":"name name palette series verbose text printed (FALSE utils::bibentry object returned)","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_citation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Show how to cite palettes — c4a_citation","text":"utils::bibentry object","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_citation.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Show how to cite palettes — c4a_citation","text":"","code":"c4a_citation(\"hcl\") #> #> To cite palettes from series \"hcl\" in publications use: #> #> Zeileis A, Hornik K, Murrell P (2009). “Escaping RGBland: Selecting #> Colors for Statistical Graphics.” _Computational Statistics & Data #> Analysis_, *53*(9), 3259-3270. doi:10.1016/j.csda.2008.11.033 #> . #> #> @Article{hcl, #> title = {Escaping {RGB}land: Selecting Colors for Statistical Graphics}, #> author = {Achim Zeileis and Kurt Hornik and Paul Murrell}, #> journal = {Computational Statistics \\& Data Analysis}, #> year = {2009}, #> volume = {53}, #> number = {9}, #> pages = {3259--3270}, #> doi = {10.1016/j.csda.2008.11.033}, #> } c4a_citation(\"poly.glasbey\") #> #> To cite palette glasbey from series \"poly\" in publications use: #> #> Glasbey C, van der Heijden G, Toh VFK, Gray A (2007). “Colour displays #> for categorical images.” _Color Research & Application_, *32*(4), #> 304-309. doi:10.1002/col.20327 , #> . #> #> @Article{poly.glasbey, #> author = {Chris Glasbey and Gerie {van der Heijden} and Vivian F. K. Toh and Alision Gray}, #> title = {Colour displays for categorical images}, #> journal = {Color Research \\& Application}, #> volume = {32}, #> number = {4}, #> pages = {304-309}, #> keywords = {pseudo-colour, look-up table, perceptually uniform colour space, RGB, CIELAB, colour quantization}, #> doi = {https://doi.org/10.1002/col.20327}, #> url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/col.20327}, #> year = {2007}, #> }"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Build and load palette data — c4a_data","title":"Build and load palette data — c4a_data","text":"Build palette data. c4a_data c4a_data_as_is build data palette. difference former may restructure palette colors (see details) whereas latter takes palette colors . Data can subsequently loaded cols4all via c4a_load. c4a_data function can also used read c4a_info objects, contain data single palette.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Build and load palette data — c4a_data","text":"","code":"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 )"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Build and load palette data — c4a_data","text":"x either named list color palettes c4a_info object. first case: see details indexing. second case bypass arguments. xNA colors missing values. Vector length x (length 1). NA values, color missing values automatically determined (preferable light grayscale color, indistinguishable color blind people, light color low chroma value selected) types character vector length x (length 1), determines type palette: \"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\". See details. series character vector length x (length 1), determines series. nmin, nmax, ndef minimum / maximum / default number colors palette. default: nmin = 1, \"cat\" nmax ndef number supplied colors. types, nmax Inf. ndef 7 \"seq\", 9. diverging palettes, numbers refer number columns. (See mmin, mmax, mdef rows) mmin, mmax, mdef minimum / maximum / default number rows bivariate palettes. format.palette.name palette names formatted lowercase/underscore format? remove.blacks, remove.whites, take.gray..NA, remove..grays arguments determine processing grayscale colors categorical \"cat\" palettes: remove.blacks (near) blacks, removed first. Next, take.gray..NA, xNA NA, palette contains least one grayscale color (can also white), used color missing values. case one grayscale color, lightest taken. remove..grays determines happens grays. light..dark sequential \"seq\" palettes automatically ordered light dark? remove.names individual color names removed? biv.method method create bivariate palette. Options \"byrow\" means colors wrapped row-wise color matrix number rows columns automatically determined, \"byrowX\" X (integer 2 9) columns, \"bycol\" \"bycolX similar wrapped column-wise. \"div2seqseq\" \"div2catseq means colors extracted divering palette. former translates colors matrix neutral color diagonal, latter places neutral color middle column. \"seq2uncseq\" space color space interpolated colors determined. Options: \"rgb\" (RGB) \"Lab\" (CIE Lab). range_matrix_args list lists, one palette. list specifies range sequential diverging palettes, case indexed. See details. bib bibtex reference form utils::bibentry object. description description series. series contains multiple series (rather one value), please specify vector length series. See c4a_series descriptions currently loaded series. data cols4all data created c4a_data overwrite case palettes already exist (.e. full names), old names overwritten? ... passed c4a_data","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Build and load palette data — c4a_data","text":"c4a_data object, list four items: data, s, citation, description","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Build and load palette data — c4a_data","text":"cols4all, palettes organized series type. series 'family' specifies palettes belong . instance \"brewer\" stands color palettes ColorBrewer. Run c4a_series get overview loaded series. type specifies kind palette ; see c4a_types description implemented ones. function structures palette data, consistent palette data. includes: Palette names made consistent. use convention \"my_series.my_palette\", lower case, period separate series name palette name, underscores separate words. (c4a_data, bypassed c4a_data_as_is) Categorical palettes: black removed categorical palettes, grayscale color assigned used missing values (grayscale colors removed). Sequential palettes sorted light dark. Indexing: categorical \"cat\" palette, optional \"index\" attribute determines colors use lengths: palette consists k colors, index list k, -th element integer vector length values 1,2,...,k. See c4a_info(\"rainbow\") example. Range: sequential diverging palettes usually defined 9+ colors. optional \"range_matrix\" attribute determines range used less colors. n x 2 matrix row defines applied range palette length . sequential palettes range c(0,1) means palette generated (via color ramp) two outermost colors. diverging palettes, range c(x, y) means sides palette generated (via color ramp) x, distance center color, y represents outermost colors. range automatically set sequential diverging palettes \"index\" \"range_matrix\" attribute via parameter range_matrix_args, list per palette. arguments sequential palette : nmin minimum number colors range reduced, nmax, number colors range set c(0,1), slope_min slope_max determine slopes range reduction palette length nmax nmin, space sets color space color ramp applied (\"rgb\" \"Lab\"). arguments diverging palette , one slope used (namely outermost colors). may take time process, especially large categorical palettes, calculations color blind checks.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_data.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Build and load palette data — c4a_data","text":"","code":"# 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) } } #> Loading required namespace: shiny #> Loading required namespace: shinyjs #> Loading required namespace: kableExtra #> Loading required namespace: plotly"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":null,"dir":"Reference","previous_headings":"","what":"Graphical user interface to analyse palettes — c4a_gui","title":"Graphical user interface to analyse palettes — c4a_gui","text":"Graphical user interface analyse palettes. c4a_table shows table can opened browser. c4a_gui graphical user interface (shiny app) around table.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Graphical user interface to analyse palettes — c4a_gui","text":"","code":"c4a_gui(type = \"cat\", n = NA, series = \"all\") c4a_table( type = c(\"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\"), n = NULL, m = NULL, continuous = FALSE, filters = character(0), cvd.sim = c(\"none\", \"deutan\", \"protan\", \"tritan\"), sort = \"name\", text.format = \"hex\", text.col = \"same\", series = \"all\", range = NA, colorsort = \"orig\", include.na = FALSE, show.scores = FALSE, columns = NA, verbose = TRUE )"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Graphical user interface to analyse palettes — c4a_gui","text":"type type palette. Run c4a_types see implemented types description. c4a_gui determines type shown initially. n, m n number displayed colors. bivariate palettes \"biv\", n m number columns rows respectively. omitted: \"cat\" full palette displayed, \"seq\", \"div\" \"cyc\", 7, 9, 9 colors respectively, \"bivs\"/\"bivc\"/\"bivd\"/\"bivg\" 4 columns rows. c4a_gui determines number colors initially. series Series palettes show. See c4a_series options. default, \"\", means series. c4a_gui determines series shown initially. continuous palettes continuous instead discrete. applicable \"seq\", \"div\", \"cyc\". filters filters applied. character vector subset :\"nmax\" (palettes n = nmax, applicable categorical palettes), \"cbf\" (colorblind-friendly), \"fair\" (fairness),\"naming\" (nameability), \"crW\" (sufficient contrast ratio white), \"crB\" (sufficient contrast ratio black). default empty vector, filters applied. cvd.sim color vision deficiency simulation: one \"none\", \"deutan\", \"protan\", \"tritan\" sort column name sort data. available column names depend arguments type show.scores. listed warning message. Use \"-\" prefix reverse order. text.format format text colors. One \"hex\", \"RGB\" \"HCL\". text.col text color colors. default \"\", means colors (invisible, available selection). \"auto\" means automatic: black light colors white dark colors. range vector two numbers determine range used sequential diverging palettes. numbers 0 1. first number determines palette begins, second number ends. sequential palettes, 0 means leftmost (normally lightest) color, 1 rightmost (often darkest) color. diverging palettes, 0 means middle color, 1 extremes. one number provided, number interpreted endpoint (0 taken start). default, set automatically, based n. colorsort Sort colors (\"cat\" ). Options: \"orig\" (original order), \"Hx\" (hue, x starting number 0 360), \"C\" (chroma), \"L\" (luminance) include.na color missing values shown? FALSE default show.scores scores quality indicators printed? See details description indicators. columns number columns. default equal n , specified, 12. higher palette lengths. verbose messages warnings printed?","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Graphical user interface to analyse palettes — c4a_gui","text":"HMTL table (kableExtra object)","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Graphical user interface to analyse palettes — c4a_gui","text":"See vignette properties calculated. Parameters, threshold values determined palettes classified \"colorblind-friendly\", can specified via c4a_options. Also nameability score function (development) can specified . See examples c4a_options use cases.","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_gui.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Graphical user interface to analyse palettes — c4a_gui","text":"","code":"if (requireNamespace(\"shiny\") && requireNamespace(\"shinyjs\") && requireNamespace(\"kableExtra\") && requireNamespace(\"colorblindcheck\") && interactive()) { c4a_gui() # categorical palettes with maximum number of colors c4a_table(type = \"cat\") # sort sequential palettes by hue c4a_table(type = \"seq\", n = 7, sort = \"H\") # sort sequential palettes by hue type (how many hues are used) c4a_table(type = \"seq\", n = 5, sort = \"hues\") }"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_info.html","id":null,"dir":"Reference","previous_headings":"","what":"Get information from a cols4all palette — c4a_info","title":"Get information from a cols4all palette — c4a_info","text":"Get information cols4all palette","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_info.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get information from a cols4all palette — c4a_info","text":"","code":"c4a_info(palette, no.match = c(\"message\", \"error\", \"null\"), verbose = TRUE)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_info.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get information from a cols4all palette — c4a_info","text":"palette name palette .match happens match found? Options: \"message\": message thrown suggestions, \"error\": error thrown, \"null\": NULL returned verbose messages printed?","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_info.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get information from a cols4all palette — c4a_info","text":"list following items: name, series, fullname, type, palette (colors), na (color), nmax, reverse. latter TRUE \"-\" prefix palette name.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_modify.html","id":null,"dir":"Reference","previous_headings":"","what":"Edit cols4all palettes (in development) — c4a_modify","title":"Edit cols4all palettes (in development) — c4a_modify","text":"Edit cols4all palettes. c4a_duplicate duplicates existing cols4all palette, c4a_modify used change colors. Use c4a_data craete palettes scratch.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_modify.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Edit cols4all palettes (in development) — c4a_modify","text":"","code":"c4a_modify(palette, x = NULL, xNA = NULL) c4a_duplicate(palette, name = NA)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_modify.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Edit cols4all palettes (in development) — c4a_modify","text":"palette name palette x vector new colors. either length, named vector, names correspond index numbers. E.g. c(\"3\" = \"#AABBCC\") replace third color color \"#AABBCC\". xNA new color missing values. name name new palette","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_modify.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Edit cols4all palettes (in development) — c4a_modify","text":"","code":"c4a_duplicate(\"brewer.set2\", \"set2_mod\") c4a_modify(\"set2_mod\", c(\"4\" = \"#EA8AB8\"))"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_options.html","id":null,"dir":"Reference","previous_headings":"","what":"Set cols4all options — c4a_options","title":"Set cols4all options — c4a_options","text":"Get set global options c4a. Works similar base function options","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_options.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set cols4all options — c4a_options","text":"","code":"c4a_options(...)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_options.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set cols4all options — c4a_options","text":"... Use character values retrieve options. set options, either use named arguments (names refer options), list consists options.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_options.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set cols4all options — c4a_options","text":"list options","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_options.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set cols4all options — c4a_options","text":"","code":"# Example how to lower the color-blind friendly threshold # for categorical palettes (so more smileys in the GUI!) # CBF_th: one smiley # CBVF_th: two smileys # current table if (FALSE) { # \\dontrun{ c4a_table(n = 9, sort = \"cbfriendly\") opts = c4a_options(\"CBF_th\", \"CBVF_th\") opts$CBF_th$cat[\"min_dist\"] = 7 opts$CBVF_th$cat[\"min_dist\"] = 10 old = c4a_options(opts) # more smileys :-) :-) c4a_table(n = 9, sort = \"cbfriendly\") # set the old settings back c4a_options(old) } # } # Example how to use own nameability function # # This function should: # - have an argument \"pal\" (vector of colors) # - optionally have other arguments # - return a distance matrix of n rows (length of pal) and k columns (classes). # It shoud have columns names that correspond to the naming colors (see below). naming_RGB = function(pal) { cols = colorspace::hex2RGB(pal) coords = cols@coords cls = apply(coords, MARGIN = 1, which.max) mx = apply(coords, MARGIN = 1, max) dominance = ((mx + 0.001) / (rowSums(coords) + 0.001)) cls[dominance < 0.4] = 4L m = matrix(0, nrow = length(pal), ncol = 4, dimnames = list(NULL, c(\"Red\", \"Green\", \"Blue\", \"Other\"))) for (i in 1:nrow(m)) { m[i, cls[i]] = 1 } -m } # testing this function... naming_RGB(c4a(\"brewer.set1\")) #fair enough #> Red Green Blue Other #> [1,] -1 0 0 0 #> [2,] 0 0 -1 0 #> [3,] 0 -1 0 0 #> [4,] 0 0 -1 0 #> [5,] -1 0 0 0 #> [6,] -1 0 0 0 #> [7,] -1 0 0 0 #> [8,] -1 0 0 0 #> [9,] 0 0 0 -1 # This vector should contain the 'prototype' colors, and have names that correspond # to the column names of the returned matrices by the function above. names_RGB = c(\"Red\" = \"#FF0000\", \"Green\" = \"#00FF00\", \"Blue\" = \"#0000FF\", \"Other\" = \"#AAAAAA\") # Set the options (may take a while because if calculated the nameability scores) if (FALSE) { # \\dontrun{ c4a_options(naming_fun = naming_RGB, naming_fun_args = list(), naming_colors = names_RGB) } # }"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":null,"dir":"Reference","previous_headings":"","what":"Get available palette names and series — c4a_palettes","title":"Get available palette names and series — c4a_palettes","text":"c4a_palettes lists available cols4all color palettes. Palettes organized series. available series listed c4a_series. Palettes also organized per functional type, currently support: categorical \"cat\", sequential \"seq\", diverging \"div\"\", cyclic \"cyc\", bivariate (seq x seq \"bivs\", seq x cat \"bivc\", seq x div \"bivd\", seq x desaturated \"bivg\") palette types. function c4a_types lists available types. function c4a_overview gives overview table number palette per series type. IDE auto-completion (RStudio) possible browse palette names .P (using $ like lists).","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get available palette names and series — c4a_palettes","text":"","code":"c4a_palettes( type = c(\"all\", \"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\"), series = NULL, full.names = TRUE ) c4a_series(type = c(\"all\", \"cat\", \"seq\", \"div\", \"cyc\"), as.data.frame = TRUE) c4a_types(series = NULL, as.data.frame = TRUE) c4a_overview(return.matrix = FALSE, zero.count.as.NA = FALSE) .P"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Get available palette names and series — c4a_palettes","text":"object class environment length 17.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get available palette names and series — c4a_palettes","text":"type type color palette: one \"\" (palettes), \"cat\", \"seq\", \"div\", \"cyc\", \"bivs\", \"bivc\", \"bivd\", \"bivg\". See c4a_types descriptions. series series list palettes . Run c4a_series see options. full.names full names, .e. prefix \"series.\"? default TRUE. .data.frame c4a_series c4a_types return result data.frame, description included column? return.matrix matrix returned numbers per palette type? FALSE data.frame returned addional information zero.count..NA zeros counted table returned 0 (FALSE, default) NA (TRUE)?","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get available palette names and series — c4a_palettes","text":"names loaded color palettes","code":""},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_palettes.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get available palette names and series — c4a_palettes","text":"","code":"c4a_series() #> series description #> 1 brewer ColorBrewer palettes #> 2 carto Palettes designed by CARTO #> 3 cols4all cols4all palettes (in development) #> 4 hcl Palettes from the Hue Chroma Luminance color space #> 5 kovesi Palettes designed by Peter Kovesi #> 6 matplotlib Palettes from the Python library matplotlib #> 7 met Palettes inspired by The Metropolitan Museum of Art #> 8 misc Miscellaneous palettes #> 9 parks Palettes inspired by National Parks #> 10 pinkfloyd Palettes extracted from Pink Floyd album covers #> 11 poly Qualitative palettes with many colors #> 12 powerbi Palettes from Microsoft Power BI #> 13 scico Scientific colour maps by Fabio Crameri #> 14 seaborn Palettes from the Python library Seaborn #> 15 stevens Bivariate palettes by Joshua Stevens #> 16 tableau Palettes designed by Tableau #> 17 tol Palettes designed by Paul Tol #> 18 wes Palettes from Wes Anderson movies c4a_types() #> type description #> 1 cat categorical #> 2 seq sequential #> 3 div diverging #> 4 cyc cyclic #> 5 bivs bivariate (sequential x sequential) #> 6 bivc bivariate (sequential x categorical) #> 7 bivd bivariate (sequential x diverging) #> 8 bivg bivariate (sequential x desaturated) c4a_overview() #> series description cat seq div #> 1 brewer ColorBrewer palettes 9 18 9 #> 2 carto Palettes designed by CARTO 6 21 7 #> 3 cols4all cols4all palettes (in development) 14 0 2 #> 4 hcl Palettes from the Hue Chroma Luminance color space 9 23 11 #> 5 kovesi Palettes designed by Peter Kovesi 0 28 14 #> 6 matplotlib Palettes from the Python library matplotlib 0 51 12 #> 7 met Palettes inspired by The Metropolitan Museum of Art 33 8 14 #> 8 misc Miscellaneous palettes 5 0 0 #> 9 parks Palettes inspired by National Parks 22 5 3 #> 10 pinkfloyd Palettes extracted from Pink Floyd album covers 16 0 0 #> 11 poly Qualitative palettes with many colors 9 0 0 #> 12 powerbi Palettes from Microsoft Power BI 19 1 4 #> 13 scico Scientific colour maps by Fabio Crameri 21 21 10 #> 14 seaborn Palettes from the Python library Seaborn 6 4 2 #> 15 stevens Bivariate palettes by Joshua Stevens 0 0 0 #> 16 tableau Palettes designed by Tableau 29 23 28 #> 17 tol Palettes designed by Paul Tol 8 8 4 #> 18 wes Palettes from Wes Anderson movies 23 0 1 #> cyc bivs bivc bivd bivg #> 1 0 2 2 1 0 #> 2 0 0 0 0 0 #> 3 0 2 0 2 5 #> 4 6 0 0 0 0 #> 5 8 0 0 0 0 #> 6 3 0 0 0 0 #> 7 0 0 1 0 0 #> 8 0 0 3 0 0 #> 9 0 0 0 0 0 #> 10 0 0 0 0 0 #> 11 0 0 0 0 0 #> 12 0 0 0 0 0 #> 13 5 0 2 0 1 #> 14 0 0 0 0 0 #> 15 0 5 0 0 0 #> 16 0 0 3 0 0 #> 17 0 0 0 0 0 #> 18 0 0 0 0 0 c4a_palettes(type = \"cat\", series = \"tol\") #> [1] \"tol.bright\" \"tol.contrast\" \"tol.vibrant\" \"tol.muted\" \"tol.medium\" #> [6] \"tol.light\" \"tol.dark\" \"tol.rainbow\" c4a_palettes(type = \"seq\", series = \"kovesi\") #> [1] \"kovesi.cy_or\" \"kovesi.isoluminant_cgo_80_c38\" #> [3] \"kovesi.isoluminant_cm_70_c39\" \"kovesi.bu_gn_yl_wh\" #> [5] \"kovesi.bu_gn_yl\" \"kovesi.linear_bgyw_15_100_c68\" #> [7] \"kovesi.blue_cyan\" \"kovesi.blue\" #> [9] \"kovesi.bu_wh_mg\" \"kovesi.linear_bmw_5_95_c89\" #> [11] \"kovesi.bu_yl_mg\" \"kovesi.linear_bmy_10_95_c78\" #> [13] \"kovesi.linear_gow_60_85_c27\" \"kovesi.linear_gow_65_90_c35\" #> [15] \"kovesi.green\" \"kovesi.linear_grey_0_100_c0\" #> [17] \"kovesi.grey\" \"kovesi.bk_rd_yl\" #> [19] \"kovesi.linear_kry_5_98_c75\" \"kovesi.bk_rd_wh\" #> [21] \"kovesi.linear_kryw_5_100_c67\" \"kovesi.ternary_blue\" #> [23] \"kovesi.ternary_green\" \"kovesi.ternary_red\" #> [25] \"kovesi.rainbow_bu_gn_yl_rd\" \"kovesi.rainbow_bgyr_35_85_c73\" #> [27] \"kovesi.rainbow_bu_gn_yl_rd_mg\" \"kovesi.rainbow_bgyrm_35_85_c71\" # handy when auto-completion is available: .P$kovesi$seq$linear_terrain #> NULL"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_plot.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a color palette — c4a_plot","title":"Plot a color palette — c4a_plot","text":"Plot color palette, either cols4all palette, color vector. c4a_plot_cvd shortcut include color-blind simulated colors, `c4a_plot_hex shortcut print hex codes instead labels.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a color palette — c4a_plot","text":"","code":"c4a_plot( palette, ..., dark = FALSE, include.na = FALSE, hex = FALSE, include.cvd = FALSE, nrows = NA, ncols = NA ) c4a_plot_cvd(...) c4a_plot_hex(...)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a color palette — c4a_plot","text":"palette Palette name (see c4a) color vector ... arguments passed c4a dark dark (black) background? include.na color missing values included? hex hex codes printed instead color labels (numbers)? include.cvd color deficiency simulated colors included? nrows, ncols Number rows columns. Ignored include.cvd = TRUE (case, rows used simulated colors). default automatically calculated based aspect ratio device.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_plot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot a color palette — c4a_plot","text":"Besides plot, gTree returned silently","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_plot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a color palette — c4a_plot","text":"","code":"c4a_plot(\"brewer.set1\", nrows=1) c4a_plot_hex(\"brewer.set1\", nrows=1) c4a_plot_cvd(\"brewer.set1\") c4a_plot_cvd(\"greens\") c4a_plot_cvd(\"tol.pu_gn\") c4a_plot(.P$cols4all$bivs$pu_gn_bivs, n = 5) c4a_plot(.P$met$bivc$monet) c4a_plot(.P$cols4all$bivd$pu_gn_bivd, n = 5) c4a_plot(.P$cols4all$bivg$gn_bivg, n = 5)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_scores.html","id":null,"dir":"Reference","previous_headings":"","what":"Get information from a cols4all palette — c4a_scores","title":"Get information from a cols4all palette — c4a_scores","text":"Get information cols4all palette","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_scores.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get information from a cols4all palette — c4a_scores","text":"","code":"c4a_scores( palette = NULL, type = NULL, series = NULL, n = NA, no.match = c(\"message\", \"error\", \"null\"), verbose = TRUE )"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_scores.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get information from a cols4all palette — c4a_scores","text":"palette name palette type type palettes (case palette specified) series series name (case palette specified) n number colors .match happens match found? Options: \"message\": message thrown suggestions, \"error\": error thrown, \"null\": NULL returned verbose messages printed?","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_scores.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get information from a cols4all palette — c4a_scores","text":"list following items: name, series, fullname, type, palette (colors), na (color), nmax, reverse. latter TRUE \"-\" prefix palette name.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_scores.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get information from a cols4all palette — c4a_scores","text":"","code":"c4a_scores(\"blues3\") #> name series fullname type n min_dist nameability min_step max_step #> 1 blues3 hcl hcl.blues3 seq 7 7.17 NA 7.17 12.64 #> inter_wing_dist tri_ineq Cmax H HL HR Lmid Hwidth HwidthL HwidthR Lrange #> 1 NA 6.79 70 246 248 244 68 11 7 6 67 #> Crange fairness CRmin CRwt CRbk Blues cbfriendly chroma Hspread fair hues #> 1 60 81 1.18 1.12 2.15 1.83 1.00717 M 4 H SH #> equiluminance contrastWT contrastBK float nameable #> 1 TRUE TRUE TRUE FALSE NA pals = c4a_palettes(type = \"cat\") scores_cat7 = t(sapply(pals, c4a_scores, n = 7)) head(scores_cat7) #> name series fullname type n min_dist nameability #> misc.r3 \"r3\" \"misc\" \"misc.r3\" \"cat\" 7 8.63 0 #> misc.r4 \"r4\" \"misc\" \"misc.r4\" \"cat\" 7 4.29 0 #> misc.ggplot2 \"ggplot2\" \"misc\" \"misc.ggplot2\" \"cat\" 7 3.93 0 #> misc.okabe \"okabe\" \"misc\" \"misc.okabe\" \"cat\" 7 11.13 0 #> brewer.accent \"accent\" \"brewer\" \"brewer.accent\" \"cat\" 7 2.06 0 #> brewer.dark2 \"dark2\" \"brewer\" \"brewer.dark2\" \"cat\" 7 2.29 0 #> min_step max_step inter_wing_dist tri_ineq Cmax H HL HR Lmid #> misc.r3 NA NA NA NA 179 360 17 17 91 #> misc.r4 NA NA NA NA 105 360 245 10 82 #> misc.ggplot2 NA NA NA NA 100 360 12 14 70 #> misc.okabe NA NA NA NA 110 360 142 316 89 #> brewer.accent NA NA NA NA 132 360 26 320 98 #> brewer.dark2 NA NA NA NA 115 360 270 84 52 #> Hwidth HwidthL HwidthR Lrange Crange fairness CRmin CRwt CRbk #> misc.r3 287 223 139 65 179 0 1.16 1.07 2.44 #> misc.r4 291 241 111 34 105 12 1 1.6 4.37 #> misc.ggplot2 296 238 118 6 100 20 1 2.27 7.71 #> misc.okabe 271 186 142 43 57 56 1.02 1.32 4.05 #> brewer.accent 237 206 137 53 102 8 1.04 1.05 3.94 #> brewer.dark2 248 232 64 23 63 73 1.03 2.06 4.72 #> Blues cbfriendly chroma Hspread fair hues equiluminance #> misc.r3 Inf 0.00863 \"H\" 93 \"L\" \"RH\" TRUE #> misc.r4 1.52 0.00429 \"H\" 94 \"L\" \"RH\" TRUE #> misc.ggplot2 1.63 0.00393 \"H\" 96 \"L\" \"RH\" TRUE #> misc.okabe 1.56 1.01113 \"H\" 88 \"M\" \"NA\" TRUE #> brewer.accent 1.63 0.00206 \"H\" 77 \"L\" \"NA\" TRUE #> brewer.dark2 1.53 0.00229 \"H\" 80 \"M\" \"NA\" TRUE #> contrastWT contrastBK float nameable #> misc.r3 TRUE TRUE TRUE FALSE #> misc.r4 TRUE FALSE FALSE FALSE #> misc.ggplot2 TRUE FALSE FALSE FALSE #> misc.okabe TRUE FALSE FALSE FALSE #> brewer.accent TRUE FALSE FALSE FALSE #> brewer.dark2 TRUE FALSE FALSE FALSE"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_sysdata_import.html","id":null,"dir":"Reference","previous_headings":"","what":"Import and export system data — c4a_sysdata_import","title":"Import and export system data — c4a_sysdata_import","text":"Import export system data. c4a_sysdata_import import system data overwrite current system data, c4a_sysdata_export export current system data, c4a_sysdata_remove (partly) removes system data.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_sysdata_import.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Import and export system data — c4a_sysdata_import","text":"","code":"c4a_sysdata_import(data) c4a_sysdata_export() c4a_sysdata_remove(fullnames = NULL, series = NULL, are.you.sure = NA)"},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_sysdata_import.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Import and export system data — c4a_sysdata_import","text":"data cols4all data (see c4a_data) fullnames full palette names (format series.palette_name) series character vector series names removed (use \"\" remove ). ..sure sure want remove series?","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_sysdata_import.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Import and export system data — c4a_sysdata_import","text":"c4a_sysdata_export returns system data (list)","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/c4a_sysdata_import.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Import and export system data — c4a_sysdata_import","text":"","code":"x = c4a_sysdata_export() c4a_sysdata_import(x) #> cols4all system data imported successfully y = c4a_sysdata_export() identical(x, y) #> [1] TRUE"},{"path":"https://mtennekes.github.io/cols4all/reference/cols4all-package.html","id":null,"dir":"Reference","previous_headings":"","what":"cols4all overview — cols4all-package","title":"cols4all overview — cols4all-package","text":"cols4all stands : color palettes people, including color vision deficiency. Popular color palette series, ColorBrewer, organized type scored several properties color-blind-friendliness fairness (.e. colors stand equally?). palettes can also loaded analysed. Besides common palette types (categorical, sequential, diverging) also includes bivariate color palettes. ggplot2 scales included.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/cols4all-package.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"cols4all overview — cols4all-package","text":"page provides brief overview package functions.","code":""},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":"https://mtennekes.github.io/cols4all/reference/cols4all-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"cols4all overview — cols4all-package","text":"Maintainer: Martijn Tennekes mtennekes@gmail.com contributors: Marco Puts mputs@acm.org [contributor] Achim Zeileis Achim.Zeileis@R-project.org [contributor] Jakub Nowosad nowosad.jakub@gmail.com [contributor] Robin Lovelace rob00x@gmail.com [contributor] Helgasoft contact@helgasoft.com [contributor] Matthew Petroff matthew@mpetroff.net [contributor] Olivier Roy [contributor]","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/scales_ggplot2.html","id":null,"dir":"Reference","previous_headings":"","what":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","title":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","text":"col4all scales ggplot2. scale functions organized scale___c4a_, either colo(u)r fill, refers mapping applied (discrete, continuous binned), palette type: cat, seq, div.","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/scales_ggplot2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","text":"","code":"scale_color_discrete_c4a_cat( palette = NULL, reverse = FALSE, order = NULL, ... ) scale_colour_discrete_c4a_cat( palette = NULL, reverse = FALSE, order = NULL, ... ) scale_fill_discrete_c4a_cat(palette = NULL, reverse = FALSE, order = NULL, ...) scale_color_discrete_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, ... ) scale_colour_discrete_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, ... ) scale_fill_discrete_c4a_seq(palette = NULL, reverse = FALSE, range = NULL, ...) scale_color_discrete_c4a_div( palette = NULL, reverse = FALSE, range = NULL, ... ) scale_colour_discrete_c4a_div( palette = NULL, reverse = FALSE, range = NULL, ... ) scale_fill_discrete_c4a_div(palette = NULL, reverse = FALSE, range = NULL, ...) scale_color_continuous_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_colour_continuous_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_fill_continuous_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_color_continuous_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_colour_continuous_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_fill_continuous_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_color_binned_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_colour_binned_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_fill_binned_c4a_seq( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_color_binned_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_colour_binned_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... ) scale_fill_binned_c4a_div( palette = NULL, reverse = FALSE, range = NULL, mid = 0, n_interp = 11, ... )"},{"path":"https://mtennekes.github.io/cols4all/reference/scales_ggplot2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","text":"palette, reverse, order, range See c4a. ... parameters passed underlying scale functions: discrete_scale, continuous_scale, binned_scale. mid data value mapped mid-point diverging color scale n_interp number discrete colors used interpolate continuous color scale. Recommended use odd number include midpoint","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/scales_ggplot2.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","text":"ggplot2 component defines scale","code":""},{"path":"https://mtennekes.github.io/cols4all/reference/scales_ggplot2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"col4all scales for ggplot2 — scale_color_discrete_c4a_cat","text":"","code":"if (require(\"ggplot2\")) { data(\"diamonds\") diam_exp = diamonds[diamonds$price >= 15000, ] diam_exp$clarity[1:500] = NA # discrete categorical scale ggplot(diam_exp, aes(x = carat, y = price, color = color)) + geom_point(size = 2) + scale_color_discrete_c4a_cat(\"carto.safe\") + theme_light() # missing values c4a_plot(\"tol.muted\", 8) ggplot(diam_exp, aes(x = carat, y = price, fill = clarity)) + geom_point(size = 2, shape = 21) + scale_fill_discrete_c4a_cat(\"tol.muted\") + theme_light() # discrete sequential scale ggplot(diam_exp, aes(x = carat, y = price, color = cut)) + geom_point(size = 2) + scale_color_discrete_c4a_seq(\"hcl.blues2\") + theme_light() # continuous sequential scale ggplot(diam_exp, aes(x = carat, y = price, color = depth)) + geom_point(size = 2) + scale_color_continuous_c4a_seq(\"hcl.blues2\", range = c(0.4, 1)) + theme_light() # continuous diverging scale ggplot(diam_exp, aes(x = carat, y = depth, color = price)) + geom_point(size = 2) + scale_color_continuous_c4a_div(\"wes.zissou1\", mid = mean(diam_exp$price)) + theme_light() # binned sequential scale ggplot(diam_exp, aes(x = carat, y = price, color = depth)) + geom_point(size = 2) + scale_color_binned_c4a_seq(\"scico.batlow\", range = c(0.4, 1)) + theme_light() } #> Loading required package: ggplot2"},{"path":"https://mtennekes.github.io/cols4all/news/index.html","id":"cols4all-08","dir":"Changelog","previous_headings":"","what":"cols4all 0.8","title":"cols4all 0.8","text":"CRAN release: 2024-10-16 main table much faster sorting filtering options added powerbi matplotlib palettes added [!] added new “cols4all” categorical palettes analysis tabs updated","code":""},{"path":"https://mtennekes.github.io/cols4all/news/index.html","id":"cols4all-07-1","dir":"Changelog","previous_headings":"","what":"cols4all 0.7-1","title":"cols4all 0.7-1","text":"CRAN release: 2024-03-12 fixed critical bug c4a_gui","code":""},{"path":"https://mtennekes.github.io/cols4all/news/index.html","id":"cols4all-07","dir":"Changelog","previous_headings":"","what":"cols4all 0.7","title":"cols4all 0.7","text":"CRAN release: 2024-03-06 improved similarity matrix plot improved applications tab added naming column (development) added new ‘tol’ palettes scores shown precision compatibility tmap 4.0","code":""},{"path":"https://mtennekes.github.io/cols4all/news/index.html","id":"cols4all-06-1","dir":"Changelog","previous_headings":"","what":"cols4all 0.6-1","title":"cols4all 0.6-1","text":"fixed bug confusion lines","code":""},{"path":"https://mtennekes.github.io/cols4all/news/index.html","id":"cols4all-06","dir":"Changelog","previous_headings":"","what":"cols4all 0.6","title":"cols4all 0.6","text":"CRAN release: 2023-02-02 first CRAN release","code":""}]