下图是[H,AX,BigAx,P] = plotmatrix(x);
在 MATLAB 中创建的。代替非对角线中的散点,是否有可能有一条近似曲线?
问问题
499 次
2 回答
0
创建绘图后,plotmatrix
您可以遍历每个非对角散点图,获取相关的X和Y数据,执行曲线拟合,然后绘制结果如下:
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 回答