matlab做的热力图为什么不是顺滑的过渡

问题遇到的现象和发生背景

matlab做热力图为什么是色块,而不是顺滑的过度

问题相关代码,请勿粘贴截图

clear; clc; close all

[,,raw ] = xlsread('体育设施热力图数据.xlsx');

mat = cell2mat(raw(2:end, 2:end));
imagesc(mat); %生成热图
c=colorbar;
colormap hot;
ylabel(c,'Population Heat');
caxis([1 11]) %更改右侧颜色条最大最小值

xticks(1:13) %x轴分成13等分
xticklabels(raw(1,2:end))
yticks(1:15)
yticklabels(raw(2:end,1))

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

你的数据量有多大?截图发一下看看,可能是数据量较少的原因,预期效果应该用了插值;
而不仅仅是用的imagesc,更像是颜色插值后的伪彩图,建议尝试pcolor()

clc,clear,close all;
data=round(rand(1,900)*100);
data=reshape(data,10,90);
h=pcolor(data);
h.FaceColor = 'interp';
set(h,'LineStyle','none');
clc,clear,close all;
data=round(rand(1,900)*100);
data=reshape(data,10,90);
h=pcolor(data);
h.FaceColor = 'interp';
colormap jet;
colorbar; 
set(h,'LineStyle','none');

效果:

img


img

参考文档:
https://ww2.mathworks.cn/help/matlab/ref/pcolor.html?s_tid=doc_ta