WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Grafik aus Axes abspeichern

 

Christian2

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.03.2008, 16:35     Titel: Grafik aus Axes abspeichern
  Antworten mit Zitat      
Hallo zusammen,

ich habe eine GUI erstellt und würde die Grafik gerne speichern, die dort in axes1 geplottet ist.
Es klappt mit diesem Code aber nur teilweise. Ich plotte mehrere Kurven übereinander und es werden nicht alle gespeichert. Auch die Legende fehlt. Und nach dem Vorgang wird meine Grafik in axes1 auch zerschrottet. Kann mir jemand erklären woran das liegt?

Code:

axes(handles.axes1);
a = gca;
printfig = figure('Visible','off');
info = get(a, {'Parent','Units','Position'});
set(a, 'Parent',printfig,'Units','Normalized','Position',[.1 .1 .8 .8]);
print(printfig,'-dpng','Grafik');
set(a,'Parent',info{1},'Units',info{2},'Position',info{3});
close(printfig)
 


Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 02.04.2008, 21:35     Titel:
  Antworten mit Zitat      
Hallo,
hmm, habe ich noch nie gesehen, einfach die Parent-Eigenschaft zu verbiegen, interessant!
Ich gehe für gewöhnlich einen anderen Weg: ich mache auch ein neues figure auf, kopiere allerdings mein ursprüngliches Axen-Objekt mit copyobj in das neue figure. Anschließend drucken und wieder zumachen.
Zumindest wird damit mein GUI nicht zerlegt Wink

Titus

PS: statt
Code:
axes(handles.axes1);a=gca;
müsste
Code:
a=handles.axes1;
das selbe machen, oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
Christian2

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.04.2008, 10:53     Titel:
  Antworten mit Zitat      
Hallo Titus,

danke für deinen Tipp. Ich habe es gerade so versucht, aber es klappt immer noch nicht so, wie ich mir das vorstelle.
Die Legende wird immer noch nicht gespeichert und was noch schlimmer ist, eine Kurve wird auch nicht übernommen. Liegt das irgendwie an der Übergabe des handles? Momentan mache ich es so:
Code:

a = handles.axis1
 

Oder liegt es daran, dass ich mit plotyy arbeite? Die Kurve die fehlt, ist immer die von der zweiten y-Achse.
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 03.04.2008, 11:23     Titel:
  Antworten mit Zitat      
Zitat:
liegt es daran, dass ich mit plotyy arbeite?

definitiv!
PLOTYY erzeugt 2 Axes die hintereinander liegen. OFfensichtlich kopiertst Du jedoch nur eine Axes. Wenn Du mit COPYOBJ arbeitest, musst Du beide Axes kopieren. Am besten speicherst Du deren Handles bereits bei der Erzeugung:

Code:


AX beinhaltet nach der Ausführung die beiden Handles als Vektor, die Du dann mit COPYOBJ in ein neues Figure kopiereun musst.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Christian2

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.04.2008, 15:42     Titel:
  Antworten mit Zitat      
Hi,

ich hab wirklich alle Handles aufgesammelt. Die von den plots, die von der Legende, aber es klappt immer noch nicht. Die Kurve der rechten y-Achse fehlt immer noch und die Legende kommt auch nicht.

Und letzten Endes wird mir wieder die ursprüngliche Grafik zerschossen... Crying or Very sad
 
Christian2

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2008, 13:38     Titel:
  Antworten mit Zitat      
Hat keiner mehr eine Idee, wie ich eine Grafik mit "plotyy" aus meiner axes rausholen kann?
Wäre echt ne super Sache...
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.