Matlab'热图'与散点图数据

时间:2015-01-15 03:41:41

标签: matlab

很抱歉,如果这个问题已在其他地方得到解答,但我找不到解决方案......

我有scatterplot个数据,xy以及颜色数据c(所有这些都是向量)。

x = rand(100,1);
y = rand(100,1);
c = rand(100,1)*50;
scatter(x,y,c,'fill')

enter image description here

但是,我希望将其显示为“堆映射”,以便代替c的大小,它代表强度,它看起来像这样: enter image description here

我不想使用surf,并希望像这样成为2D。谢谢,如果你能提供帮助。

1 个答案:

答案 0 :(得分:4)

要获得所需的曲面图,您需要在[0,1]区域上进行插值。使用" scatteredInterpolant"对此非常有效。

N = 1000;
[Xi,Yi] = meshgrid(linspace(0,1,N),linspace(0,1,N));
SI = scatteredInterpolant(x,y,c);
Ci = SI(Xi,Yi);
imagesc(Ci);

只有100个随机点,结果看起来不太顺利,但我认为这就是你要找的东西! enter image description here