将完整动态范围恢复到颜色图的一个子部分

问题描述

我希望在同一张图上同时散点图两个分布,以便我可以一目了然地看到每个分布以及它们之间的关系。

https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html 显示

enter image description here

...所以如果我从 Viridis 中取出一块,从 plasma 中取出一块,(例如使用 how to extract a subset of a colormap as a new colormap in matplotlib?)我应该很高兴。

但是我失去了完整的动态范围。

有没有什么“hack”可以恢复这个动态范围?

完整的“数学美学”解决方案可能是深入研究颜色图的生成代码并从头开始重新生成,但我怀疑这是深入研究。

解决方法

您如何期望获取颜色图的子集,但仍具有颜色图的完整动态范围? 这不是颜色图的工作原理。

解决这个问题的一种方法是简单地使用两个看起来截然不同的颜色图。 我的 CMasher 包提供了大量的科学颜色图,它们都被设计为在视觉上具有统一的顺序和独特的外观。 您可以轻松找到两个截然不同的颜色图。