为什么我使用相同的MATLAB代码得到不同颜色的图像?

3

我写的 MATLAB 代码是:

FigHandle = figure;
set(FigHandle, 'Position', [0, 0, 1060, 140]);
load('velocity0.dat')
v=reshape(velocity0,106,14)
vt=transpose(v)
pim=imagesc(vt) ;
set(gca,'XTickLabel',{'1','2','3','4','5','6','7','8','9','10'}, 'FontSize',11)
set(gca,'YTickLabel',{'0.15','0.35','0.55','0.75','0.95','1.15','1.35'}, 'FontSize',11)
xlabel('distance(km)')
ylabel('depth(km)')
C = colorbar('location','EastOutside');
caxis([2928,5553])

set(get(C,'XLabel'),'String','velocity(m/s)', 'FontSize',11)

我正在尝试完成一篇科学期刊的论文。审稿人要求提供新的图片。然而,我已经超过一年没有使用该代码,并且我在新工作中没有安装MATLAB。因此,我向我的朋友求助并得到了下面这张图片。

enter image description here

之前,图片过去是这样的:

enter image description here

我需要更改代码才能获得所需的颜色吗?这是一个颜色条的问题吗?

1个回答

7
你的朋友正在使用R2014b或更高版本,其中默认的颜色映射是parula颜色映射。你之前获得的结果使用的是R2014b之前的默认颜色映射,即jet颜色映射。如有关默认颜色映射的文档所述:

colormap default使用默认颜色映射,这是具有64种颜色的parula颜色映射。在R2014b之前的MATLAB®版本中,默认值为jet

因此,如果你想在MATLAB R2014b或更高版本中显示这个颜色映射的结果,只需调用:
colormap jet;

在你的代码最后加上这段代码将解决你的问题。不过,不要被颜色所迷惑。你关心的是你的数据是否遵循右侧颜色条的分布。颜色主要只是用于视觉展示。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接