matlab散点图使用colorbar 2个向量

时间:2016-06-29 10:17:15

标签: matlab

我有两列数据。 X = NOx浓度的模型值,Y = NOx浓度的观察值。现在,我想散布图X,Y(颜色不同的标记)以及颜色条,它会显示计数(即该范围内的数据点数)。 X和Y是一年的每日数据,即365行。

请帮帮我。任何帮助是极大的赞赏。 我附上了一张示例图片。enter image description here

1 个答案:

答案 0 :(得分:1)

如果我理解正确,真正的问题是创建颜色信息,即创建双变量直方图。幸运的是,MATLAB在统计和数据中有一个函数hist3。机器学习工具箱。语法是

[N,C] = hist3(X,nbins)

其中X是包含数据的 m -by-2矩阵,nbins是包含每个维度中的分箱数量的1 x 2矢量。返回值N是一个大小为nbins(1)的矩阵 - by - nbins(2),并包含直方图数据。 C是一个1乘2的单元格数组,包含两个维度的bin中心。

% Generate sample data
X = randn(10000, 1);
Y = X + rand(10000, 1);

% Generate histogram
[N,C] = hist3([X,Y], [100,100]);

% Plot
imagesc(C{1},C{2},N);
set(gca,'YDir','normal');
colormap(flipud(pink));
colorbar;

<强>结果:

Resulting figure