3

下图是[H,AX,BigAx,P] = plotmatrix(x);在 MATLAB 中创建的。代替非对角线中的散点,是否有可能有一条近似曲线? 在此处输入图像描述

4

2 回答 2

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

这是结果图:

在此处输入图像描述

于 2017-11-08T20:24:29.827 回答
0

阅读文档,似乎这个函数只对散点有用,这是有道理的,因为通常矩阵中的点可能会全部结束并且拟合曲线是没有意义的。也许使用 subplot() ( link ) 会更合适并允许更多功能?

于 2016-06-06T15:32:58.567 回答