tethys 2 days ago

Whenever I need colors for a chart, I type "12 bit" in my address bar and pray my browser hasn't forgotten the URL: https://iamkate.com/data/12-bit-rainbow/

  • mpetroff 2 days ago

    Please don't use rainbow-type palettes, as they generally have poor accessibility for colorblind individuals. With my red deficiency, the middle two colors in this palette look virtually identical.

    • Ancapistani 2 days ago

      This is super interesting to me.

      Is there another 12-color palette that allows you to easily distinguish between every color? If so, I'd love to see it.

      I'd also appreciate if anyone who happens to read this who has a different variety of colorblindness - or who finds color palettes inaccessible for any reason - could share what colors in the 12-bit palette and any others that are suggested in this thread are problematic and why, that'd be awesome :)

      My initial instinct is that finding 12 colors that are visually distinguishable for all users is likely impossible. That being the case, the ideal solution IMO is likely something like providing a dynamic option to change the palette (or even the representation!) and then choosing a default that the author is happy with.

      • mpetroff 2 days ago

        > My initial instinct is that finding 12 colors that are visually distinguishable for all users is likely impossible.

        Without going to lightness extremes, I agree that this likely isn't possible, at least when trying to accommodate all three types of dichromacy and for small color patch sizes (like those typically used for line and scatter plots). For example, you could take the 10-color accessible palette from work I've published [1] and add black and bright yellow to get twelve colors, but the lightness extremes of adding these colors would result in significantly-different visual weights. Based on a validation survey I conducted, I think even ten colors is pushing the limit of what's reasonable when lightness extremes aren't used.

        > could share what colors in the 12-bit palette...are problematic

        #9d5 and #4d8 is the color pair I find particularly problematic.

        [1] https://arxiv.org/abs/2107.02270

    • Ancapistani 2 days ago

      I understand there's no direct way to answer this, but does this image appear the same as the live page to you?

      https://imgur.com/a/nZnr0BN

      If so... wow. That's not good at all; it's almost as hard to distinguish the minimum value from the maximum value as it is the two in the center.

      • mpetroff 2 days ago

        While not completely identical, it looks very similar (I also only have strong protanomaly, not complete protanopia, so I wouldn't expect it to look identical).

        Color-vision deficiency simulations collapse colors along the confusion lines, but this can be done multiple ways. These different mapping will all look the same (and identical to the original) to a dichromat but will appear different, with different perceptual differences between colors, to a color-normal individual. Simulating in a way that accurately portrays perceived color distances is still an open research problem.

    • tethys 2 days ago

      Fair point! My eyes are (mostly) fine, but even I would have a hard time telling these colors apart when used in the same chart.

      I usually do very simple charts, using maybe 2 or 3 colors, and with this palette I feel the results are typically very pleasing, whichever colors I end up selecting.

  • a1o 2 days ago

    Those are very good colors!

cush 2 days ago

Careful, this is really not good for folks who are color blind. In chromium devtools you can enable various color blind emulations in the device emulation menu. ctrl+shift+P -> "Protanopia"

  • Ancapistani 2 days ago

    Ohhh, that's a great tool that I didn't know existed. I've used GPU-based filters in the past for this.

    For others - this panel is shown at the bottom, alongside the "Console" panel (not the "Console" tab at the top!) that's sometimes shown. You can open it by clicking the three vertical dots at the top right of the devtools panel, "More tools", then "Rendering".

    The setting you're looking for is "Emulate vision deficiencies".

jacomyal 2 days ago

It's functionally very close to https://colorbrewer2.org, which has been online for more than 15 years. I think it's not a coincidence, and some credits wouldn't have hurt anyone...

Also, I have personally been using iWantHue to generate large palettes for more than 10 years now, and I'm still very happy about it: https://medialab.github.io/iwanthue/

Borg3 2 days ago

Hah, what a coincidence. I did small research today for heatmaps for my very simply graph lib for Ruby. I recommend this blog post:

https://research.google/blog/turbo-an-improved-rainbow-color...

I myself implemented 4 colorize functions for that. Common linear Blue -> Red. Linear Blue -> Red adjusted via Green for visibility. Blue -> Yellow -> Red also linear. And of course Turbo from that blog..

xenobeb a day ago

It is great but of course people are going to shit on it because what fun would it be without being negative.

smjburton 2 days ago

This is great, thank you for sharing. I need something like this for my current project I'm working on... Much easier than trying to build a color palette manually.

dark-star 2 days ago

Definitely not colorblind-friendly (color contrast too low)

divbzero 2 days ago

Does using a range of hues generate colors that can be differentiated by those of us who are color blind?

clintmcmahon 2 days ago

This will come in very handy for me. Thanks for working on this and putting out there.

Western0 2 days ago

I need output: * gnuplot pallete * css for web page