Hacker News new | comments | show | ask | jobs | submit login
New Map Scale Is More Readable by People Who Are Color Blind (scientificamerican.com)
135 points by draenei 4 days ago | hide | past | web | favorite | 49 comments

I am not colorblind, but work with data visualization in Matlab a lot. This hilarious SciPy2015 talk[1] convinced me to switch to the Parula color scheme. There's no way I'm going back to Jet.

[1] https://www.youtube.com/watch?v=xAoljeRJ3lU

Shouldn't it have convinced you to switch to Viridis instead?

This talk was awesome. Best explanation i've ever heard for why color spaces have the odd shape they do. The 3d models of perceivable color spaces for different colorblindnesses was also really insightful.

I've been using Color Oracle [1] to simulate colour-blindness as part of my standard developer workflow recently. For such a common disability, it's shocking how little work most people put into ensuring accessibility for colour-blind people.

[1] https://colororacle.org/

If you have an Android phone, you can also go into the developer settings, turn on a colour blindness simulation, launch the camera, and then point it at anything (in the real world, or on a monitor) and see an idea of what it might be like to a colour blind person.

Thanks for the link. Is the macOS version working for you? I can't get it to work on High Sierra.

Do you have Java installed? It works for me.

There's another app from a Japanese lab but can't remember the name.

I can see the app running - but doesn't change the display when I select a simulator option from the drop down menu. Will play around with it. Thanks!

Maybe it's working just fine but you're already colorblind ;)

About 8% of all males are color-blind. If you are a scientist, and want to publish your work, there's a one in four chance that at least one of your three reviewers is color-blind.

Rainbow color schemes are ridiculously bad. One study showed that medical professionals who look at rainbow-themed plots every day, immediately made fewer errors if presented with a simple grayscale plot instead, despite not having any experience with the grayscale color scheme.

Add to that that human perception is much better at seeing high-frequency lightness contrast than color contrast. Color contrasts are better-suited for categorical data.

> there's a one in four chance

Closer to 1 in 7, because the reviewer might be female (who are rarely color blind).

Closer to 1 in 4, because sadly there are very few reviewers who are female.

I am always pleased to see annoucements and discussions on colour blindness.

Forgive me for sharing again my writeup on this syndrome from my own experience, if you don't yourself have any such deficiencies you might find it interesting!


Ha! I enjoyed this read. I am also colorblind. I do think one of the more interesting parts of being colorblind is the fact that I do not rely on color for ANYTHING. For example - Stoplight? What position is lit is my first thought. I think this train of thought has had some unintended benefits in terms of my ability to process things analytically

Thank you for the write up - this was good to read. Someone close to me was just diagnosed with color blindness and this was very helpful.

Thanks! (If you ever see them in a super pale pink shirt, check if they believe it's white and may've been ruined in the laundry. Been there, done that)

This reminds me of CubeHelix [0], which aims to create scales which degrade gracefully to grayscale, which also minimizes potential color-blindness issues.

[0] https://www.mrao.cam.ac.uk/~dag/CUBEHELIX/


“Color Advice for Maps”

Brewer has been on this for a while! Mike Bostock approved. Check “colorblind safe”

With just two colours it's hard to see the intermediate values because our eyes tend to blur together colours; is that an intermediate value or sharp edge that I'm seeing fuzzily due to poor focus? With an intermediate tone, such issues are pushed down to lower resolutions - with yellow-red-blue I know for sure that if it's red it's an intermediate, but is the orange area a mix of lots of small yellow and red domains or is it a field of intermediate domains?

Rinse and repeat.

The article seems to say "this scale is better" whilst also describing how other scales can be better. The evidence they present says to me "choose scales according to the data, the desired use, and the observer", of you ship the data used to cover a visualisation along with that visualisation then people can use their own scale altered to the purposes (and disabilities) they have.

Any scale that only uses hue is terrible, no matter how many intermediate steps. Scales that only accidentally utilize luminance (due to human vision being most sensitive to green, then red, and by far the least sensitive to blue) are only marginally better. Indeed, the rainbow scale is atrocious also due to the perceptually most luminous color being somewhere in the middle of the range, so people with red-green deficiency cannot even easily use luminance cues to make sense of the data. Not even mentioning the fact that human vision is simply much better at distinguishing luminance differences than hue differences.

This advice is also in Tufte’a first book. This bichromatic scale is given as an example. http://photos1.blogger.com/x/blogger/645/100/1600/834939/Tuf...

Isn't this almost the same as the viridis palette that has been around for ages? https://cran.r-project.org/web/packages/viridis/vignettes/in...

