How can I fit a scatter plot?
3 次查看(过去 30 天)
显示 更早的评论
In MATLAB, I created a scatter plot of my data with this code:
Lac = readmatrix("Lac.xlsx", "Range", "B2:Y8");
t = readmatrix("Lac.xlsx", "Range", "A2:A8");
scatter(t, Lac)
t is a 7x1 matrix; Lac is a 7x24 matrix.
How can I fit a line to this scatter plot?
1 个评论
Adam Danz
2023-3-23
Is your goal to fit all the data together or to fit each of the 7 groups individually?
采纳的回答
Adam Danz
2023-3-23
This demo shows how to plot a linera fit using the entire data.
t = rand(7,1)*10;
Lac = rand(7,24)+linspace(0,2,7)';
scatter(t,Lac,'bo')
tm = repelem(t,1,size(Lac,2));
If you have the Curve Fitting Toolbox: fit()
mdl = fit(tm(:),Lac(:),'Poly1')
hold on
plot(mdl, 'r--')
Without the Curve Fitting Toolbox: polyfit()
coefs = polyfit(tm,Lac,1)
hold on
refline(coefs(1),coefs(2))
0 个评论
更多回答(1 个)
Anton Kogios
2023-3-23
If you want to fit a line to the data as a whole, I think this should work:
t = 1:7;
Lac = randi(10,[7,24]);
scatter(t,Lac)
[coeffs] = polyfit(t,mean(Lac'),1)
hold on
plot(t,coeffs(1)*t+coeffs(2))
hold off
where the last argument for polyfit is the degree of the fit that you want.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!