Calculation of the distances between the colors in the input palette. It also allows for calculation of the distances between the colors in a simulations of the color vision deficiency - deuteranopia, protanopia, and tritanopia.

palette_dist(x, cvd = NULL, severity = 1, metric = 2000)

Arguments

x

A vector of hexadecimal color descriptions

cvd

A type of color vision deficiency (CVD): "pro" (protanomaly), "deu" (deutanomaly), or "tri" (tritanomaly)

severity

Severity of the color vision defect, a number between 0 and 1

metric

A vector of color metric specifiers. Valid values are '1976', '1994', and '2000' (default), which refer to the year the metric was recommended by the CIE

Value

A matrix of distances between the original input palette and a simulation of the selected color vision deficiency - deuteranopia, protanopia, and tritanopia

Examples

rainbow_pal = rainbow(n = 7)
rainbow_pal
#> [1] "#FF0000" "#FFDB00" "#49FF00" "#00FF92" "#0092FF" "#4900FF" "#FF00DB"
palette_dist(rainbow_pal)
#>      [,1]     [,2]     [,3]     [,4]     [,5]     [,6]      [,7]
#> [1,]   NA 52.96503 85.06611 84.19100 52.61836 51.46782  39.46279
#> [2,]   NA       NA 29.34232 34.74051 65.68745 92.04784  80.83188
#> [3,]   NA       NA       NA 12.13226 69.12782 81.23889 107.63470
#> [4,]   NA       NA       NA       NA 56.87222 74.19228 103.11485
#> [5,]   NA       NA       NA       NA       NA 35.47760  44.20031
#> [6,]   NA       NA       NA       NA       NA       NA  29.94683
#> [7,]   NA       NA       NA       NA       NA       NA        NA
palette_dist(rainbow_pal, cvd = "deu")
#>      [,1]     [,2]      [,3]     [,4]     [,5]     [,6]     [,7]
#> [1,]   NA 22.25238 20.199366 22.18554 61.24277 73.38607 51.25329
#> [2,]   NA       NA  2.572062 14.42290 69.47428 85.87461 57.69897
#> [3,]   NA       NA        NA 12.62788 67.65257 83.62546 56.07467
#> [4,]   NA       NA        NA       NA 56.36751 70.85413 45.94775
#> [5,]   NA       NA        NA       NA       NA 20.70198 10.14610
#> [6,]   NA       NA        NA       NA       NA       NA 25.54339
#> [7,]   NA       NA        NA       NA       NA       NA       NA

