convert or translat number to specific word using it for title

3 visualizzazioni (ultimi 30 giorni)
I am trying to generate a title for my Plot that work according to a Number so lets say if the Number is (1) then the word will be (Normal) if the Number is (2) the words will be (Level1) ..etc
I used the below code for the Title using (renamecats) function but It didn't work I don't know why.
for n = 1:numel(out(1,:))
x=out(2:end,n);
subplot(4,2,n);
plot(t,x);
if n == 3 || n == 4
xlabel('Seconds');
end
title(renamecats({n},string(catnames)));
end
Best Regards,
Yousif
  1 Commento
Adam Danz
Adam Danz il 26 Mar 2023
Modificato: Adam Danz il 26 Mar 2023
I think you just need to replace the title(__) line with
title(catnames(n));
or, is the problem that the categorical values are not in the intended order?

Accedi per commentare.

Risposte (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov il 26 Mar 2023
Here is onee of the possible solutions with one simple example:
T = randn(4, 15);
t=1:15;
catnames = {'Normal', 'Level 1', 'Level 2', 'Level 3'};
for n = 1:size(T,1)
switch n
case 1
x=T(n,:);
subplot(4,2,n);
plot(t,x);
title (catnames{n})
case 2
x=T(n,:);
subplot(4,2,n);
plot(t,x);
title (catnames{n})
case 3
x=T(n,:);
subplot(4,2,n);
plot(t,x);
title (catnames{n})
case 4
x=T(n,:);
subplot(4,2,n);
plot(t,x);
title (catnames{n})
end
end

Community Treasure Hunt

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

Start Hunting!

Translated by