Package 'dichromat'

Title: Color Schemes for Dichromats
Description: Collapse red-green or green-blue distinctions to simulate the effects of different types of color-blindness.
Authors: Thomas Lumley [aut, cre], Ken Knoblauch [ctb], Scott Waichler [ctb], Achim Zeileis [ctb]
Maintainer: Thomas Lumley <[email protected]>
License: GPL-2
Version: 2.0-0.1
Built: 2024-10-31 21:08:46 UTC
Source: CRAN

Help Index


Color Schemes

Description

17 color schemes suitable for people with deficient or anomalous red-green vision.

Usage

colorschemes

Format

  • BrowntoBlue.10

  • BrowntoBlue.12

  • BluetoDarkOrange.12

  • BluetoDarkOrange.18

  • DarkRedtoBlue.12

  • DarkRedtoBlue.18

  • BluetoGreen.14

  • BluetoGray.8

  • BluetoOrangeRed.14

  • BluetoOrange.10

  • BluetoOrange.12

  • BluetoOrange.8

  • LightBluetoDarkBlue.10

  • LightBluetoDarkBlue.7

  • Categorical.12

  • GreentoMagenta.16

  • SteppedSequential.5

Author(s)

Scott Waichler <[email protected]>

Source

https://geography.uoregon.edu/datagraphics/color_scales.htm

References

Light A, Bartlein PJ (2004). The End of the Rainbow? Color Schemes for Improved Data Graphics. EOS Transactions of the American Geophysical Union, 85(40), 385.

Examples

pal <- function(col, ...)
  image(seq_along(col), 1, matrix(seq_along(col), ncol = 1),
  col = col, axes = FALSE, ...)

opar <- par(mar = c(1, 2, 1, 1))
layout(matrix(1:6, ncol = 1))
pal(colorschemes$BrowntoBlue.10, main = "Brown to Blue (10)")
pal(colorRampPalette(colorschemes$BrowntoBlue.10, space = "Lab")(100),
  main = "Brown to Blue Ramp")
pal(dichromat(colorschemes$BrowntoBlue.10),
  main = "Brown to Blue (10) -- deuteranopia")
pal(colorschemes$Categorical.12, main = "Categorical (12)")
pal(dichromat(colorschemes$Categorical.12),
  main = "Categorical (12) -- deuteranopia")
pal(dichromat(colorschemes$Categorical.12, "protan"),
  main = "Categorical (12) -- protanopia")
par(opar)

Effects of Daltonism (Red-Green Color Blindness)

Description

A 256-color palette as it would appear with normal vision, and with two types of red-green color blindness: protanopia and deuteronopia. Furthermore, a color palette for a type of green-blue color blindness (tritanopia) is available.

Usage

data("dalton")

Format

dalton A 256 x 3 x 4 array. The columns index the red, green and blue color values, the layers index the vision type.

dalton.colors: A list of colors, with names normal, protan, deutan, tritan.

Details

The dalton array lists a grid of 256 colors in RGB coordinates for "normal" vision as well as corresponding RGB coordinates in which certain red-green ("deutan" and "protan") or green-blue contrasts ("tritan") are collapsed.

The formulas for mapping the RGB coordinates to the collapsed coordinates have been developed in a series of papers by Brettel, Mollon, and Viénot. The protan/deutan mapping is provided in Table 2 of Viénot et al. (1999) while the tritan case is discussed in Brettel at al. (1997).

The dalton.colors list contains the sRGB colors (as R color strings) as computed with rgb from dalton.

For an automatic mapping of a given color vector to its dichromatic counterpart, see dichromat.

Source

The data were kindly provided by Françoise Viénot.

The deutan/protan data (rounded to integers) is also available in Table 2 of Viénot et al. (1999).

References

Brettel H, Viénot F, Mollon, JD (1997). Computerized Simulation of Color Appearance for Dichromats. Journal of the Optical Society of America A, 14, 2647–2655.

Viénot F, Brettel H, Ott L, M'Barek AB, Mollon JD (1995). What Do Colour-Blind People See? Nature, 376, 127–128.

Viénot F, Brettel H, Mollon JD (1999). Digital Video Colourmaps for Checking the Legibility of Displays by Dichromats. Color Research and Application, 24(4), 243–252.

See Also

dichromat, rgb

Examples

data("dalton", package = "dichromat")
 par(mfrow = c(4, 1))
 image(matrix(1:256, 128), col = dalton.colors$normal)
 image(matrix(1:256, 128), col = dalton.colors$deutan)
 image(matrix(1:256, 128), col = dalton.colors$protan)
 image(matrix(1:256, 128), col = dalton.colors$tritan)

