Effacer les filtres
Effacer les filtres

problem with displaying multiple plots in one Figure

2 vues (au cours des 30 derniers jours)
Alex
Alex le 27 Sep 2016
Commenté : Alex le 27 Sep 2016
Hi all, im trying to plot data of 4 (1×1 double Timeserie) vectors i use the code below
c=title('Einfluss der Geschwindigkeit auf den Energieverbrauch ');
b=xlabel('Zeit in [ms]');
a=ylabel('Energieverbrauch des Hauptantriebs in [KW]');
set(a,'FontSize',15)
set(b,'FontSize',15)
set(c,'FontSize',15)
set(gca,'FontSize',14);
axis([0 1030 50 63])
plot(E_Real_Hauptantrieb_130.time,E_Real_Hauptantrieb_130.Data,'-ob');
grid on;
hold on;
plot(E_Real_Hauptantrieb_100.time,E_Real_Hauptantrieb_100.time,'-og');
grid on;
hold on;
plot(E_Real_Hauptantrieb_80.time,E_Real_Hauptantrieb_80.time,'-or');
grid on;
hold on;
plot(E_Real_Hauptantrieb_60.time,E_Real_Hauptantrieb_60.time,'-oy');
grid on;
hold off;
legend('130 km/h','100 km/h','80 km/h','60 km/h')
but Matlab always crash or show me a black screen Figure does any body know why ?

Réponse acceptée

Massimo Zanetti
Massimo Zanetti le 27 Sep 2016
Modifié(e) : Massimo Zanetti le 27 Sep 2016
To plot in the same figure use SUBPLOT. Something like this:
figure;
subplot(2,2,1);
plot(E_Real_Hauptantrieb_130.time,E_Real_Hauptantrieb_130.Data,'-ob');
subplot(2,2,2);
plot(E_Real_Hauptantrieb_100.time,E_Real_Hauptantrieb_100.time,'-og');
subplot(2,2,3);
plot(E_Real_Hauptantrieb_80.time,E_Real_Hauptantrieb_80.time,'-or');
subplot(2,2,4);
plot(E_Real_Hauptantrieb_60.time,E_Real_Hauptantrieb_60.time,'-oy');
Then adjust legends and whatever for each subplot.
  5 commentaires
Massimo Zanetti
Massimo Zanetti le 27 Sep 2016
Consider this line for example:
plot(E_Real_Hauptantrieb_130.time,E_Real_Hauptantrieb_130.Data,'-ob');
Being the two vectors E_Real_Hauptantrieb_130.time and E_Real_Hauptantrieb_130.Data too big, Matlab crushes or do not show you the plots. So, you can downsample them (meaning that you can extract only some values from the vectors) so that you can decrease their size. For example try:
plot(decimate(E_Real_Hauptantrieb_130.time,100),decimate(E_Real_Hauptantrieb_130.Data,100),'-ob');
Alex
Alex le 27 Sep 2016
@Zanetti it works !!

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by