Effacer les filtres
Effacer les filtres

Multiple Plots on Single Figures in Loop

3 vues (au cours des 30 derniers jours)
MustangManiac
MustangManiac le 24 Jan 2019
Commenté : Kevin Phung le 24 Jan 2019
Hello - I currently have large datasets that makes loading them all first inpractical. So I created a large loop that will go through and plot everything I need from the first dataset, then delete that from memory, and load the next data set. It will put the plots on the same Figure (#) as the prior data set so I get a series of Figures with many plots across multiple sets of data.
However, I'm trying to add titles to the figures (not above the actual plot, but so that plot browser show's a description instead of Figure 1, 2, etc. , but now it creates a new figure each time through the loop with another data set.
plotbrowser('on') %turn plot browser on
figure (1) %Plot vehicle speed trace
figure('Name', 'Vehicle Speed','NumberTitle','off'); <--- If I comment this out it functions correctly, but the figures are missing titles I desire.
title('Vehicle Speed Trace');
hold on
  2 commentaires
Kevin Phung
Kevin Phung le 24 Jan 2019
'It will put the plots on the same Figure (#) as the prior data set so I get a series of Figures with many plots across multiple sets of data.'
are you plotting on the same axes, creating new axes on the same figure, or are you creating a new figure along with a new figures.
MustangManiac
MustangManiac le 24 Jan 2019
Mulitple sets of data on the same plot with the same axis.

Connectez-vous pour commenter.

Réponses (1)

Kevin Phung
Kevin Phung le 24 Jan 2019
Modifié(e) : Kevin Phung le 24 Jan 2019
figure()
will automatically create a new figure.
figure (1) %Plot vehicle speed trace
figure('Name', 'Vehicle Speed','NumberTitle','off'); <--- If I comment this out it functions correctly, but the figures are missing titles I desire.
^ you are creating two figures here.
What I would do is assign handles to the figures, and I can always refer back to them elsewhere in my code. Assigning handles/tags to your axes can help in referring to them too.
for example:
f= figure
set(f,'Name','VehicleSpeed','NumberTitle','off')
let me know if this helps.
  4 commentaires
MustangManiac
MustangManiac le 24 Jan 2019
Modifié(e) : MustangManiac le 24 Jan 2019
plotbrowser('on') %turn plot browser on
figure (1) %Plot vehicle speed trace
% figure('Name', 'Vehicle Speed','NumberTitle','off');
title('Vehicle Speed Trace');
hold on
VehSpeed_Interp = interp1(Data.test_data(index).data.time, Data.test_data(index).data2.vspd_corrected, TimeIndex);
a1 = plot(TimeIndex,VehSpeed_Interp); %Plot
legend (a1,l1);
legend('
This is what each figure in the loop is basically like.
');
Kevin Phung
Kevin Phung le 24 Jan 2019
what confuses me is your goal: you want to plot data sets in a loop but have them erased before each new iteration.. your end result is just going to be a plot of whatever your last data set is.
Can you try to not call out the figure in the loop?

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by