Remove Red-Green or Green-Blue Contrasts from Colors

Description

Collapses red-green or green-blue color distinctions to approximate the effect of the three forms of dichromacy: protanopia and deuteranopia (red-green color blindness), and tritanopia (green-blue color blindness). deuteranopia.

Usage

dichromat(colours, type = c("deutan", "protan", "tritan"))

Arguments

colours

A vector of R colors, either color names or color hex strings.

type

Type of color-blindness to simulate,

Details

Someone with the specified form of color blindness will find that the transformation has little effect on the appearance of colors. Colors that are indistinguishable after transformation were likely indistinguishable to them before transformation. About 10% of men (and almost no women) have some degree of red-green color blindness. Tritanopia is much less common but occurs in both males and females.

The mapping from the original color vector to the dichromatic counterpart is based on a sequence of papers by Brettel, Mollon, and Viénot. For more details, see the references and also the underlying data set dalton.

Value

A vector of R colors.

Author(s)

Thomas Lumley

References

Brettel H, Viénot F, Mollon, JD (1997). Computerized Simulation of Color Appearance for Dichromats. Journal of the Optical Society of America A, 14, 2647–2655.

Lumley T (2006). Color-Coding and Color Blindness in Statistical Graphics. ASA Statistical Computing & Graphics Newsletter, 17(2), 4–7. https://community.amstat.org/jointscsg-section/newsletter

Viénot F, Brettel H, Ott L, M'Barek AB, Mollon JD (1995). What Do Colour-Blind People See? Nature, 376, 127–128.

Viénot F, Brettel H, Mollon JD (1999). Digital Video Colourmaps for Checking the Legibility of Displays by Dichromats. Color Research and Application, 24(4), 243–252.

Wikipedia (2013). Color Blindness – Wikipedia, The Free Encyclopedia. https://en.wikipedia.org/wiki/Color_blindness, accessed 2013-01-16.

Wikipedia (2013). Dichromacy – Wikipedia, The Free Encyclopedia. https://en.wikipedia.org/wiki/Dichromacy, accessed 2013-01-16.

See Also

dalton, rgb

Examples

## from example(pie)
 par(mfrow = c(2, 2))
 pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12)
 names(pie.sales) <- c("Blueberry", "Cherry",
   "Apple", "Boston Cream", "Other", "Vanilla Cream")
 pie(pie.sales, # default colors
   col = c("white", "lightblue", "mistyrose", "lightcyan", "lavender", "cornsilk"))
 pie(pie.sales,
   col = c("purple", "violetred1", "green3", "cornsilk", "cyan", "white"))
 pie(pie.sales, col = dichromat(
   c("white", "lightblue", "mistyrose", "lightcyan", "lavender", "cornsilk")))
 pie(pie.sales, col = dichromat(
   c("purple", "violetred1", "green3", "cornsilk", "cyan", "white")))


## standard color schemes
pie(rep(1,10), col = heat.colors(10))
pie(rep(1,10), col = dichromat(heat.colors(10)))
pie(rep(1,8),  col = palette())
pie(rep(1,8),  col = dichromat(palette()))

pie(rep(1,15), col = topo.colors(15))
pie(rep(1,15), col = dichromat(topo.colors(15)))
pie(rep(1,15), col = terrain.colors(15))
pie(rep(1,15), col = dichromat(terrain.colors(15)))

pie(rep(1,15), col = cm.colors(15))
pie(rep(1,15), col = dichromat(cm.colors(15)))

## color ramp schemes
bluescale <- colorRampPalette(c("#FFFFCC", "#C7E9B4", "#7FCDBB",
  "#40B6C4", "#2C7FB8" , "#253494"))
redgreen <- colorRampPalette(c("red", "green3"))
pie(rep(1,15), col = bluescale(15))
pie(rep(1,15), col = dichromat(bluescale(15)))

par(mfrow = c(2, 4))
x <- matrix(rnorm(10 * 10), 10)
image(1:10, 1:10, x, col = bluescale(10), main = "blue-yellow scale")
image(1:10, 1:10, x, col = dichromat(bluescale(10), "deutan"), main = "deutan")
image(1:10, 1:10, x, col = dichromat(bluescale(10), "protan"), main = "protan")
image(1:10, 1:10, x, col = dichromat(bluescale(10), "tritan"), main = "tritan")

image(1:10, 1:10, x, col = redgreen(10), main = "red-green scale")
image(1:10, 1:10, x, col = dichromat(redgreen(10), "deutan"), main = "deutan")
image(1:10, 1:10, x, col = dichromat(redgreen(10), "protan"), main = "protan")
image(1:10, 1:10, x, col = dichromat(redgreen(10), "tritan"), main = "tritan")