Their abstract explains things better: http://journals.plos.org/plosone/article?id=10.1371/journal....

They built a tool for any colormap. And then used it on Viridis. The result is this Cividis.


I just skimmed the paper [1], and their conclusion starts:

> We identified one colormap in particular to be optimal for viewing by those with or without CVD, which we name cividis (Figs 4 and 5), generated by optimizing the viridis colormap and selecting the J' linearization that maximizes the range of J'. We chose this map due to its wide range of colors, resulting from a wide range of J0 values while still changing b0 significantly, and overall sharpness when overlaid onto complex images.

So pretty closely related :)

[1] https://arxiv.org/ftp/arxiv/papers/1712/1712.01662.pdf

I'm disappointed that they (in my opinion) managed to make a worse color scale. If you look at the CVD-Jet color bar you can see blocks that appears quite similar separated by too sharp transitions. This is a common problem in e.g. rainbow scales. They highlight them selves that yellow appears as highligt, yet the highest values get translated to black. How is black supposed to be interpreted as more luminescent/intense than yellow? It happens to be a color scale that makes the cells look good, but to me that is happenstance.

CVD-Jet is not the new color scale, it's a simulation of what Jet looks like for certain colorblind users.

To my eyes, cividis (which is the new scale) is good by the numbers, and there's a strong argument it's more robust for colorblind users, but viridis looks better.

I added a basic React component that also has the values in RGB computed


Related: How Bad Is Your Colormap? (Or, Why People Hate Jet – and You Should Too): https://jakevdp.github.io/blog/2014/10/16/how-bad-is-your-co...

Also related: seaborn (a helper library on top of matplotlib) has a special case dedicated to rejecting requests for using jet

Why is it called jet? Can't find any definition/abbreviation for it beside that it's called jet in MATLAB.


From some of what seem to be the matlab docs

> The jet colormap is associated with an astrophysical fluid jet simulation from the National Center for Supercomputer Applications. See the "Examples" section


Here are the RGB values converted from the Matlab color index format mentioned.


I wish the article would have provided the formula for cividis... that is, how to transform a range of values from 0 to 1.0 into standard RGB values.

The "S2 file" mentioned on the liked page gives a look-up table for the cividis scale: http://journals.plos.org/plosone/article/file?type=supplemen...

Apart from the comment on line 1, that file contains 256 lines with a colour. I suppose to get a finer scale, you can interpolate with any reasonable function you like since the differences are so small.

I was looking for a table too, and found https://github.com/pnnl/cmaputil (colormaps/ directory)

Quick conversion for css etc,

multiply each number by 255 to get RGB val, and call Math.round() on each or let the browser round it.

Semi-related tid-bit: You'd be shocked how many theatrical lighting designers over the age of 45 are color blind. Never used to be a workplace issue since there was only a limited number of gels to place over lights and even then they were all numbered / catalog.

With LEDs being able to project (nearly) any color the old-guard are facing some challenges.

A plus is that you can easily import these into many programs (MATLAB, ParaView, QGIS, etc.) thus having a consistent look and feel in your plots.

They claim that the new scale gives a continuum from dark to light, but if you look at the example it goes dark at both ends with the brightest colors in the exact middle. Why the discrepancy?

I don't think it does. The picture here: https://static.scientificamerican.com/sciam/assets/Image/UPj... is CVD-Jet, not their new scale. The blue-and-yellow rightmost picture is described as "as a person with red-green color blindness sees the rainbow image [in the center]". This scale does put the brightest colors in the center.

Their proposed scale, cividis, does not have a brightness in the middle of the scale. It's the second image in the article: https://static.scientificamerican.com/sciam/assets/Image/jou...

Correct, one of the links in the article shows a pretty clear comparison between rainbow scale, how that looks to someone with color deficiency (with the dark portions on the ends), and their proposed scale.

https://www.comsol.com/blogs/a-simulation-color-table-for-en... - midway down the page.

Thanks. They sure made it confusing with their choice of examples then.

Did I miss it, or are there zero example images in the article using the new color scale?

The yellowish/blueish diagrams are the new scale. https://static.scientificamerican.com/sciam/assets/Image/jou...

I always hated rainbow scales because I always see artificial boundaries where the colors change between 2 contrasting ones.

If you are confused about ve in the table:

+ve = positive

-ve = negative

The image at the top of the page loads fine. But the rest an so encumbered with Javascript to load you literally have to reload the page at least 4 times (to load the JS domain, that loads the JS domain, that loads the JS domain) to see them.

I gave up and closed the tab.

Works for me with JavaScript disabled in Firefox. I'm not seeing anything in the source that would cause problems either.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact