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

Graph aus GUI entfernen

 

Qbella
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 04.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.06.2009, 15:26     Titel: Graph aus GUI entfernen
  Antworten mit Zitat      
Hey,

ich habe eine GUI Oberfläche programmiert. Diese gibt per Knopfdruck einen Graphen aus. Ich habe dazu noch einen weiteren Button eingefügt, der diesen Graph wieder löschen soll.

Wenn ich dann wieder auf den ersten Button drücke, soll ein neuer Graph erzeugt werden. Wie funktioniert dies?

Ich habe dies mit dem Befehl "delete(handles.Graph)" versucht... aber das funktioniert nicht in dem Sinne, wie ich es gerne haben möchte.

Habt ihr irgendwelche Ideen?

Gruß Qbella
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 04.06.2009, 16:44     Titel:
  Antworten mit Zitat      
Moin,

durchsuche mal das Forum nach deinem Problem. Diese Thematik wurde hier schon des öfteren besprochen.

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Qbella
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 04.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.06.2009, 14:10     Titel:
  Antworten mit Zitat      
Okay danke... hab was passendes gefunden, was auch funktioniert. Aber wie es halt immer ist, tauchen immer wieder neue Probleme auf. ^^

Mein neues Problem besteht darin: Ich habe zwei axes erstellt. Das eine ist dauerhaft als Bild in der GUI integriert und in die andere axes wird nach drücken eines Buttons eine Grafik erstellt.
Ein anderer Button soll nun, diese Grafik speichern. Ich hab das Forum und andere Seiten schon durchsucht, aber irgendwie keine konkrete Antwort gefunden.
Der Befehl "saveas" erzeugt bei mir nur ein Bild der ganzen GUI (will aber nur die Grafik) und der Befehl "print" erzeugt mir nur einen Ausschnitt der GUI. Aber leider nur den falschen.

Code:
print -fGraph -djpeg myplot.jpg


Meine axes hat in diesem Fall den Tag "Graph".

Ich freu mich über jede Hilfe, die ich bekommen kann. Danke Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 06.06.2009, 17:41     Titel:
  Antworten mit Zitat      
Moin,

ich wüde es so lösen, dass du den Inhalt in temp. neues unsichtbares Figure kopierst und dieses speicherst:
Code:
% unsichtbare Figure erstellen mit axes erstellen:
hfig = figure('Visible','off');
haxes = axes('Parent',hfig);
% Graphik-Objekte kopieren
temphandle = copyobj(findobj('Tag','Graph'),haxes);
% speichern (ich würde immer png dem jpg vorziehen)
print(hfig,'-dpng','myplot.png');
% schließen der temp. figure
close(hfig);


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Qbella
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 04.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2009, 16:59     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort. Mit deinem Code hat es jetzt geklappt.

Allerdings musste ich ihn noch abwandeln:
Code:
findobj('Tag','Graph')


Weil dies immer leer war und somit einfach nur die Achsen gespeichert wurden.
Aber ich habe das jetzt folgendermaßen gemacht und es funktioniert super:

Code:
hfig = figure('Visible','off');
haxes = axes('Parent',hfig);
temphandle = copyobj(allchild(handles.Graph),haxes);  
print(hfig,'-dpng',NamePlot);
close(hfig);
 


Nochhmal vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen
 
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.