How to include labels to a plot?

1 view (last 30 days)
Andrei
Andrei on 6 Nov 2022
Commented: Kevin Holly on 6 Nov 2022
So I have some coordinates and I want to include some labels on my plot.
force = 30;
displacement = [10 20 30 40];
cases = ['This is case 1' 'This is case 2' 'This is case 3' 'This is case 4'];
plot (force, displacement, 'x')
for i =1:length(displacement)
text(force, displacement(i), ['\leftarrow ', cases(i)]);
end
I know the problem is with either line 3 or line 6 because cases is saved as char and when I call cases(i) in line 6 it displays only the individual characters instead of everything that is inside the quotation(' ') marks. Does anyone know how to fix this?

Accepted Answer

Kevin Holly
Kevin Holly on 6 Nov 2022
Edited: Kevin Holly on 6 Nov 2022
force = 30;
displacement = [10 20 30 40];
cases = ["This is case 1" "This is case 2" "This is case 3" "This is case 4"];
plot (force, displacement, 'x')
for i =1:length(displacement)
text(force, displacement(i), ['\leftarrow ', char(cases(i))]);
end
  2 Comments
Andrei
Andrei on 6 Nov 2022
Thank you for your help. Do you mind explaining why it works when
cases = ["This is case 1" "This is case 2" "This is case 3" "This is case 4"];
and not when
cases = ['This is case 1' 'This is case 2' 'This is case 3' 'This is case 4'];
Kevin Holly
Kevin Holly on 6 Nov 2022
Using double quotes creates a string array, where characters enclosed are treated as a single elements.
string_array = "This is case 1";
size(string_array)
ans = 1×2
1 1
Character arrays use single quotes. In this case, each character is treated as a separate element.
character_array = 'This is case 1';
size(character_array)
ans = 1×2
1 14
For more information click here.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!