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

Plots in Gui

 

Red fox
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 16.07.09
Wohnort: Thüringen
Version: ---
     Beitrag Verfasst am: 22.11.2009, 13:11     Titel: Plots in Gui
  Antworten mit Zitat      
Moin zusammen,

habe 2 Plots in einem Gui abgebildet:

Code:

plot (handles.axes1,a,b,'-obl',a,c,'-xr');
xlabel (handles.axes1,'');
ylabel (handles.axes1,'');
title (handles.axes1,'\fontsize{12}xy');
legend (handles.axes1,'',,2);

plot (handles.axes2,x,b,'-obl',x,c,'-xr');
xlabel (handles.axes2,'');
ylabel (handles.axes2,'');
title (handles.axes2,'\fontsize{12}xx');
legend (handles.axes2,'','',2);
saveas (gcf,'blah.bmp');

clear all;
delete axes1;
delete axes2;
 


Problem an der Sache:
1. Das Gitter wird nur beim ersten Plot nicht dargestellt (auch wenn ich grid on/off verwende) oder ich habe es falsch gesetz, hold on war mal vor beiden Plots dann zwischen beiden hold off immer am Ende.
2. Wenn ich einen anderen DAtensatz eigeben, wird nur das erste Diagramm überschrieben, d.h. die alten Werte werden gelöscht. Im zweiten Diagramm bleiben diese erhalten.

Wie kann ich die Inhalte in einem Diagramm generell löschen bzw. beim nächsten Aktivieren des Gui (über Callbakck fkt) überschreiben?

Kann mir jemand sagen, was der/die Fehler sind?

Gruß
Denis
Private Nachricht senden Benutzer-Profile anzeigen


LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2009, 09:30     Titel:
  Antworten mit Zitat      
Hallo,

wie hast Du denn hold bzw. grid verwendet?
Die Befehle kann man ja so
Code:

oder so
Code:

hold(axes1,'on')
grid(axes1,'on')
 

Gerade wenn Du mit mehreren Achsen arbeitest würde ich die zweite Variante empfehlen; damit kannst Du sicherstellen, dass die Befehle auf die richtige Achse angewendet werden.

Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
Red fox
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 16.07.09
Wohnort: Thüringen
Version: ---
     Beitrag Verfasst am: 23.11.2009, 14:21     Titel:
  Antworten mit Zitat      
Moin LittleX,

danke für die Antwort, der Ausdruck sieht nun so aus:

Code:

hold(handles.axes1,'on');
grid(handles.axes1,'on');
 


da ich die Achsen immer mit handles angesprochen habe, musste ich es davor schreiben.

Weisst du denn wie ich die Diagramme beim nächsten Ausfruf des Gui's (über einen Push-Botten) überschreiben kann? Habe in die Funktion des Push-Button schon folgendes ausprobiert:

Code:

delete handles.axes1;
clear handles.axes1;
 


beides fkt. nicht.

Gruß
Red Fox
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2009, 14:36     Titel:
  Antworten mit Zitat      
Hallo,

sobald Du hold wieder auf off setzt, wird das Diagramm beim Aufruf vom nächsten Plot Befehl wieder überschrieben.

Mit
Code:

delete handles.axes1;
 

löscht Du die komplette Achse. Damit wird Dein handle ungültig.

Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
Red fox
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 16.07.09
Wohnort: Thüringen
Version: ---
     Beitrag Verfasst am: 23.11.2009, 14:52     Titel:
  Antworten mit Zitat      
Moin LittleX,

also der Befehl wars nun:

Code:

hold (handles.axes1,'off');
hold (handles.axes2,'off');
 


danke, nun ist es so wie ich es wollte, nur inner Hilfe fand ich diese Befehle bislang nicht.

Gruß
Red Fox
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.