> Today we are happy to introduce Turbo, a new colormap that has the desirable properties of Jet while also addressing some of its shortcomings, such as false detail, banding and color blindness ambiguity.
What are the desirable properties of Jet? Why not use Viridis or Magma or any of the recent linear colormaps from matplotlib 2.0? These shortcomings were the exact reason why Viridis was created as exemplified in this brilliant talk: https://www.youtube.com/watch?v=xAoljeRJ3lU
I don't understand the point of Turbo.
> Turbo mimics the lightness profile of Jet, going from low to high back down to low, without banding. As such, its lightness slope is generally double that of Viridis, allowing subtle changes to be more easily seen. This is a valuable feature, since it greatly enhances detail when color can be used to disambiguate the low and high ends.
Why would anyone want low-to-high-to-low colormap?
> Viridis is a linear color map that is generally recommended when false color is needed because it is pleasant to the eye and it fixes most issues with Jet. Inferno has the same linear properties of Viridis, but is higher contrast, making it better for picking out detail. However, some feel that it can be harsh on the eyes. While this isn’t a concern for publishing, it does affect people’s choice when they must spend extended periods examining visualizations.
Personal taste vs scientific accuracy - I will take the latter unless we are doing plots for marketing materials. In my view this is not substantiated reason for going off and creating a more pleasant version of Jet; Turbo is still inaccurate and deceiving.
This is a deplorable attempt at creating a new colormap where the problem statement isn't clear in the first place.
> What are the desirable properties of Jet? Why not use Viridis or Magma
"The background in the following images is barely distinguishable with Inferno (which is already punchier than Viridis), but clear with Turbo." (and presumably also Jet)
> Why would anyone want low-to-high-to-low colormap?
I'm assuming because "it greatly enhances detail when color can be used to disambiguate the low and high ends" and "to make cases where low values appear next to high values more distinct".
> "The background in the following images is barely distinguishable with Inferno (which is already punchier than Viridis), but clear with Turbo." (and presumably also Jet)
This has to do with the dynamic range of the plot - if the author wants to show the difference in a small region (say foreground or background or some region of the plot), clip the plot to that specific region to show it in a smaller dynamic range. Using a non-linear colormap to highlight differences in a particular region of the colormap defeats the entire point of having a colormap - its purpose to display data with perceptual linearity.
Horses for courses, I think. Let's say you are plotting the pressure distribution on two different racing car wings (spoilers), side by side. If you're trying to say "this wing gives 2.4% more downforce than that one", you would use Viridis or Inferno. But if you are trying to say "look at how the F1 car wing is different to the Indy car wing", then something like Turbo is better suited.
Basically, I posit that sacrificing perceptual linearity for increased hue range can be worth it for conveying qualitative information.
I disagree. That’s still not a good way to show difference. Why not use a discrete color scheme for displaying differences? There is no reason to use a continuous color map, distort it and show qualitative differences - a continuous colormap is used for continuous variables.
It’s too bad you were down-voted. Your skepticism is pretty reasonable.
> What are the desirable properties of Jet?
Pretty much the only desirable property is that it used to be the Matlab default, and therefore has been used frequently and people are familiar with it.
Taking it as a starting point for a design is quite a poor choice. The design process here is pretty much just “we took jet and applied some blur to the apparent lightness”; this is not a principled or careful method, in my opinion.
One good use for this new color map might be: “My ignorant boss keeps insisting on using the jet color map even though it is terrible. I can drop this one in and he won’t notice the difference but it will be somewhat better, even if still problematical in many ways.”
> Why would anyone want low-to-high-to-low colormap?
This is sometimes called a “diverging” color map, and can be useful when e.g. you want to make choropleth map highlighting percentage of voters for Party A vs. Party B. You can make a 1/2:1/2 split of voters light and neutrally colored, and make the color get darker but with two different hues as the proportion gets more lopsided in favor of one party or the other.
But the lightness map on each side should still be more or less linear, and the obvious visual artifact created for the balance point has some concrete meaning.
> It’s too bad you were down-voted. Your skepticism is pretty reasonable.
It would be if all of the concerns were not actually addressed in the article. Nobody is taking inferno away from you, different scales are useful for different usages. Having an additional color dimension makes it easier to see gradients at a glance.
It’s not about whether someone is taking away Inferno or Viridis. It’s about what is effectively lying to your audience and what is accurate perceptually linear representation of the data - the latter triumphs over any aesthetic considerations. There are 4 different color maps from matplotlib 2.0 - you could use a different one if you don’t like the aesthetics.
If this article had come up with an original improvement to Viridis, I’d be praising it.
Also, Turbo doesn’t give a fuck about colorblind considerations whereas Inferno and Viridis does.
I am pretty sure the scale should be always put somewhere next to the heat map so the audience can make their own judgement. A rainbow colormap gives you more depth than a single or dual hue one, I think that both have their merit depending on the data to visualize.
> Also, Turbo doesn’t give a fuck about colorblind considerations whereas Inferno and Viridis does.
There is a whole section of the article dedicated to that.
> this is not a principled or careful method, in my opinion
This is what surprised me. I expected work from Google AI to be based on some sound and novel theory, but this is literally just "we tweaked it until it looked okay on our monitor at the time".
I think my comment was downvoted for the tone rather than content. I am just frustrated that according to HN, it’s ok to create random color scheme with no clear objective problem statement and perpetuate the Jet...uhhh Turbo. It took a tremendous effort to make Viridis a default matplotlib colormap.
Using Jet or Turbo is literally lying to your audience.
What are the desirable properties of Jet? Why not use Viridis or Magma or any of the recent linear colormaps from matplotlib 2.0? These shortcomings were the exact reason why Viridis was created as exemplified in this brilliant talk: https://www.youtube.com/watch?v=xAoljeRJ3lU
I don't understand the point of Turbo.
> Turbo mimics the lightness profile of Jet, going from low to high back down to low, without banding. As such, its lightness slope is generally double that of Viridis, allowing subtle changes to be more easily seen. This is a valuable feature, since it greatly enhances detail when color can be used to disambiguate the low and high ends.
Why would anyone want low-to-high-to-low colormap?
> Viridis is a linear color map that is generally recommended when false color is needed because it is pleasant to the eye and it fixes most issues with Jet. Inferno has the same linear properties of Viridis, but is higher contrast, making it better for picking out detail. However, some feel that it can be harsh on the eyes. While this isn’t a concern for publishing, it does affect people’s choice when they must spend extended periods examining visualizations.
Personal taste vs scientific accuracy - I will take the latter unless we are doing plots for marketing materials. In my view this is not substantiated reason for going off and creating a more pleasant version of Jet; Turbo is still inaccurate and deceiving.
This is a deplorable attempt at creating a new colormap where the problem statement isn't clear in the first place.