很抱歉,如果这个问题已在其他地方得到解答,但我找不到解决方案......
我有scatterplot
个数据,x
和y
以及颜色数据c
(所有这些都是向量)。
x = rand(100,1);
y = rand(100,1);
c = rand(100,1)*50;
scatter(x,y,c,'fill')
但是,我希望将其显示为“堆映射”,以便代替c
的大小,它代表强度,它看起来像这样:
我不想使用surf
,并希望像这样成为2D。谢谢,如果你能提供帮助。
答案 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个随机点,结果看起来不太顺利,但我认为这就是你要找的东西!