Matlab-插值散点图的更好方法

时间:2019-02-18 21:40:39

标签: matlab interpolation heatmap

我正在为选择的数据在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;

1 个答案:

答案 0 :(得分:4)

通过使用pcolor而不是imagesc,然后将阴影模式设置为“插值”,并调用命令shading interp,您应该能够获得更平滑的热图。