1

我有 5 个不同的值,我想创建一个图例?这些是连续数据,我需要彩色小方块! 如何在matlab的imagesc图中添加图例类似这样的东西,但用正方形,我尝试用“矩形”替换“线”,但这显然不是诀窍!

谢谢

4

1 回答 1

2

我只是使用了您链接的示例代码并对其进行了一些修改:

 N=4;                       %  # of data types, hence legend entries
 Data = randi(N,30,30);     % generate fake data
 imagesc(Data)              % image it
 cmap = jet(N);             % assigen colormap
 colormap(cmap)
 hold on

 markerColor = mat2cell(cmap,ones(1,N),3);
 L = plot(ones(N), 'LineStyle','none','marker','s','visible','off');      
 set(L,{'MarkerFaceColor'},markerColor,{'MarkerEdgeColor'},markerColor);   
 legend('A','B','C','D')

诀窍是使用标记而不是线本身。

它返回:

在此处输入图像描述

于 2014-06-01T21:26:06.153 回答