matlab_更改曲面颜色_colormap

我们在画三维或高维图像时,matlab默认的颜色表为 parula,parula中没有红色,有些时候图像不是很美观,我们可以切换其他颜色表,这个时候就用上了函数 colormap

matlab内置颜色表大致有以下这些:
matlab_更改曲面颜色_colormap_第1张图片

我们可以根据不同需要选择合适的颜色表:

A=[1.486,3.059,0.1;2.121,4.041,0.1;2.570,3.959,0.1;3.439,4.396,0.1;
4.505,3.012,0.1;3.402,1.604,0.1;2.570,2.065,0.1;2.150,1.970,0.1;
1.794,3.059,0.2;2.121,3.615,0.2;2.570,3.473,0.2;3.421,4.160,0.2;
4.271,3.036,0.2;3.411,1.876,0.2;2.561,2.562,0.2;2.179,2.420,0.2;
2.757,3.024,0.3;3.439,3.970,0.3;4.084,3.036,0.3;3.402,2.077,0.3;
2.879,3.036,0.4;3.421,3.793,0.4;3.953,3.036,0.4;3.402,2.219,0.4;
3.000,3.047,0.5;3.430,3.639,0.5;3.822,3.012,0.5;3.411,2.385,0.5;
3.103,3.012,0.6;3.430,3.462,0.6;3.710,3.036,0.6;3.402,2.562,0.6;
3.224,3.047,0.7;3.411,3.260,0.7;3.542,3.024,0.7;3.393,2.763,0.7];
x=A(:,1);y=A(:,2);z=A(:,3);
%伪彩色图
[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4');%插值
%griddata起自动差值的作用,这样才能画出来一个三维面
%[X,Y,Z]=griddata(x,y,z,XI,YI,'v4'):这里要求XI为行向量,YI为列向量,'v4'属性用于生成平滑曲面
%linspace(x,y)是自动生成从x到y的100数组成的列向量
figure(1)
pcolor(X,Y,Z);
shading interp;%过渡均匀化,去掉网格线
title('默认颜色表,parula')
figure(2)
pcolor(X,Y,Z);
shading interp;%过渡均匀化,去掉网格线
colormap (jet)
title('jet')
figure(3)
pcolor(X,Y,Z);
shading interp;%过渡均匀化,去掉网格线
colormap (flipud(jet))%把最值对应的颜色互换
title('翻转后的jet')
figure(4)
pcolor(X,Y,Z);
shading interp;%过渡均匀化,去掉网格线
colormap (flipud(jet(37)))%使用jet颜色地图中的37种颜色
title('使用jet颜色地图中的37种颜色')

matlab_更改曲面颜色_colormap_第2张图片matlab_更改曲面颜色_colormap_第3张图片

matlab_更改曲面颜色_colormap_第4张图片

matlab_更改曲面颜色_colormap_第5张图片

ax1 = subplot(2,1,1);
contourf(peaks)
colormap(ax1,hot(8))

ax2 = subplot(2,1,2);
contourf(peaks)
colormap(ax2,pink)

matlab_更改曲面颜色_colormap_第6张图片

你可能感兴趣的:(MATLAB,具体函数应用)