matlab绘制contourf 和 pcolor 卫星数据图caxis并设置colorbar范围

 1 contourf

x = reshape(data1(:,1),1800,1320);
y = reshape(data1(:,2),1800,1320);
z = reshape(h,1800,1320);
[C,H] =contourf(x,y,z,100); % contourf(peaks(20),10);
axis equal
set(H,'LineColor','none');
colormap('jet');
% h=colorbar;
h=colorbar('position',[0.78 0.2 0.02 0.5]); %colorbar([a b c d ]),其中a,b为坐标,c为宽度,d为高度。

h.Label.String = 'Elevation (ft in 1000s)';

caxis([4 10]);  %设置grid显示范围
set(h,'Ylim',[3.2,13.6]);%设置colorbar范围
xlabel('经度/°');ylabel('纬度/°');
print('-djpeg','-r400','厚度图');

matlab绘制contourf 和 pcolor 卫星数据图caxis并设置colorbar范围_第1张图片

2 pcolor:

pcolor(C) 使用矩阵 C 中的值创建伪彩色图。伪彩色图将矩阵数据显示为彩色单元格(称为面)的数组。
MATLAB将此图创建为 x-y 平面。表面由对应于面的角(或顶点)的 x 和 y 坐标网格定义。网格覆盖区域 X=1:n 和 Y=1:m,其中 [m,n] = size(C)。矩阵 C 指定顶点的颜色。每个面的颜色取决于其四个周围顶点之一的颜色。在四个顶点中,x-y 网格中最先出现的那个决定了面的颜色。

pcolor(X,Y,C) 指定顶点的 x 和 y 坐标。 C 的大小必须与 x-y 坐标网格的大小相匹配。例如,如果 X 和 Y 定义一个 m×n 网格,则 C 必须是一个 m×n 矩阵。

pcolor画出来整个图是黑色的?

是因为你用了默认的shading,pcolor默认会带有黑色的格子线。由于格子线太密集导致全图是黑色的,你放大后可以看见你的色块。

matlab绘制contourf 和 pcolor 卫星数据图caxis并设置colorbar范围_第2张图片

解决方法就是关掉shading,输入:
shading flat;

matlab绘制contourf 和 pcolor 卫星数据图caxis并设置colorbar范围_第3张图片

 但是明显仍然存在网格的模糊情况,网格之间的数据缺乏过渡。

解决方法就是关掉shading,输入:
 shading interp

matlab绘制contourf 和 pcolor 卫星数据图caxis并设置colorbar范围_第4张图片

 对数据进行平滑处理

pcolor和surf画出的图形转存为eps或pdf格式出现横竖斜白色虚线网格,完美去掉!!!_matlab pcolor去掉网格_doubleslow;的博客-CSDN博客

你可能感兴趣的:(matlab,经验分享)