我正在为选择的数据在MATLAB中内插散点热图。下面的代码是关于随机数据的。但是,我的数据清楚地显示了“定义明确的不同正方形”,使其看起来非常不稳定。您正在寻找一种更好的改进方法来在散点图上进行插值,还是寻求一种更好的新颖方法来创建散点图?
这是我的代码:
xd = randn(100000,1)';
yd = randn(100000,1)';
n = 100;
xi = linspace(min(xd(:)),max(xd(:)),n);
yi = linspace(min(yd(:)),max(yd(:)),n);
xr = interp1(xi,1:numel(xi),xd,'nearest')';
yr = interp1(yi,1:numel(yi),yd,'nearest')';
z = accumarray([xr yr], 1, [n n]);
figure;
imagesc(z)
j = jet
j(1,:) = [ 1 1 1 ]; %
colormap(j);
colorbar;
答案 0 :(得分:4)
通过使用pcolor
而不是imagesc
,然后将阴影模式设置为“插值”,并调用命令shading interp
,您应该能够获得更平滑的热图。