x = rcartocolor::carto_pal(11, "Vivid")
palette_dist(x)
#>       [,1]     [,2]     [,3]     [,4]     [,5]     [,6]     [,7]     [,8]
#>  [1,]   NA 52.04523 45.55534 39.23473 49.36807 46.51876 13.35131 49.85537
#>  [2,]   NA       NA 40.72139 61.23713 25.88310 31.39848 57.69268 17.19956
#>  [3,]   NA       NA       NA 23.92105 47.23524 22.12769 37.65264 31.46811
#>  [4,]   NA       NA       NA       NA 75.06609 36.10532 25.61009 57.81051
#>  [5,]   NA       NA       NA       NA       NA 42.17333 58.54488 42.47789
#>  [6,]   NA       NA       NA       NA       NA       NA 42.99029 26.57736
#>  [7,]   NA       NA       NA       NA       NA       NA       NA 57.46444
#>  [8,]   NA       NA       NA       NA       NA       NA       NA       NA
#>  [9,]   NA       NA       NA       NA       NA       NA       NA       NA
#> [10,]   NA       NA       NA       NA       NA       NA       NA       NA
#> [11,]   NA       NA       NA       NA       NA       NA       NA       NA
#>           [,9]    [,10]    [,11]
#>  [1,] 55.63423 25.37443 28.70389
#>  [2,] 12.84607 39.85479 37.74876
#>  [3,] 48.18521 58.75860 19.09441
#>  [4,] 77.24506 59.66097 21.99773
#>  [5,] 19.96106 26.17096 40.25210
#>  [6,] 36.19023 54.84155 27.32743
#>  [7,] 63.70692 36.47136 24.75022
#>  [8,] 30.90223 48.02986 32.30888
#>  [9,]       NA 37.95881 46.10770
#> [10,]       NA       NA 34.03568
#> [11,]       NA       NA       NA
palette_dist(x, cvd = "pro", severity = 1)
#>       [,1]     [,2]     [,3]     [,4]      [,5]     [,6]     [,7]      [,8]
#>  [1,]   NA 53.90815 23.49432 13.01566 50.097215 26.18614  6.88237 50.831404
#>  [2,]   NA       NA 36.54495 58.65574  5.309335 26.06737 56.79732  9.685975
#>  [3,]   NA       NA       NA 22.06717 32.074077 21.50424 22.73180 30.659816
#>  [4,]   NA       NA       NA       NA 54.093130 34.13561  6.41016 53.622796
#>  [5,]   NA       NA       NA       NA        NA 24.09270 52.54168  5.274875
#>  [6,]   NA       NA       NA       NA        NA       NA 30.57195 26.457937
#>  [7,]   NA       NA       NA       NA        NA       NA       NA 52.647305
#>  [8,]   NA       NA       NA       NA        NA       NA       NA        NA
#>  [9,]   NA       NA       NA       NA        NA       NA       NA        NA
#> [10,]   NA       NA       NA       NA        NA       NA       NA        NA
#> [11,]   NA       NA       NA       NA        NA       NA       NA        NA
#>            [,9]    [,10]     [,11]
#>  [1,] 56.878613 15.74118 22.240228
#>  [2,]  7.194167 39.48811 35.727141
#>  [3,] 42.293004 18.52545  2.760351
#>  [4,] 63.136373 24.57999 22.308798
#>  [5,] 12.151946 36.53667 31.429053
#>  [6,] 27.507929 12.24557 19.045514
#>  [7,] 60.672416 20.57271 22.233932
#>  [8,] 17.542511 37.88900 30.426162
#>  [9,]        NA 41.58931 41.136469
#> [10,]        NA       NA 16.032298
#> [11,]        NA       NA        NA
palette_dist(x, cvd = "pro", severity = 0.2)
#>       [,1]     [,2]     [,3]     [,4]     [,5]     [,6]     [,7]     [,8]
#>  [1,]   NA 53.01187 37.51052 28.45790 51.10563 39.57612 10.96522 48.99477
#>  [2,]   NA       NA 38.38793 62.55303 22.57921 28.28922 58.10646 13.01489
#>  [3,]   NA       NA       NA 23.99633 38.30128 22.13243 32.49847 31.06509
#>  [4,]   NA       NA       NA       NA 67.26942 36.06440 17.89137 58.61870
#>  [5,]   NA       NA       NA       NA       NA 33.25149 58.09530 31.87684
#>  [6,]   NA       NA       NA       NA       NA       NA 38.96839 26.12159
#>  [7,]   NA       NA       NA       NA       NA       NA       NA 51.32819
#>  [8,]   NA       NA       NA       NA       NA       NA       NA       NA
#>  [9,]   NA       NA       NA       NA       NA       NA       NA       NA
#> [10,]   NA       NA       NA       NA       NA       NA       NA       NA
#> [11,]   NA       NA       NA       NA       NA       NA       NA       NA
#>           [,9]    [,10]    [,11]
#>  [1,] 56.73290 23.24289 25.92268
#>  [2,] 10.55181 39.58922 37.38706
#>  [3,] 44.11190 45.54661 15.99992
#>  [4,] 71.67851 46.35476 21.68965
#>  [5,] 18.97485 29.60088 36.98635
#>  [6,] 30.88119 42.74473 24.84004
#>  [7,] 63.44251 32.06313 23.76206
#>  [8,] 23.80832 42.02374 32.04094
#>  [9,]       NA 39.33681 43.99605
#> [10,]       NA       NA 28.86293
#> [11,]       NA       NA       NA