[matplotlib-devel] RFC: candidates for a new default colormap

2015-06-02 Thread Nathaniel Smith
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

--
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] RFC: candidates for a new default colormap

2015-06-02 Thread Paul Hobson
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  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/
> (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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>
--
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] RFC: candidates for a new default colormap

2015-06-02 Thread Eric Firing
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/
> (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
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] RFC: candidates for a new default colormap

2015-06-02 Thread Olga Botvinnik
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  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/
> > (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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>
--
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] RFC: candidates for a new default colormap

2015-06-02 Thread Nathaniel Smith
On Tue, Jun 2, 2015 at 9:01 PM, Olga Botvinnik  wrote:
> 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

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

--
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] RFC: candidates for a new default colormap

2015-06-02 Thread Paul Ivanov
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
--
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] RFC: candidates for a new default colormap

2015-06-02 Thread Juan Nunez-Iglesias
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

;)

Juan.

On Wed, Jun 3, 2015 at 3:03 PM, Paul Ivanov  wrote:

> 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
>
>
>
> --
>
> ___
> Matplotlib-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>
>
--
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] RFC: candidates for a new default colormap

2015-06-02 Thread Nathaniel Smith
On Tue, Jun 2, 2015 at 10:03 PM, Paul Ivanov  wrote:
> 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. https://github.com/matplotlib/matplotlib/issues/875

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

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

--
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] RFC: candidates for a new default colormap

2015-06-02 Thread Andreas Hilboll
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] RFC: candidates for a new default colormap

2015-06-02 Thread Juan Nunez-Iglesias
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  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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel--
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel