Add 3 trendlines in a scatterplot figure

5 views (last 30 days)
SANDRA COSTA
SANDRA COSTA on 3 May 2020
Commented: SANDRA COSTA on 5 May 2020
I have 3 data sets for y and 1 data set for x and I would like to do a scatterplot with 3 trendlines. I was able to create the scatterplots but I dont know how to add a trendline for each data set to my figure. I have tried the basic fitting tool but when I try to add the trendline to the second set of data, the first trendline disappears and I need all three trendlines in the figure.
Here is my code:
%% Load data
dataset=xlsread('sediment_matlab.xls','Sheet1','A1:F14')
Time=dataset(:,1);
A=dataset(:,2);
B=dataset(:,4);
C=dataset(:,6)
scatter(Time,A),xlabel('Time(hours)'),ylabel('[NO3-]'); hold on; scatter (Time,B); hold on; scatter(Time,C)
ttl = sprintf('[Light NO3-]');
title(ttl,'FontWeight','bold', 'FontSize',12, 'FontName','Times New Roman');
  2 Comments
Image Analyst
Image Analyst on 3 May 2020
You forgot to attach 'sediment_matlab.xls'. And I see no trends in your data, much less 3 trends. Can you indicate where you see trends? Do you want some kind of curve plotted vs. time, like a quadratic or something for each trend???
SANDRA COSTA
SANDRA COSTA on 3 May 2020
I just wanted to add 3 trendlines for each data set just like this graph.

Sign in to comment.

Answers (1)

darova
darova on 4 May 2020
Use polyfit
a1 = polyfit(Time,A,1);
A1 = polyval(a1,Time);
plot(Time,A1)

Categories

Find more on Discrete Data Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!