How to add cell array as index in plot title

6 次查看(过去 30 天)
Hello all,
I have been trying to get cell array (as index) to be part of the plot title.
figure
tlo = tiledlayout (3,1);
data = {a, b, c};
title_s={50;25;10};
for i = 1:numel(data)
t=title_s{i};
ax = nexttile(tlo);
histogram(ax, data{i},'BinWidth',1,'BinEdges',1:1:25)
title(['Example\_' num2str(t) 'm (8H)'],FontSize=16);
end
When I add the line of title I got the error 'Unable to use a value of type string as an index.
Can anyone help to make it work?
Thanks a lot!
  3 个评论
Yunwei
Yunwei 2024-2-1
Hi,
I attach the data l used. The MATLAB version l use is 2021b.
Dyuman Joshi
Dyuman Joshi 2024-2-1
Even with the data you have attached, the code works here without any error -
Have you copied and pasted the right code?
load("data.mat")
tlo = tiledlayout(3,1);
title_s = {50;25;10};
for i = 1:numel(title_s)
t=title_s{i};
ax = nexttile(tlo);
histogram(ax, 25*rand(1,100),'BinWidth',1,'BinEdges',1:1:25)
title(['Example\_' num2str(t) 'm (8H)'],FontSize=16);
end

请先登录,再进行评论。

回答(2 个)

Catalytic
Catalytic 2024-2-1
编辑:Catalytic 2024-2-1
I suspect that the code you've shown us is not the code that produces the error. I suspect you did this instead -
figure
tlo = tiledlayout(3,1);
data = {randn(1,100),2,3};
title={50;25;10};
for i = 1:numel(data)
t=title{i};
ax = nexttile(tlo);
histogram(ax, data{i},'BinWidth',1,'BinEdges',1:1:25);
title(['Example\_' num2str(t) 'm (8H)'],FontSize=16);
end
Unable to use a value of type string as an index.

Yunwei
Yunwei 2024-2-1
移动:Dyuman Joshi 2024-2-1
I close matlab then run the code again, and the error is gone.
So l guess the code is correct.
Thank you!

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by