how to plot exel data by loop

3 views (last 30 days)
a.s
a.s on 26 Jan 2022
Commented: a.s on 14 Feb 2022
I have an Excel file that has 381 rows, and as shown in the figure in column F, I want the numbers 1 to be drawn together and the numbers 2 to be drawn together, ...
  2 Comments
Walter Roberson
Walter Roberson on 26 Jan 2022
You have six numeric columns in addition to the grouping column. How do you want each segment to be drawn ?
a.s
a.s on 26 Jan 2022
Column D is for X data and column E is for Y data, and I want all data for number 1 to be displayed in one color (for example, red) and all data for number 2 to be displayed in another color.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 26 Jan 2022
filename = 'TheFile.xlsx';
T = readtable(filename);
[G, uids] = findgroups(T{:,6});
hold on
h = splitapply(@(X,Y) plot(X, Y), T{:,4}, T{:,5}, G);
hold off
xlim auto; ylim auto
group_names = "Group " + string(uids(:));
legend(h, group_names);

More Answers (1)

Biraj Khanal
Biraj Khanal on 26 Jan 2022
I am still learning and would do this:
T=readtable('filename');
D1=[];
E1=[];
D2= []; E2=[];
for i = 1: height(T)
if T.F (i) == 1
D1(end+1) = T.D(i);
E1(end+1) = T.E(i);
elseif T.F(i) == 2
D2(end+1) = T.D(i);
E2(end+1) = T.E(i);
end
end
figure
plot(D1,E1)
hold on
plot (D2,E2)
I am sure there is a more efficient way to do it.

Categories

Find more on Stress and Strain in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!