我有两列数据。 X = NOx浓度的模型值,Y = NOx浓度的观察值。现在,我想散布图X,Y(颜色不同的标记)以及颜色条,它会显示计数(即该范围内的数据点数)。 X和Y是一年的每日数据,即365行。
答案 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;
<强>结果:强>