mehrere Subplotfenster als fortlaufendes Postscript ???
Phil_8_5
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 23.01.2012, 15:25
Titel: mehrere Subplotfenster als fortlaufendes Postscript ???
Hallo,
ich arbeite jetzt seit 4 Monaten mit Matlab und habe ein kleineres Problem mit der Ausgabe (PDF und/oder Postscript) von mehreren Subplotfenstern hintereinander.
Ich lade mehrere Dateien (2, 25 oder auch n!) ein und erstelle mir einen 3,3,ii-Subplot mit 9 Plots. Ziel ist es, ein Postscript (oder PDF) zu erstellen, wo beliebig viele 3-3-Subplotfenster hintereinander abgespeichert werden.
Mein Code funktioniert soweit, ist aber viel zu !lang! und auch auf 27 Plots begrenzt...
Kurz gesagt möchte ich, dass es nachdem ein Subplotfenster mit 9 kleinen Plots "voll" ist, sich ein neues Subplotfenster öffnet und die noch fehlenden Subplots anzeigt (und natürlich noch bei Bedarf ein 3. oder 4. oder n. Fenster öffnet).
Weiterhin ist die Anzahl "AnzFiles" vorher immer bekannt.
Die Priorität liegt im Postscript, das Matlabeigene Fenster interessiert weniger...
Vllt. kann mir jemand helfen? Danke an euch!
Phil_8_5
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 26.01.2012, 19:27
Titel:
Wohl ein kniffliges Thema... naja.
Habe es jetzt selbst hinbekommen. Vllt. interessiert es ja den einen oder anderen.
Es werden also jetzt 1 bis n Subplotfenster geöffnet, wobei nicht 100 Fenster den Bildschirm "vollballern", sonder ein und dasselbe Fenster immer wieder bereinigt wird.
Die Informationen gehen aber nicht verloren, da sie immer als fortlaufendes Postskript abgespeichert werden. Das Postskript kann somit auch 1 bis n Seiten haben, später muss ich daraus noch ein PDF erzeugen.
Code:
case1% nur Parameter Sauerstoff
f=figure('NumberTitle','off','Name','Sauerstoff','Position',[50401200850]);
x=0;
for ii=1:AnzFiles
y=ii;
ifmod(y,4)==0 subplot(2,2,4); plot(tSauerstoff{1,y},tTiefe{1,y},'b') set(gca, 'YDir', 'reverse') axis tight
xlabel('O2 [mg/l]') ylabel('Tiefe [m]') legend(Spalte_ctd(y),'Location','SouthEast') legend('boxoff') holdall
ha = axes('Position',[0011],'Xlim',[01],'Ylim',[01],'Box','off','Visible','off','Units','normalized','clipping' ,'off');
text(0.5, 0.98,'Sauerstoff [mg/l]','HorizontalAlignment','center','VerticalAlignment','top','FontSize',14) print(f,'-dpsc','-append','I:\Matlab\Test\Ausgabedateien\Sauerstoff.ps') clf('reset');
x=x+1;
else
z=y-(x*4);
subplot(2,2,z); plot(tSauerstoff{1,y},tTiefe{1,y},'b') set(gca, 'YDir', 'reverse') axis tight
xlabel('O2 [mg/l]') ylabel('Tiefe [m]') legend(Spalte_ctd(y),'Location','SouthEast') legend('boxoff') holdall end end
ha = axes('Position',[0011],'Xlim',[01],'Ylim',[01],'Box','off','Visible','off','Units','normalized','clipping' ,'off');
text(0.5, 0.98,'Sauerstoff [mg/l]','HorizontalAlignment','center','VerticalAlignment','top','FontSize',14) print(f,'-dpsc','-append','I:\Matlab\Test\Ausgabedateien\Sauerstoff.ps')
als Anregung kann ich die Befehle mod und clf empfehlen!
Viele Grüße
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.