How can I set one lsline using gscatter?

8 次查看(过去 30 天)
Hi,
So, I got 4 groups. By using gscatter I can colour each group. Now I want one lsline but I got 4 differnet lsline, one per group.
group=[zeros(str2num(answer{1,1}),1);1+zeros(str2num(answer{2,1}),1);...
2+zeros(str2num(answer{3,1}),1);3+zeros(str2num(answer{4,1}),1)];
group=string(group);
group=strrep(group, '0', 'Wt');
group=strrep(group, '1', 'Cpx II Ko');
group=strrep(group, '2', 'Cpx II Ko + Cpx I');
group=strrep(group, '3', 'Cpx II Ko + Cpx II');
h =gscatter(x,y,group);
hold on
lh = lsline;
This is my code. By doing this I got 4 different lslines. I want a single lsline made by all the values from x and y.
I've also tried this:
figure(1)
scatter(x_ko,y_ko,25,'LineWidth',2);
hold on
scatter(x_wt,y_wt,25,'LineWidth',2);
hold on
scatter(x_kowt,y_kowt,25,'LineWidth',2);
hold on
scatter(x_ko2,y_ko2,25,'LineWidth',2);
hold on
lh = lsline;
Same result, 4 lsline. I want one lsline for
This is the plot. 4 lsline. One each group. I want one lsline from all the dots.
Alternatively, I can use scatter(x,y) but then I do not know how to paint the dots by groups.

采纳的回答

Adam Danz
Adam Danz 2020-9-2
编辑:Adam Danz 2020-9-2
Use coeffs = polyfit(x,y,1) to compute the regression line for all of the data and then refline(coeffs) to plot the regression line.

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by