Multiple Plots on Single Figures in Loop

11 Ansichten (letzte 30 Tage)
MustangManiac
MustangManiac am 24 Jan. 2019
Kommentiert: Kevin Phung am 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 Kommentare
Kevin Phung
Kevin Phung am 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 am 24 Jan. 2019
Mulitple sets of data on the same plot with the same axis.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Kevin Phung
Kevin Phung am 24 Jan. 2019
Bearbeitet: Kevin Phung am 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 Kommentare
MustangManiac
MustangManiac am 24 Jan. 2019
Bearbeitet: MustangManiac am 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 am 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?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Performance finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by