创建一个热图可视化denisity 2 d点的数据

64(30天)
你好,
我想创建一个热图(矩阵的数据点。点数据代表空间位置和我试图创建一个亮点的热图densely-clustered分sparsely-clustered点。数据存储在一个变量点。点(:1)x数据点(:,2)是y数据。当我类型的热图(点)我得到无用的信息。有一种我可以想象这些点的密度在热量地图吗?我试着hist3,但这并不代表数据我想的方式。
谢谢,
凯尔

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2015年6月19日
网格= 256;%的地图
minvals = min(点);
maxvals = max(点);
rangevals = maxvals - minvals;
xidx = 1 +圆((点(:1)- minvals (1))。/ rangevals(1) *(图1));
yidx = 1 +圆((点(:,2)- minvals (2)) / rangevals。(2) *(图1));
密度= accumarray ([yidx, xidx] 1[网格,网格]);%注意y是行,x是关口
显示亮度图像(密度,“xdata”,(minvals (1) maxvals (1)]。“ydata”,(minvals (2), maxvals (2)));
(这将使图像比将是正确的。它可能不值得纠正。)
3评论
Cai的下巴
Cai的下巴 2020年11月15日
你好,我想做一个非常相似的事情——我使用您的代码,但它只生成一个蓝色的框架,而不是颜色密度地图。而不是一个矩阵的输入,我有两个向量“v”和“w”我试着制作成一个矩阵,以适应您的代码。
我在想如果你不介意请指出或暗示另一个问题是什么?
提前谢谢。
%向量“v”和“w”转换成一个矩阵
点= [v, w];
%产生colourmap密度
网格= 256;%的地图
minvals = min(点);
maxvals = max(点);
rangevals = maxvals - minvals;
xidx = 1 +圆((分(1)- minvals (1))。/ rangevals(1) *(图1));
yidx = 1 +圆((点(2)- minvals (2)) / rangevals。(2) *(图1));
密度= accumarray ([yidx, xidx] 1[网格,网格]);%注意y是行,x是关口
显示亮度图像(密度,“xdata”,(minvals (1) maxvals (1)]。“ydata”,(minvals (2), maxvals (2)));
集(gca),“YDir”,“正常”);

登录置评。

更多的答案(0)

类别

找到更多的在数据分布的情节帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!