Borrar filtros
Borrar filtros

Multiple Plots on Single Figures in Loop

3 visualizaciones (últimos 30 días)
MustangManiac
MustangManiac el 24 de En. de 2019
Comentada: Kevin Phung el 24 de En. de 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 comentarios
Kevin Phung
Kevin Phung el 24 de En. de 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 el 24 de En. de 2019
Mulitple sets of data on the same plot with the same axis.

Iniciar sesión para comentar.

Respuestas (1)

Kevin Phung
Kevin Phung el 24 de En. de 2019
Editada: Kevin Phung el 24 de En. de 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 comentarios
MustangManiac
MustangManiac el 24 de En. de 2019
Editada: MustangManiac el 24 de En. de 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 el 24 de En. de 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?

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by