将 Matlab 颜色绘制为垂直条

Ale*_*lex 1 matlab visualization colors lab-color-space

我偶然发现了这个文件交换提交,给定一个正整数,它会生成许多“最大可区分”的颜色。该工具运行良好,但我想用彩色垂直带可视化它生成的颜色。一个例子,取自链接的博客文章:

关于颜色的选择:

ans =
         0         0    1.0000
    1.0000         0         0
         0    1.0000         0
         0         0    0.1724
    1.0000    0.1034    0.7241
    1.0000    0.8276         0
         0    0.3448         0
Run Code Online (Sandbox Code Playgroud)

我们在左侧获得了显示这些颜色的垂直带。

zel*_*nix 5

一个相当简单的方法如下:

a = [     0         0    1.0000 ;
     1.0000         0         0 ;
          0    1.0000         0 ;
          0         0    0.1724 ;
     1.0000    0.1034    0.7241 ;
     1.0000    0.8276         0 ;
          0    0.3448         0 ]

figure
imagesc(1:size(a, 1));
colormap(a);
% Optional, but neatens things up a bit
set(gca, 'clim', [0.5 (size(a, 1) + 0.5)]);

% Also optional, removes the ticks from the axes
set(gca, 'xtick', [], 'ytick', []);
Run Code Online (Sandbox Code Playgroud)

输出:

在此处输入图片说明