Plot data from matrix with legend name

5 views (last 30 days)
Dear colleagues,
how can I plot data from a matrix and have the legend entries in it automatically, too?
To make my question easier to understand I attached a code snippet:
1) What works:
Matrix = [a, A_2, 0];
%% Plot
figure
hold on
for i=1:size(Matrix,1)
plot([0,Matrix(i,1)],[Matrix(i,2),Matrix(i,3)])
end
2) Waht I want to have:
Matrix = [a, A_2, 0, 'legend entry'];
%% Plot
figure
hold on
for i=1:size(Matrix,1)
plot([0,Matrix(i,1)],[Matrix(i,2),Matrix(i,3)])
legend(Matrix(i,4))
end
Can you please give me a hint?
Best regards
Felix

Accepted Answer

Mehmed Saad
Mehmed Saad on 17 Apr 2020
Cells are for that purpose, see help on cell
Matrix = {a, A_2, 0, 'legend entry'};
Matrix =
1×4 cell array
To access matrix first complete cell
Matrix{1,1}
it will give you a
if you want the first element of a you can access it using
Matrix{1,1}(1)
  4 Comments
Mehmed Saad
Mehmed Saad on 18 Apr 2020
figure
hold on
for i=1:size(Matrix,1)
plot([0,Matrix{i,1}],[Matrix{i,2},Matrix{i,3}])
end
legend(Matrix{:,4})
hold off
grid on
felix.b
felix.b on 20 Apr 2020
Thank you very much, Muhammad! ( I don't know why I didn't see this solution myself.)

Sign in to comment.

More Answers (0)

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!