MATLAB Answers

Change name of subplot into 2 for

40 views (last 30 days)
Hello everyone,
I may ask a silly question, need to change the name of 24 subplots.
I understood how to change the Objet1, but i don't know how to change the second part of the title, i'm stuck in the 2nd loop.
I want my title to be: Objet1/Task4 for exemple
Thanks everyone !
Here you have to code:
The main:
for mrkr=1:6
Tremor_functions.Timestamp(markers,mrkr,Fe)
for muscle=1:4
Tremor_functions.signal_processing(Debut,Fin,muscle,signal,Fe,mrkr,t);
The function that do the plots which is in "Tremor_functions.signal_processing" (you can jump at the bottom)
function signal_processing(Debut,Fin,muscle,signal,Fe,mrkr,t)
% Subplot temporal and frq
cellmuscle = {'Fl-Pr','Ex-Su','Bic','Tri'};
Muscle_Tache=strcat('Tache',num2str(mrkr),'Muscle',num2str(muscle));
Muscle_Tache=figure('Name',Muscle_Tache,'Position',[0 0 600 600]);
movegui(Muscle_Tache,'northwest');
subplot(2,1,1)
plot(t,EMG_filt,'r')
title(cellmuscle(muscle));
xlabel('Temps (s)')
ylabel('EMG (mV)')
subplot(2,1,2)
plot(f_DSP,EMG_filt_DSP,'b')
xlim([0 50])
title(cellmuscle(muscle));
%title('Muscle/Task')
xlabel('Fréquence (Hz)')
ylabel('DSP (mv2/Hz)')
Muscle_Task=strcat('Muscle',num2str(mrkr),'Task',num2str(muscle),'.bmp');
saveas(Muscle_Tache,Muscle_Task);

  2 Comments

Walter Roberson
Walter Roberson on 6 Dec 2020
Could you confirm that you no longer want the title() to include, for example, 'Ex-Su', and would want that to be (for example) 'Objet3/Task2' instead ?
John Doe
John Doe on 6 Dec 2020
Hello Walter,
No objet 3 / task 2 was an exemple,
I do need, Fl-Pr','Ex-Su','Bic','Tri'
And i need to change with the task
I need it to do:
Fl-Pr / Task 1
Ex-Su / Task 1
Bic / Task 1
Tri / Task 1
Fl-Pr / Task 2
... to
Tri / Task 6
Displayed on the figure subplot title

Sign in to comment.

Accepted Answer

Bastian Arturo Romero Mardones
Edited: Bastian Arturo Romero Mardones on 6 Dec 2020
You can try change:
Muscle_Task=strcat('Muscle',num2str(mrkr),'Task',num2str(muscle),'.bmp');
to:
Muscle_Task=['Muscle' num2str(mrkr) 'Task' num2str(muscle)]
saveas(Muscle_Tache,Muscle_Task,'bmp');

  3 Comments

John Doe
John Doe on 6 Dec 2020
Hi Bastian, it hasn't change.
Well, not that i need to. I need to display Fl-Pr (subloop for in the 1st loop)/ Task 1(1st loop for) for exemple. Then change the title, for XX / Task 2 after the subloop is over. I don't know if i'm crystal clear but i'm sure you get it ^^
Bastian Arturo Romero Mardones
i understand, try this:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cellmuscle = ["Fl-Pr","Ex-Su","Bic","Tri"];
task = mrkr*ones(1,4);
nombre = [cellmuscle(muscle) '/Task' num2str(task(muscle))]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Muscle_Tache=strcat('Tache',num2str(mrkr),'Muscle',num2str(muscle));
Muscle_Tache=figure('Name',Muscle_Tache,'Position',[0 0 600 600]);
movegui(Muscle_Tache,'northwest');
subplot(2,1,1)
plot(t,EMG_filt,'r')
title(cellmuscle(muscle));
xlabel('Temps (s)')
ylabel('EMG (mV)')
subplot(2,1,2)
plot(f_DSP,EMG_filt_DSP,'b')
xlim([0 50])
title(nombre);
xlabel('Fréquence (Hz)')
ylabel('DSP (mv2/Hz)')
John Doe
John Doe on 6 Dec 2020
Yeah, super Bastian, genius !!
Thanks a lot !

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!