How to include labels to a plot?

2 visualizzazioni (ultimi 30 giorni)
Andrei
Andrei il 6 Nov 2022
Commentato: Kevin Holly il 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?

Risposta accettata

Kevin Holly
Kevin Holly il 6 Nov 2022
Modificato: Kevin Holly il 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 Commenti
Andrei
Andrei il 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 il 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Line Plots in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by