How to include labels to a plot?

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?

 采纳的回答

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 个评论

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'];
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.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Polar Plots 的更多信息

产品

版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by