Color blind-friendly default color cycle #9460
Comments
By colormap, I presume you mean color cycle? Yes, we have been told that
the new color cycle wasn't optimal. However, I think we added a new tableau
color cycle recently that is colorblind friendly. It might only be in
master, though?
…On Tue, Oct 17, 2017 at 1:41 PM, Matthew Petroff ***@***.***> wrote:
The default tab10 qualitative colormap is not color blind friendly, at
least with my form of color blindness; I have difficulty telling the second
and third colors apart. It would be nice to have a new default qualitative
colormap that is color blind friendly, since it's the most commonly used.
As Matplotlib 2 is finding increased adoption, I'm often coming across
plots that I have difficulty reading due to the default colormap.
I find the perceptually uniform sequential colormaps quite nice, since I
can actually read them. It's unfortunate that the same isn't true of the
qualitative colormaps. The new Tableau 10 colormap
<https://www.tableau.com/about/blog/2016/7/colors-upgrade-tableau-10-56782>
is much better in this regard, but I'm guessing that there are intellectual
properties concerns that would bar including it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#9460>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AARy-BykWEvXOjwLQu1Nv0ZV9fyYVJniks5stOaOgaJpZM4P8hb9>
.
|
I think that @mpetroff's point (please correct me if I am wrong) was more that having a not-so-great default (qualitative) color cycle makes a significant number of the plots made with Matplotlib 2 difficult to read for quite a lot of people (including him), as I guess most of the end-users simply rely on the default color cycle. From my own experience, I have to admit that even for non colorblind people, (at least) the first colors of the new default cycle are sometimes difficult to distinguish when printed out in grayscale... Unfortunately, I guess that changing again the default color cycle is not a plausible option before Matplotlib 3 :/ and that the best we can currently do is indeed to provide nice colorblind-friendly color cycles (like #9255), possibly with more “advertising” about them in the relevant part of the documentation. Edit: English... |
In addition, we should try to push for more examples that take advantage of
the property cycles so that we don't even need to rely on color cycling,
but can include cycling of line style, marker, and other properties.
…On Tue, Oct 17, 2017 at 2:26 PM, Adrien F. Vincent ***@***.*** > wrote:
I think that @mpetroff <https://github.com/mpetroff>'s point (please
correct if I am wrong) was more that having a not-so-great *default*
(qualitative) color cycle makes a significant number of the plots made with
Matplotlib 2 difficult to read for quite a lot of people (including him),
as I guess most of the end-users simply rely on the default color cycle.
From my own experience, I have to admit that even for non colorblind
people, (at least) the first colors of the new default cycle are sometimes
difficult to distinguish when printed out in grayscale...
Unfortunately, I guess that changing *again* the default color cycle is
not a plausible option before Matplotlib 3 :/ and that the best we can do
is indeed to provide nice colorblind-friendly color cycles (like #9255
<#9255>), possibly with more
“advertising” about them in the relevant part of the documentation.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#9460 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AARy-NhAtJjALxeTZu44OChMRqZwOZasks5stPApgaJpZM4P8hb9>
.
|
@jklymak I had only searched the issues, not the pull requests, so thanks for pointing that out. As @afvincent surmised, my main point is that the default color cycle should be color blind-friendly, since many people will just use the default. |
I think this is really important and should be fixed as soon as possible. Are there major problems with changing the default color cycle? Would it be possible to do this in |
We consider changes like that to be similar to major API changes. Hence why
the v2.0 release was focused on style changes. This would be a candidate
for a v3.0 release, though.
If we change the color cycle again for v3.0, we should put as much
consideration into it as we did for the colormap for v2.0.
…On Thu, Oct 19, 2017 at 9:35 AM, David Stansby ***@***.***> wrote:
I think this is really important and should be fixed as soon as possible.
Are there major problems with changing the default color cycle? Would it be
possible to do this in 2.2?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#9460 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AARy-CPq0xbM55WzKscPwaynEUYzpL_aks5st1AsgaJpZM4P8hb9>
.
|
I have some ideas for creating a tool for creating color blind-friendly color cycles and quantitative colormaps. The gist of it is to create a color picker that enforces a minimum perceptual distance between the different selected colors both for normal color vision and various degrees of color blindness, such as by using the color blindness simulation and color similarity tools in Colorspacious (these thresholds would be adjustable). I'll see if I can get a prototype together in the next month or so. |
@mpetroff This would be awesome! Any news on this? |
I found time to work on the color cycle picker the last few weeks and was able to mostly finish it. I pushed the code to mpetroff/color-cycle-picker and have a hosted copy at https://colorcyclepicker.mpetroff.net/. Feedback is definitely welcome (but should probably be left on the repository's issue tracker instead of here to avoid clutter). The picker enforces a minimum perceptual distance between colors in CAM02-UCS and a minimum lightness distance. It also simulates protanomaly, deuteranomaly, and tritanomaly and enforces the minimum perceptual distance for the simulated colors, treating each CVD type separately. Colors are picked from a CAM02-UCS gamut. The minimum distances and the severity of the CVD simulation are all configurable. |
Have you heard of I want hue ? It generates color map in a similar fashion as your color picker but with clustering instead. Might be interesting to have a look at their source code. |
It takes a very different approach, and, unfortunately, I find many of the color sets it generates to be hard to distinguish, even when using the "colorblind friendly" preset. The clustering approach is an interesting concept, though. |
It would be great to have this as a default color cycle, but in any case, would it be possible to implement this similar to the "C0", "C1", ... colors as "D0", "D1" etc for example? I would find that incredibly handy, as sometimes one knows about the non-colorblindness of the audience, in which case I would prefer the C0,C1,C2 colors as they are easier to separate, whereas in other situations D0,D1,D2 would be better |
An initiative to introduce the new tableau colors as (non-default) colormap/-cycler is in #12009. It was however not well received. |
Just to be clear, folks know we have an rcParam to set the default cycle in your
|
I've been working on another approach to addressing this issue by combining randomly generated color sets that have an enforced minimum perceptual distance including color vision deficiency simulation with an online survey to collect data on what's aesthetically pleasing: https://colorcyclesurvey.mpetroff.net/ Obviously, this is only useful if I'm able to collect enough survey responses. Details of the technique are included in a pair of blog posts. |
I'm not seeing an action item here so closing, but feel free to reopen if I'm incorrect... |
The action item would be to change the default color cycle to something that's more colorblind friendly. Unfortunately, it's not yet clear what the better default would be. |
OK, fair enough - re-opening and de-milestoning |
Woudl seaborn's It's similar to the current color cycle, making it a relatively small change. |
is seaborn's "colorblind" really colorblind-friendly? Looking at it, I am
not entirely convinced it is.
…On Tue, Jul 9, 2019 at 4:26 AM Anton Akhmerov ***@***.***> wrote:
Woudl seaborn's colorblind
<https://seaborn.pydata.org/tutorial/color_palettes.html#qualitative-color-palettes>
variation of the default palette work?
It's similar to the current color cycle, making it a relatively small
change.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#9460?email_source=notifications&email_token=AACHF6BZGNAXBE6LZLB7HRDP6RDT5A5CNFSM4D7SC362YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZPQNZY#issuecomment-509544167>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AACHF6GSD332LRUXON6WEWDP6RDT5ANCNFSM4D7SC36Q>
.
|
Speaking for my own colorblindness, the second half of the Seaborn palette is not. I find colors 3, 6, and 8 quite similar to each other and also find colors 7 and 10 to be similar to each other as well. |
Thanks, that's unfortunate. |
Just curious, how are you indexing those colors? The colorblind palette is
only shown in the pie-like graph example below the main color cycle "bar",
so your indexing isn't clear to me.
…On Tue, Jul 9, 2019 at 11:19 AM Anton Akhmerov ***@***.***> wrote:
Thanks, that's unfortunate.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#9460?email_source=notifications&email_token=AACHF6FECB3VXC6AFMUAH43P6SUAPA5CNFSM4D7SC362YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZQTHWI#issuecomment-509686745>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AACHF6B6V2RFSWTIVAAZXMLP6SUAPANCNFSM4D7SC36Q>
.
|
The default
tab10
qualitative colormap is not color blind friendly, at least with my form of color blindness; I have difficulty telling the second and third colors apart. It would be nice to have a new default qualitative colormap that is color blind friendly, since it's the most commonly used. As Matplotlib 2 is finding increased adoption, I'm often coming across plots that I have difficulty reading due to the default colormap.I find the perceptually uniform sequential colormaps quite nice, since I can actually read them. It's unfortunate that the same isn't true of the qualitative colormaps. The new Tableau 10 colormap is much better in this regard, but I'm guessing that there are intellectual property concerns that would bar including it.
The text was updated successfully, but these errors were encountered: