我有广告 1 ×d 2 数组A
的整数值,并希望颜色代码在xy平面上以缩放到的矩形显示它们d 1 ×d 2 使用与该位置的数组值匹配的颜色。我还想显示颜色图表,它指示哪个颜色的大小如下图所示: -
是否有一个简单的代码可以做到这一点?
或者这种图表是否需要特殊包装?
这是否有效('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
答案 0 :(得分:1)
尝试contourf
功能,然后添加colorbar
contourf(A)
colorbar
答案 1 :(得分:1)
创建此类情节不需要外部库或特殊包。您可以使用contourf
绘制数据。然后,将colormap设置为gray
。使用caxis
,您可以控制颜色范围。 colorbar
显示右侧的栏。
结果如下:
以下是代码:
% 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');