RFC: candidates for a new default colormap

Hi all,

As was hinted at in a previous thread, Stéfan van der Walt and I have
been using some Fancy Color Technology to attempt to design a new
colormap intended to become matplotlib's new default. (Down with jet!)

Unfortunately, while our Fancy Color Technology includes a
computational model of perceptual distance, it does not include a
computational model of aesthetics. So this is where you come in.

We've put up three reasonable candidates at:
    https://bids.github.io/colormap/
(along with some well-known colormaps for comparison), and we'd like
your feedback.

They are all optimal on all of the objective criteria we know how to
measure. What we need judgements on is which one you like best, both
aesthetically and as a way of visualizing data. (There are some sample
plots to look at there, plus you can download them and play with them
on your own data if you want.)

We especially value input from anyone with anomalous color vision.
There are some simulations there, but computational models are
inherently limited here. (It's difficult to ask someone with
colorblindness "does this look to you, the same way this other picture
looks to me?")

-n

···

--
Nathaniel J. Smith -- http://vorpus.org

Sorry for send you two emails, Nathaniel.

I’m going to vote for A with C as a close second.

Of the three, B looks the most “bandy” to me (but not overly so).

-p

···

On Tue, Jun 2, 2015 at 6:46 PM, Nathaniel Smith <njs@…503…> wrote:

Hi all,

As was hinted at in a previous thread, Stéfan van der Walt and I have

been using some Fancy Color Technology to attempt to design a new

colormap intended to become matplotlib’s new default. (Down with jet!)

Unfortunately, while our Fancy Color Technology includes a

computational model of perceptual distance, it does not include a

computational model of aesthetics. So this is where you come in.

We’ve put up three reasonable candidates at:

[https://bids.github.io/colormap/](https://bids.github.io/colormap/)

(along with some well-known colormaps for comparison), and we’d like

your feedback.

They are all optimal on all of the objective criteria we know how to

measure. What we need judgements on is which one you like best, both

aesthetically and as a way of visualizing data. (There are some sample

plots to look at there, plus you can download them and play with them

on your own data if you want.)

We especially value input from anyone with anomalous color vision.

There are some simulations there, but computational models are

inherently limited here. (It’s difficult to ask someone with

colorblindness "does this look to you, the same way this other picture

looks to me?")

-n

Nathaniel J. Smith – http://vorpus.org



Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Thank you!

I am leaning toward B; to me, it seems to have a little more dynamic range than the other two, and a better range and balance of colors. I can imagine situations in which A or C might be better; we can have all three available as named options, but I think B will server best as the default.

Eric

···

On 2015/06/02 3:46 PM, Nathaniel Smith wrote:

Hi all,

As was hinted at in a previous thread, Stéfan van der Walt and I have
been using some Fancy Color Technology to attempt to design a new
colormap intended to become matplotlib's new default. (Down with jet!)

Unfortunately, while our Fancy Color Technology includes a
computational model of perceptual distance, it does not include a
computational model of aesthetics. So this is where you come in.

We've put up three reasonable candidates at:
     matplotlib colormaps
(along with some well-known colormaps for comparison), and we'd like
your feedback.

Great work! Very nice post describing the methodology. I especially like the choice of images you used to expose differences between colormaps.

My ranking is:

  1. C

  2. A

  3. B

To my eyes, C has the highest dynamic range (somehow the opposite of Eric!) and I like the purple/blue undertone in the dark colors.

···

On Tue, Jun 2, 2015 at 8:00 PM Eric Firing <efiring@…229…> wrote:

On 2015/06/02 3:46 PM, Nathaniel Smith wrote:

Hi all,

As was hinted at in a previous thread, Stéfan van der Walt and I have

been using some Fancy Color Technology to attempt to design a new

colormap intended to become matplotlib’s new default. (Down with jet!)

Unfortunately, while our Fancy Color Technology includes a

computational model of perceptual distance, it does not include a

computational model of aesthetics. So this is where you come in.

We’ve put up three reasonable candidates at:

 [https://bids.github.io/colormap/](https://bids.github.io/colormap/)

(along with some well-known colormaps for comparison), and we’d like

your feedback.

Thank you!

I am leaning toward B; to me, it seems to have a little more dynamic

range than the other two, and a better range and balance of colors. I

can imagine situations in which A or C might be better; we can have all

three available as named options, but I think B will server best as the

default.

Eric



Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Great work! Very nice post describing the methodology. I especially like the
choice of images you used to expose differences between colormaps.

Thanks!

My ranking is:
1. C
2. A
3. B

To my eyes, C has the highest dynamic range (somehow the opposite of Eric!)
and I like the purple/blue undertone in the dark colors.

Unfortunately it's going to depend a bit on individual variations in
monitors (and eyes!).

Bonus points for anyone who sends in feedback based on viewing the
test images on your department's most terrible projector :-).

-n

···

On Tue, Jun 2, 2015 at 9:01 PM, Olga Botvinnik <obotvinn@...170...> wrote:

--
Nathaniel J. Smith -- http://vorpus.org

  1. C

  2. B

  3. A

But I wouldn’t call them aesthetic - the purple in there just looks off - I’d prefer something like hot, afmhot, or gist_heat - or variations on those.

Since this thread is bound to get plenty of attention (I suggest getting feedback from -users, too), we would be remiss if we didn’t point those who didn’t already see the writeup of colormaps that Kristen Thyng and colleagues did in the docs [1]. Also, I added a pointer to this thread over on #875 [2].

  1. http://matplotlib.org/users/colormaps.html
  2. https://github.com/matplotlib/matplotlib/issues/875

It’s astonishing how many different opinions we have!

Anyway, first of all, a big thank you to Nathaniel and Stéfan for some kick-ass work. I’m amazed at the perceptual delta results for Parula… 8-O Good to know that MPL will not make the same mistake.

Second, my preferences:

A > B > C.

I particularly like that A ends on the white end of the spectrum, giving it a “softer” look and a better gradation in grayscale. I’d discard C out of hand because it doesn’t span the full luminance range, which is measured by the much lower total perceptual delta in grayscale mode.

I’d also discard Paul’s vote out of hand since he voted for C. =P

Finally, here’s a nice wikipedia article to tally the votes:

https://en.wikipedia.org/wiki/Condorcet_criterion

:wink:

Juan.

···

On Wed, Jun 3, 2015 at 3:03 PM, Paul Ivanov <pi@…453…> wrote:

  1. C
  1. B
  1. A

But I wouldn’t call them aesthetic - the purple in there just looks off - I’d prefer something like hot, afmhot, or gist_heat - or variations on those.

Since this thread is bound to get plenty of attention (I suggest getting feedback from -users, too), we would be remiss if we didn’t point those who didn’t already see the writeup of colormaps that Kristen Thyng and colleagues did in the docs [1]. Also, I added a pointer to this thread over on #875 [2].

  1. http://matplotlib.org/users/colormaps.html
  2. https://github.com/matplotlib/matplotlib/issues/875


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

1. C
2. B
3. A

But I wouldn't call them aesthetic - the purple in there just looks off -
I'd prefer something like hot, afmhot, or gist_heat - or variations on
those.

It turns out that it's very difficult to go ~blue to anything like a
red to ~white/yellow, while keeping to our other constraints
(perceptual uniformity in both color and black-and-white). The problem
is that red is way off in a corner of the sRGB color space --
basically anything near red but brighter takes you outside of sRGB.
But you *must* get brighter at a constant rate, while you can only
move away from the corner at a fixed speed, so you tend to
overshoot...

That said, if you want to play around with the editor tool, it's
linked on the webpage :-). Drag to move spline control points,
shift-click to add a control point, control-click to delete a control
point, bottom bars let you set the min/max lightness, and click the
colormap on the side to select which hue/saturation slice of color
space you want the left pane to show. (The game is to keep the yellow
dot inside the slice.) If it starts acting weird try tapping your
modifier keys, sometimes that fixes things.

Since this thread is bound to get plenty of attention (I suggest getting
feedback from -users, too), we would be remiss if we didn't point those who
didn't already see the writeup of colormaps that Kristen Thyng and
colleagues did in the docs [1]. Also, I added a pointer to this thread over
on #875 [2].

1. http://matplotlib.org/users/colormaps.html
2. Replace "jet" as the default colormap · Issue #875 · matplotlib/matplotlib · GitHub

I'm not on -users, but please do distribute the link far and wide to
whoever you think might be interested! With, again, major bonus points
for feedback on colorblindness-friendliness and readability under
adverse display conditions like lousy projectors, since IMO at this
point they're all pretty decent when viewed under optimal conditions.

-n

···

On Tue, Jun 2, 2015 at 10:03 PM, Paul Ivanov <pi@...453...> wrote:

--
Nathaniel J. Smith -- http://vorpus.org

I particularly like that A ends on the white end of the spectrum

That's exactly why I don't like A that much.

In many plots, I need a color for NaN results. This color should not
fall within the normal range of the colormap. In case of B and C, it
would be possible to use white as NaN color. When using white for NaN
in A, it would just look like large values. So I guess I'm voting

   B > C > A

-- Andreas.

You can always use green for NaN with any of these maps…

···


Sent from Mailbox

On Wed, Jun 3, 2015 at 4:30 PM, Andreas Hilboll <lists@…1159…> wrote:

I particularly like that A ends on the white end of the spectrum

That’s exactly why I don’t like A that much.

In many plots, I need a color for NaN results. This color should not

fall within the normal range of the colormap. In case of B and C, it

would be possible to use white as NaN color. When using white for NaN

in A, it would just look like large values. So I guess I’m voting

B > C > A

– Andreas.



Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

matplotlib-devel List Signup and Options

You can always use green for NaN with any of these maps...

In grayscale that then wouldn't be distinguishable at all ...

···

On 03.06.2015 08:54, Juan Nunez-Iglesias wrote:

On Wed, Jun 3, 2015 at 4:30 PM, Andreas Hilboll <lists@...1159... > <mailto:lists@…1159…>> wrote:

    > I particularly like that A ends on the white end of the spectrum

    That's exactly why I don't like A that much.

    In many plots, I need a color for NaN results. This color should not
    fall within the normal range of the colormap. In case of B and C, it
    would be possible to use white as NaN color. When using white for NaN
    in A, it would just look like large values. So I guess I'm voting

    B > C > A

    -- Andreas.

    ------------------------------------------------------------------------------

    _______________________________________________
    Matplotlib-devel mailing list
    Matplotlib-devel@lists.sourceforge.net
    matplotlib-devel List Signup and Options

--
-- Andreas.

I assume these are all going to be available as colormaps?

I prefer C, the others seem to dark. Having too much black doesn't strike
me as very aesthetically pleasing.

So I would say C > B > A

···

On Wed, Jun 3, 2015 at 3:46 AM, Nathaniel Smith <njs@...503...> wrote:

Hi all,

As was hinted at in a previous thread, Stéfan van der Walt and I have
been using some Fancy Color Technology to attempt to design a new
colormap intended to become matplotlib's new default. (Down with jet!)

Unfortunately, while our Fancy Color Technology includes a
computational model of perceptual distance, it does not include a
computational model of aesthetics. So this is where you come in.

We've put up three reasonable candidates at:
    matplotlib colormaps
(along with some well-known colormaps for comparison), and we'd like
your feedback.

They are all optimal on all of the objective criteria we know how to
measure. What we need judgements on is which one you like best, both
aesthetically and as a way of visualizing data. (There are some sample
plots to look at there, plus you can download them and play with them
on your own data if you want.)

We especially value input from anyone with anomalous color vision.
There are some simulations there, but computational models are
inherently limited here. (It's difficult to ask someone with
colorblindness "does this look to you, the same way this other picture
looks to me?")

-n

Andreas, sure, it would only be available in colour. But there’s other ways to mark NaNs, which, after all, should be exceptional, not a major chunk of your data. I don’t know enough about your use-case to comment on an exact solution but I do think that NaN display should not drive design.

I second Todd though — I would really love to have all of these available so people can choose.

But the issue of branding with the default is also important, so that doesn’t diminish the discussion ahead… Which looks like it will be intense! =)

Juan.

···

On Wed, Jun 3, 2015 at 5:04 PM, Andreas Hilboll <lists@…1159…> wrote:

On 03.06.2015 08:54, Juan Nunez-Iglesias wrote:

You can always use green for NaN with any of these maps…

In grayscale that then wouldn’t be distinguishable at all …

On Wed, Jun 3, 2015 at 4:30 PM, Andreas Hilboll <lists@…1159…

mailto:lists@...1159...> wrote:

> I particularly like that A ends on the white end of the spectrum
That's exactly why I don't like A that much.
In many plots, I need a color for NaN results. This color should not
fall within the normal range of the colormap. In case of B and C, it
would be possible to use white as NaN color. When using white for NaN
in A, it would just look like large values. So I guess I'm voting
B > C > A
-- Andreas.
------------------------------------------------------------------------------
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
[https://lists.sourceforge.net/lists/listinfo/matplotlib-devel](https://lists.sourceforge.net/lists/listinfo/matplotlib-devel)


– Andreas.



Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Personally, just looking at the images I think B looks more professional, the others look faded. With A and B I see more of "contrast" in the core of the radial image (though that might arise from a combination of my monitor/eyes, though I usually do quite well in colour perception tests).

I think we really need to see a variety of real examples before we make a decision though, both in application a.k.a different type of datasets, including ones with NaNs; and different graph types, the 3d example will make for a good test as we get the same information twice, from height and colour, which gives us a reference for comparison.

With the NaNs Andreas, why did you pick B over C? My eyes see B going to white as well, only C as far as I can tell does not go to white.

Looking forward to having a play later :). I wonder what Parula-based colormap would look like if we were to make it linear... one other thing, mpl currently doesn't select good bounds with pure horizontal/vertical lines, making it very difficult (at least for me) to see the perceptual deltas, zoomed in to option_c the line gets completely hidden by the axes...

···

On 03/06/15 09:04, Andreas Hilboll wrote:

On 03.06.2015 08:54, Juan Nunez-Iglesias wrote:

You can always use green for NaN with any of these maps...

In grayscale that then wouldn't be distinguishable at all ...

On Wed, Jun 3, 2015 at 4:30 PM, Andreas Hilboll <lists@...1159... >> <mailto:lists@…1159…>> wrote:

     > I particularly like that A ends on the white end of the spectrum

     That's exactly why I don't like A that much.

     In many plots, I need a color for NaN results. This color should not
     fall within the normal range of the colormap. In case of B and C, it
     would be possible to use white as NaN color. When using white for NaN
     in A, it would just look like large values. So I guess I'm voting

     B > C > A

     -- Andreas.

     ------------------------------------------------------------------------------

     _______________________________________________
     Matplotlib-devel mailing list
     Matplotlib-devel@lists.sourceforge.net
     matplotlib-devel List Signup and Options

It doesn’t sound like this is going to be decided by email votes, but just so the arguments for C don’t dominate, my vote would be:

B > A >> C

C has the least perceptual range (that’s quantifiable, right?). Also, I find A and B much more aesthetically pleasing (that’s obviously debatable). In particular, the yellows and blues in C have a slight visual vibration. Actually, if you google “visual vibration”, one of the first hits is a yellow and violet image. B would have this to a certain extent, but it’s much more problematic if those colors are at the limits of the colormap range. It looks like A wouldn’t have this problem at all since it’s white point has a very muted yellow tone, so maybe I’ll switch my vote to A. (Personally, it’s a toss up between the two; anything but C, if I haven’t made myself clear :wink:

Thanks to Nathaniel and Stéfan for putting this together! Hopefully “jet” can be banished soon :slight_smile:

-Tony

···

On Wed, Jun 3, 2015 at 5:20 AM, OceanWolf <juichenieder-nabb@…705…> wrote:

Personally, just looking at the images I think B looks more

professional, the others look faded. With A and B I see more of

“contrast” in the core of the radial image (though that might arise from

a combination of my monitor/eyes, though I usually do quite well in

colour perception tests).

I think we really need to see a variety of real examples before we make

a decision though, both in application a.k.a different type of datasets,

including ones with NaNs; and different graph types, the 3d example will

make for a good test as we get the same information twice, from height

and colour, which gives us a reference for comparison.

With the NaNs Andreas, why did you pick B over C? My eyes see B going

to white as well, only C as far as I can tell does not go to white.

Looking forward to having a play later :). I wonder what Parula-based

colormap would look like if we were to make it linear… one other

thing, mpl currently doesn’t select good bounds with pure

horizontal/vertical lines, making it very difficult (at least for me) to

see the perceptual deltas, zoomed in to option_c the line gets

completely hidden by the axes…

On 03/06/15 09:04, Andreas Hilboll wrote:

On 03.06.2015 08:54, Juan Nunez-Iglesias wrote:

You can always use green for NaN with any of these maps…

In grayscale that then wouldn’t be distinguishable at all …

On Wed, Jun 3, 2015 at 4:30 PM, Andreas Hilboll <lists@…1159…

mailto:lists@...1159...> wrote:

 > I particularly like that A ends on the white end of the spectrum
 That's exactly why I don't like A that much.
 In many plots, I need a color for NaN results. This color should not
 fall within the normal range of the colormap. In case of B and C, it
 would be possible to use white as NaN color. When using white for NaN
 in A, it would just look like large values. So I guess I'm voting
 B > C > A
 -- Andreas.
 ------------------------------------------------------------------------------
 _______________________________________________
 Matplotlib-devel mailing list
 Matplotlib-devel@lists.sourceforge.net
 [https://lists.sourceforge.net/lists/listinfo/matplotlib-devel](https://lists.sourceforge.net/lists/listinfo/matplotlib-devel)


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Hash: SHA1

I'm also in the B > A > C camp, FWIW. I agree with OceanWolf

in that B looks most professional. It looks much crisper than the
others as well.

      > It doesn't sound like this is

going to be decided by email votes, but just so the arguments for
C don’t dominate, my vote would be:

  >

  > B > A >> C

  >

  > C has the least perceptual range (that's quantifiable,

right?). Also, I find A and B much more aesthetically pleasing
(that’s obviously debatable). In particular, the yellows and blues
in C have a slight visual vibration. Actually, if you google
“visual vibration”, one of the first hits is a yellow and violet
image .
B would have this to a certain extent, but it’s much more
problematic if those colors are at the limits of the colormap
range. It looks like A wouldn’t have this problem at all since
it’s white point has a very muted yellow tone, so maybe I’ll
switch my vote to A. (Personally, it’s a toss up between the two;
anything but C, if I haven’t made myself clear :wink:

Thanks to Nathaniel and Stéfan for putting this together!
Hopefully “jet” can be banished soon :slight_smile:

-Tony

Personally, just looking at the images I think B looks

more

professional, the others look faded.  With A and B I see

more of

"contrast" in the core of the radial image (though that

might arise from

a combination of my monitor/eyes, though I usually do

quite well in

colour perception tests).

I think we really need to see a variety of real examples

before we make

a decision though, both in application a.k.a different

type of datasets,

including ones with NaNs; and different graph types, the

3d example will

make for a good test as we get the same information

twice, from height

and colour, which gives us a reference for comparison.

With the NaNs Andreas, why did you pick B over C?  My

eyes see B going

to white as well, only C as far as I can tell does not go

to white.

Looking forward to having a play later :).  I wonder what

Parula-based

colormap would look like if we were to make it linear...

one other

thing, mpl currently doesn't select good bounds with pure
horizontal/vertical lines, making it very difficult (at

least for me) to

see the perceptual deltas, zoomed in to option_c the line

gets

completely hidden by the axes...

>> You can always use green for NaN with any of

these maps…

> In grayscale that then wouldn't be distinguishable

at all …

>
>>
>>      > I particularly like that A ends on the

white end of the spectrum

>>
>>      That's exactly why I don't like A that

much.

>>
>>      In many plots, I need a color for NaN

results. This color should not

>>      fall within the normal range of the

colormap. In case of B and C, it

>>      would be possible to use white as NaN

color. When using white for NaN

>>      in A, it would just look like large values.

So I guess I’m voting

···

https://web.njit.edu/~mmp57/visual%20vibration.jpg

juichenieder-nabb@…705…mailto:juichenieder-nabb@...705...

lists@…1159…mailto:lists@...1159...
mailto:lists@…1159…mailto:lists@...1159...

Matplotlib-devel@lists.sourceforge.netmailto:Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Matplotlib-devel@lists.sourceforge.netmailto:Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

One of the big advantage of jet as evidenced by these graphs is that for most of its range, the perceptual delta is above 200 (although it loses that advantage in black&white). Parula sacrafices a fair amount of perceptual delta, but stays mostly above 100. All of the options beat or matches Parula in this respect overall, even in B&W mode.

However, I wonder just how much should we hold fast to a constant perceptual delta? As we see with grayscale, perceptual delta is not constant with respect to luminosity. Keep in mind that our “perceptual delta” measure is just a model, and I don’t think it properly takes into account luminosity. So, perhaps it might make sense to be a little bit flexible with perceptual delta (maybe something like an exponental decay). Nothing jerky like Parula or Jet, but something to help us out on the ends of the map?

By the way, I have seen Parula in action for the display of water vapor over Africa, and it looks very nice. Perhaps a real-world example image might be some sort of geographical map of something familiar across all disciplines like a terrain map of a continent?

Ben Root

···

On Wed, Jun 3, 2015 at 9:55 AM, Paul Ganssle <pganssle@…149…> wrote:

-----BEGIN PGP SIGNED MESSAGE-----

Hash: SHA1

 

I'm also in the B > A > C camp, FWIW. I agree with OceanWolf

in that B looks most professional. It looks much crisper than the
others as well.

On 6/3/2015 08:50, Tony Yu wrote:

      > It doesn't sound like this is

going to be decided by email votes, but just so the arguments for
C don’t dominate, my vote would be:

  >

  > B > A >> C

  >

  > C has the least perceptual range (that's quantifiable,

right?). Also, I find A and B much more aesthetically pleasing
(that’s obviously debatable). In particular, the yellows and blues
in C have a slight visual vibration. Actually, if you google
“visual vibration”, one of the first hits is a yellow and violet
image https://web.njit.edu/~mmp57/visual%20vibration.jpg .
B would have this to a certain extent, but it’s much more
problematic if those colors are at the limits of the colormap
range. It looks like A wouldn’t have this problem at all since
it’s white point has a very muted yellow tone, so maybe I’ll
switch my vote to A. (Personally, it’s a toss up between the two;
anything but C, if I haven’t made myself clear :wink:

  >

  > Thanks to Nathaniel and Stéfan for putting this together!

Hopefully “jet” can be banished soon :slight_smile:

  >

  > -Tony

  >

  > On Wed, Jun 3, 2015 at 5:20 AM, OceanWolf

<juichenieder-nabb@…705…
mailto:juichenieder-nabb@...705...> wrote:

  >

  >     Personally, just looking at the images I think B looks

more

  >     professional, the others look faded.  With A and B I see

more of

  >     "contrast" in the core of the radial image (though that

might arise from

  >     a combination of my monitor/eyes, though I usually do

quite well in

  >     colour perception tests).

  >

  >     I think we really need to see a variety of real examples

before we make

  >     a decision though, both in application a.k.a different

type of datasets,

  >     including ones with NaNs; and different graph types, the

3d example will

  >     make for a good test as we get the same information

twice, from height

  >     and colour, which gives us a reference for comparison.

  >

  >     With the NaNs Andreas, why did you pick B over C?  My

eyes see B going

  >     to white as well, only C as far as I can tell does not go

to white.

  >

  >     Looking forward to having a play later :).  I wonder what

Parula-based

  >     colormap would look like if we were to make it linear...

one other

  >     thing, mpl currently doesn't select good bounds with pure

  >     horizontal/vertical lines, making it very difficult (at

least for me) to

  >     see the perceptual deltas, zoomed in to option_c the line

gets

  >     completely hidden by the axes...

  >

  >     On 03/06/15 09:04, Andreas Hilboll wrote:

  >     > On 03.06.2015 08:54, Juan Nunez-Iglesias wrote:

  >     >> You can always use green for NaN with any of

these maps…

  >     > In grayscale that then wouldn't be distinguishable

at all …

  >     >

  >     >> On Wed, Jun 3, 2015 at 4:30 PM, Andreas Hilboll

<lists@…1269…59… mailto:lists@...1159...

  >     >> <mailto:lists@...1159...
  <mailto:lists@...1159...>>> wrote:

  >     >>

  >     >>      > I particularly like that A ends on the

white end of the spectrum

  >     >>

  >     >>      That's exactly why I don't like A that

much.

  >     >>

  >     >>      In many plots, I need a color for NaN

results. This color should not

  >     >>      fall within the normal range of the

colormap. In case of B and C, it

  >     >>      would be possible to use white as NaN

color. When using white for NaN

  >     >>      in A, it would just look like large values.

So I guess I’m voting

  >     >>

  >     >>      B > C > A

  >     >>

  >     >>      -- Andreas.

  >     >>

  >     >>     

  >     >>

  >     >>     

  >     >>      Matplotlib-devel mailing list

  >     >>      Matplotlib-devel@lists.sourceforge.net
  <mailto:Matplotlib-devel@lists.sourceforge.net>

  >     >>     

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

  >     >>

  >     >>

  >     >

  >

  >

  >    

  >     _______________________________________________

  >     Matplotlib-devel mailing list

  >     Matplotlib-devel@lists.sourceforge.net
  <mailto:Matplotlib-devel@lists.sourceforge.net>

  >    

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

  >

  >

  >

  >

  >

  >

  >

  > _______________________________________________

  > Matplotlib-devel mailing list

  > Matplotlib-devel@lists.sourceforge.net

  > [https://lists.sourceforge.net/lists/listinfo/matplotlib-devel](https://lists.sourceforge.net/lists/listinfo/matplotlib-devel)



-----BEGIN PGP SIGNATURE-----


Version: GnuPG v2.0.22 (MingW32)


 

iQIcBAEBAgAGBQJVbwc8AAoJEM1U/OPZZL77c5oP/1KSJloy7ZBVyCOb2Dv2w7fM


+cQAHlSBgzff+/hYf4/vDjvo0MOomP3xq7PwjA5Jeg3eln+Y9wDwarCDWZK5+Kh7


uDil3Rdtx+yC3vUqrICHQkh6Y6b5xiv6eTAV06UA2sUM4TRnXIuLSCCnR/2ntbiY


NGyl7/NPFeYmFJHtGnMmNLhVIZV5a01oc7J6xb/CqQhuYzzi3NwN2tuS27+ouG2G


dOXWXn/f2DdHYONXyjFHQG5NeVxm50r27wZkdk9xhfmo7FaI2939xZQfbeFqUdAO


qspHwddr0PGIQCU8nr/CCzQ93fMPkd3cM3e4Sn1Ulq2yDuQXLIISBkA7ufi45yPt


q1pmFiv9La6vbZZzLLJ47c90fQ1NAe3Jdj4z1x6H4ZhZe8I2zgBhOO4m8meh+gU6


XRfBWFvPCMyGOndSaV18L3YJ7NTl0cdUr6iaqoFK+AyZtcGmQbAhYfs+GTGIGaN8


qyz2Y+HXavYrLO4kQlLoemLeuWo8EDym3zDGe3CgL/7CCDUvEhF5qoyIW67MYWR0


8R1byACucRH8bs6sp5cWiwAzWBst+5a1WHQFtva64WclQe2NrD0gyveX+a27XLxQ


wc2f+nm4MKMfd1Eu8j+i4ln2WeGiAawTagRTakizcU5xfUq8LSzYptOco83HdvH7


npX4K4yVTam7AtGhFr5y


=V4np


-----END PGP SIGNATURE-----


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Just want to chime in and say that they colorblind versions of the maps are pretty nice too. Can those be made available?

It also occurs to me that these are pretty similar to the existing colormap GNUPlot. I don’t know if that’s good or bad, but something to keep in mind if the desire is for matplotlib to standout away from other plotting packages.

-p

···

On Wed, Jun 3, 2015 at 8:38 AM, Benjamin Root <ben.root@…553…> wrote:

One of the big advantage of jet as evidenced by these graphs is that for most of its range, the perceptual delta is above 200 (although it loses that advantage in black&white). Parula sacrafices a fair amount of perceptual delta, but stays mostly above 100. All of the options beat or matches Parula in this respect overall, even in B&W mode.

However, I wonder just how much should we hold fast to a constant perceptual delta? As we see with grayscale, perceptual delta is not constant with respect to luminosity. Keep in mind that our “perceptual delta” measure is just a model, and I don’t think it properly takes into account luminosity. So, perhaps it might make sense to be a little bit flexible with perceptual delta (maybe something like an exponental decay). Nothing jerky like Parula or Jet, but something to help us out on the ends of the map?

By the way, I have seen Parula in action for the display of water vapor over Africa, and it looks very nice. Perhaps a real-world example image might be some sort of geographical map of something familiar across all disciplines like a terrain map of a continent?

Ben Root



Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

On Wed, Jun 3, 2015 at 9:55 AM, Paul Ganssle <pganssle@…149…> wrote:

-----BEGIN PGP SIGNED MESSAGE-----

Hash: SHA1

 

I'm also in the B > A > C camp, FWIW. I agree with OceanWolf

in that B looks most professional. It looks much crisper than the
others as well.

On 6/3/2015 08:50, Tony Yu wrote:

      > It doesn't sound like this is

going to be decided by email votes, but just so the arguments for
C don’t dominate, my vote would be:

  >

  > B > A >> C

  >

  > C has the least perceptual range (that's quantifiable,

right?). Also, I find A and B much more aesthetically pleasing
(that’s obviously debatable). In particular, the yellows and blues
in C have a slight visual vibration. Actually, if you google
“visual vibration”, one of the first hits is a yellow and violet
image https://web.njit.edu/~mmp57/visual%20vibration.jpg .
B would have this to a certain extent, but it’s much more
problematic if those colors are at the limits of the colormap
range. It looks like A wouldn’t have this problem at all since
it’s white point has a very muted yellow tone, so maybe I’ll
switch my vote to A. (Personally, it’s a toss up between the two;
anything but C, if I haven’t made myself clear :wink:

  >

  > Thanks to Nathaniel and Stéfan for putting this together!

Hopefully “jet” can be banished soon :slight_smile:

  >

  > -Tony

  >

  > On Wed, Jun 3, 2015 at 5:20 AM, OceanWolf

<juichenieder-nabb@…705…
mailto:juichenieder-nabb@...705...> wrote:

  >

  >     Personally, just looking at the images I think B looks

more

  >     professional, the others look faded.  With A and B I see

more of

  >     "contrast" in the core of the radial image (though that

might arise from

  >     a combination of my monitor/eyes, though I usually do

quite well in

  >     colour perception tests).

  >

  >     I think we really need to see a variety of real examples

before we make

  >     a decision though, both in application a.k.a different

type of datasets,

  >     including ones with NaNs; and different graph types, the

3d example will

  >     make for a good test as we get the same information

twice, from height

  >     and colour, which gives us a reference for comparison.

  >

  >     With the NaNs Andreas, why did you pick B over C?  My

eyes see B going

  >     to white as well, only C as far as I can tell does not go

to white.

  >

  >     Looking forward to having a play later :).  I wonder what

Parula-based

  >     colormap would look like if we were to make it linear...

one other

  >     thing, mpl currently doesn't select good bounds with pure

  >     horizontal/vertical lines, making it very difficult (at

least for me) to

  >     see the perceptual deltas, zoomed in to option_c the line

gets

  >     completely hidden by the axes...

  >

  >     On 03/06/15 09:04, Andreas Hilboll wrote:

  >     > On 03.06.2015 08:54, Juan Nunez-Iglesias wrote:

  >     >> You can always use green for NaN with any of

these maps…

  >     > In grayscale that then wouldn't be distinguishable

at all …

  >     >

  >     >> On Wed, Jun 3, 2015 at 4:30 PM, Andreas Hilboll

<lists@…1269…59… mailto:lists@...1159...

  >     >> <mailto:lists@...1159...
  <mailto:lists@...1159...>>> wrote:

  >     >>

  >     >>      > I particularly like that A ends on the

white end of the spectrum

  >     >>

  >     >>      That's exactly why I don't like A that

much.

  >     >>

  >     >>      In many plots, I need a color for NaN

results. This color should not

  >     >>      fall within the normal range of the

colormap. In case of B and C, it

  >     >>      would be possible to use white as NaN

color. When using white for NaN

  >     >>      in A, it would just look like large values.

So I guess I’m voting

  >     >>

  >     >>      B > C > A

  >     >>

  >     >>      -- Andreas.

  >     >>

  >     >>     

  >     >>

  >     >>     

  >     >>      Matplotlib-devel mailing list

  >     >>      Matplotlib-devel@lists.sourceforge.net
  <mailto:Matplotlib-devel@lists.sourceforge.net>

  >     >>     

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

  >     >>

  >     >>

  >     >

  >

  >

  >    

  >     _______________________________________________

  >     Matplotlib-devel mailing list

  >     Matplotlib-devel@lists.sourceforge.net
  <mailto:Matplotlib-devel@lists.sourceforge.net>

  >    

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

  >

  >

  >

  >

  >

  >

  >

  > _______________________________________________

  > Matplotlib-devel mailing list

  > Matplotlib-devel@lists.sourceforge.net

  > [https://lists.sourceforge.net/lists/listinfo/matplotlib-devel](https://lists.sourceforge.net/lists/listinfo/matplotlib-devel)



-----BEGIN PGP SIGNATURE-----


Version: GnuPG v2.0.22 (MingW32)


 

iQIcBAEBAgAGBQJVbwc8AAoJEM1U/OPZZL77c5oP/1KSJloy7ZBVyCOb2Dv2w7fM


+cQAHlSBgzff+/hYf4/vDjvo0MOomP3xq7PwjA5Jeg3eln+Y9wDwarCDWZK5+Kh7


uDil3Rdtx+yC3vUqrICHQkh6Y6b5xiv6eTAV06UA2sUM4TRnXIuLSCCnR/2ntbiY


NGyl7/NPFeYmFJHtGnMmNLhVIZV5a01oc7J6xb/CqQhuYzzi3NwN2tuS27+ouG2G


dOXWXn/f2DdHYONXyjFHQG5NeVxm50r27wZkdk9xhfmo7FaI2939xZQfbeFqUdAO


qspHwddr0PGIQCU8nr/CCzQ93fMPkd3cM3e4Sn1Ulq2yDuQXLIISBkA7ufi45yPt


q1pmFiv9La6vbZZzLLJ47c90fQ1NAe3Jdj4z1x6H4ZhZe8I2zgBhOO4m8meh+gU6


XRfBWFvPCMyGOndSaV18L3YJ7NTl0cdUr6iaqoFK+AyZtcGmQbAhYfs+GTGIGaN8


qyz2Y+HXavYrLO4kQlLoemLeuWo8EDym3zDGe3CgL/7CCDUvEhF5qoyIW67MYWR0


8R1byACucRH8bs6sp5cWiwAzWBst+5a1WHQFtva64WclQe2NrD0gyveX+a27XLxQ


wc2f+nm4MKMfd1Eu8j+i4ln2WeGiAawTagRTakizcU5xfUq8LSzYptOco83HdvH7


npX4K4yVTam7AtGhFr5y


=V4np


-----END PGP SIGNATURE-----


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

In our group I also recieved quite mixed responses:
- C B A (2 x)
- B A C
- A B C
- C
- B

One collegue having anomalous color vision
(something between protanomaly and protanopia)
called *all* three versions "harsh" to his eye (like looking into a cars lights at night) and rather unpleasant. �
He considered C as the least unpleasant, but not that easy to look at.

Moreover, he stated that, the parula may be flawed, but at least it doesn�t make one want to look away immediately.

Best, Arnd

A brief poll of my office gave
3 A’s and a B.

One of the A’s came from someone who can’t remember their distinct flavor of color blindness, but definitely gets tripped up by reds and greens.

-p

···

On Wed, Jun 3, 2015 at 1:29 PM, Arnd Baecker <arnd.baecker@…9…> wrote:

In our group I also recieved quite mixed responses:

  • C B A (2 x)

  • B A C

  • A B C

  • C

  • B

One collegue having anomalous color vision

(something between protanomaly and protanopia)

called all three versions “harsh” to his eye (like looking into a cars lights at night) and rather unpleasant.

He considered C as the least unpleasant, but not that easy to look at.

Moreover, he stated that, the parula may be flawed, but at least it doesn’t make one want to look away immediately.

Best, Arnd



Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel