MATLAB中的彩色编码2D绘图

时间:2016-07-25 06:29:31

标签: matlab plot

我有广告 1 ×d 2 数组A的整数值,并希望颜色代码在xy平面上以缩放到的矩形显示它们d 1 ×d 2 使用与该位置的数组值匹配的颜色。我还想显示颜色图表,它指示哪个颜色的大小如下图所示: -
Fig 3 of http://home.deib.polimi.it/tubaro/Conferences/2013_WASPAA_2.pdf

是否有一个简单的代码可以做到这一点?
或者这种图表是否需要特殊包装?

这是否有效('A'是带有非负项的矩阵?)

function plot2Ddistprf(A, Length, Breadth)

Amax=max(A(:));
A=A/Amax;

G1 = linspace(0,Length,size(A,1));
G2 = linspace(0,Breadth,size(A,2));

[X,Y] = meshgrid(G1,G2);

% plot data
figure;                     % create a new figure
contourf(X,Y,A);            % plot data as surface
caxis([1,100]);            % set limits of colormap
colorbar;                   % display the colorbar

2 个答案:

答案 0 :(得分:1)

尝试contourf功能,然后添加colorbar

 contourf(A)
 colorbar

答案 1 :(得分:1)

创建此类情节不需要外部库或特殊包。您可以使用contourf绘制数据。然后,将colormap设置为gray。使用caxis,您可以控制颜色范围。 colorbar显示右侧的栏。

结果如下:

result

以下是代码:

% generate sample data
d1 = linspace(-3,3,200);
d2 = linspace(-3,3,200);
[X,Y] = meshgrid(d1,d2);
A = -abs(peaks(X,Y))+100;

% plot data
figure;                     % create a new figure
contourf(X,Y,A);            % plot data as surface

colormap(gray);             % use gray colormap
caxis([91,100]);            % set limits of colormap
colorbar;                   % display the colorbar

title('The Title');
xlabel('y');
ylabel('x');