具有低曲线的Matlab散点图

时间:2012-12-06 23:29:28

标签: matlab latex scatter-plot

我正在写一篇研究论文,并希望从我的数据集

中绘制出类似的内容

enter image description here

基本上它是一个Matlab散点图,低曲线显示每个仓的平均值

我一直在谷歌搜索2天,找不到解决方案或一段示例代码来做到这一点

Stack Overflow现在是我最后的选择:)

2 个答案:

答案 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}}密度图绘制