在 matlab/python 中创建特定的颜色图

不知道问这个问题的最佳地点在哪里,但这里是:

由于我的电脑屏幕出现故障,我得到了一个多年前使用 matlab 制作的图,但在 python 中也可以正常工作,从常规的“热”颜色图变为完全不同的颜色图,如下图所示:

http://img1.mukewang.com/62a8493100015a0000310141.jpg

顶部是原来的热,底部是“故障”,从深蓝色到亮粉色的白色

有谁知道如何故意做到这一点?

事实证明,我更喜欢这种配色方案,但不知道如何/如何正确。


三国纷争
浏览 241回答 2
2回答

天涯尽头无女友

颜色图只是一个 3 列矩阵,其中每一行定义一种颜色。具体来说,这些列分别定义了 R、G、B 分量。因此,您可以手动创建颜色图。例如,可以通过将 B 分量设置为 1 并让其他两个范围从 0 到 1 来生成从蓝色到白色的颜色图:cmap = [linspace(0,1,256).' linspace(0,1,256).' ones(256,1)];colormap(cmap)colorbar('horizontal')通过重新排列颜色图的列,可以实现更接近蓝色/粉色/白色示例的内容hot:cmap = hot(256);cmap = cmap(:,[2 3 1]);colormap(cmap),colorbar('horizontal')BrewerMap该函数可以生成许多漂亮的颜色图,可在File Exchange或GitHub 上找到。手动生成的颜色图的一个问题是它们通常在感知上并不统一。相比之下,Matlab 的许多默认颜色图(如parula或 Python 之类magma)在感知上是统一的。这是关于统一和非统一颜色图的讨论,重点是parula. 您可以通过 Ander Biguri 的File Exchange 功能在 Matlab 中使用 Python 的颜色图。parula这是 Matlab和 Python 的两个示例plasma。在它们中的任何一个中,沿水平轴的相等增量大致对应于对“颜色变化”的类似感知。

冉冉说

看起来您的屏幕只是反转了颜色。如果您想在 MATLAB 中反转颜色图,您可以通过执行以下操作相当简单地做到这一点:colormap(1-hot);这会将热点地图中的红色变为蓝色,将黑色变为白色。如果您希望反过来(即红色 -> 白色,黑色 -> 蓝色),您可以这样做:colormap(1-flipud(hot));这应该适用于任何颜色图。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python