我正在写一篇研究论文,并希望从我的数据集
中绘制出类似的内容
基本上它是一个Matlab散点图,低曲线显示每个仓的平均值
我一直在谷歌搜索2天,找不到解决方案或一段示例代码来做到这一点
Stack Overflow现在是我最后的选择:)
答案 0 :(得分:2)
这是我能提出的最简单的代码。假设您的数据采用x和y向量。
%adjust bins accordingly, or add a line that calculates them based on range.
bins = -0.5:0.01:0.5;
nBins = length(bins);
for index = 1:(nBins-1)
binVec = (x >= bins(index) & x < bins(index+1));
lowess(index) = mean(y(binvec));
end
%note that bins are shifted by one half step.
plot(x,y,'.',bins+0.005,lowess,'--r');
可以对此进行矢量化,但这不值得。至少我发现的方式会让它变得难以理解,而且效率稍高一些。
答案 1 :(得分:1)
粗略的答案是,使用http://www.mathworks.com/matlabcentral/fileexchange/13352进行密度散点图,并在matlab中使用histc
以适当的分辨率生成低值曲线,并在您的hold plot
上使用{{1}}密度图绘制