我一直在这里坐了好几个小时试图弄明白这一点没有希望。我希望你能帮助我。我在x-y平面上有(x,y)点,每个(x,y)点都有一定的分配值,你可以把它想象成它的z分量
我能够通过简单的matlab函数绘制这些点
text(position(1),position(2),num2str(RSRP))
通过这样做,我获得了下图
我的问题是:我希望根据标记值在热图中看到轮廓或颜色,例如在此图中,将存在点(-400,190)附近的某个计数值,其值为-117标记为具有特定颜色,而标记值为-106的点(-300,200)将具有另一个轮廓。
初步想法:
将其带到(x,y,z)平面,然后投影到2D。但后来我有问题,因为对于每个(x,y)我有一个值z。我没有相应网格的meshgrid函数。非常困惑。谢谢
我想要像下面的那样
答案 0 :(得分:1)
实际上,我并不完全理解你试图解决的问题,顺便说一下,我会发布我的航行想法,希望可能有所帮助。
在下面的代码中,我使用scatter
绘图来表示与您的数字相似的数据。
clear
x = random('Normal',1,10,1,100);
y = random('Normal',1,10,1,100);
[t t_idx] = sort(x);
x = x(t_idx);
c = linspace(1,100,length(x));
scatter(x,y,[],c,'*')
答案 1 :(得分:0)
这个功能对你有帮助吗? https://www.mathworks.com/help/matlab/ref/griddata.html
它将随机x,y位置的数据插入均匀网格。
我对他们给出的例子感到不满,并做了以下事情,
x = rand([1,50]).*100;
y = rand([1,50]).*100;
%%% z is, say, three gaussians in the xy plane
v = exp(-((x-20).^2+(y-20).^2)./(2*10^2)) + exp(-((x-70).^2+(y-70).^2)./(2*10^2)) + exp(-((x-20).^2+(y-70).^2)./(2*20^2));
[xq,yq] = meshgrid(1:0.5:100, 1:0.5:100);
vq = griddata(x,y,v,xq,yq);
contourf(xq,yq,vq)
这给出了以下内容......
contour plot from random x,y points
不确定数据是什么/这个图的目标我不能评论以这种方式插入数据是多么“公平”,但我也用x,y点做了这个图更多密集(长度为200对比50的矢量)和均匀间隔以显示z“应该”看起来像。
contour plot from more dense and evenly spaced points
正如我们可能已经猜到的那样,插值轮廓图得到了一些但不是所有的特征。最好使用Mohammad的分散建议,因为这只代表您拥有的信息,但同样,这取决于您,当然取决于您的可视化的类型/目的!
为链接的图片道歉/没有评论,我是新来的(这是我的第一个答案!)所以我无法评论或嵌入图片。希望无论如何都有帮助!