使用2个坐标列和一个重量列的密度图

时间:2017-08-29 10:45:52

标签: matlab plot matlab-figure density-plot

我有一个包含3列的矩阵。前两列是坐标,第三列是重量或强度。

newmat = [ 27.37  -45.69   14.47
           27.37  -45.68   18.58
           27.37  -45.67   29.05
           27.37  -45.66   51.7
            ...     ...     ... ]

我已经创建了散点图:

scatterplot

但是,我想要像密度图那样(第二个图here)。我曾尝试在here中使用hist3函数,但我没有弄清楚如何考虑第三列 - 权重。

1 个答案:

答案 0 :(得分:0)

您可以使用//import { CrisisListComponent } from './crisis-list.component'; //import { HeroListComponent } from './hero-list.component'; 中的数据创建矩阵(使用函数sortrowsuniqueaccumarray)并将其绘制为image

newmat

以下是一些与您的格式类似的示例数据:

newmat = sortrows(newmat, [1 2]);  % Sort the first two columns in ascending order
[x, ~, newmat(:, 1)] = unique(newmat(:, 1));     % Make numeric indices for column 1
[y, ~, newmat(:, 2)] = unique(newmat(:, 2));     % Make numeric indices for column 2
M = accumarray(newmat(:, 1:2), newmat(:, 3)).';  % Build the matrix
imagesc(x, y, M);

以下是上述代码从该数据中产生的图:

enter image description here