MATLAB:在plotmatrix中将散点数据拟合曲线

3
下面的图表是用MATLAB中的[H,AX,BigAx,P] = plotmatrix(x);创建的。在对角线之外的散点图中,是否可以有一个近似曲线呢? enter image description here
2个回答

0
阅读文档后,似乎这个函数只对散点图有用,这是有道理的,因为矩阵中的点通常分散在各处,拟合曲线是没有意义的。也许使用subplot()(链接)会更合适,可以提供更多的灵活性?

0

使用 plotmatrix 创建图表后,您可以循环遍历每个非对角线散点图,获取相关的 XY 数据,执行曲线拟合,然后按照以下方式 绘制结果

data = randn(50,3);  % Random sample data
[hScatter, hAxes] = plotmatrix(data);

for index = find(~eye(size(hScatter))).'  % Loop over off-diagonal plots
  X = get(hScatter(index), 'XData');      % Get X data
  Y = get(hScatter(index), 'YData');      % Get Y data
  betas = [ones(numel(X), 1) X(:)]\Y(:);  % Simple linear regression
  xLine = get(hAxes(index), 'XLim');      % Use axes limits for X data
  yLine = betas(1)+xLine.*betas(2);       % Compute regression line
  line(hAxes(index), xLine, yLine, 'Color', 'r');  % Plot red regression line
end

这里是生成的图表:

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接