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

Plot an Axes-Objekt übergeben,aber aus anderem m-file

 

Dellirius
Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 06.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2009, 12:21     Titel: Plot an Axes-Objekt übergeben,aber aus anderem m-file
  Antworten mit Zitat      
Hi zusammen

Wie kann man einen Plot der in einem anderen m-file erstellt wird, an ein Axes-objekt übergeben?

Würde der Plot ebenfalls im m-file wo das GUI erstellt wird erstellt, währe die Lösung mit axes(handles.axis1).

Wie habe ich die Möglichkeit von extern darauf zuzugreifen?

MFG Fabian
Private Nachricht senden Benutzer-Profile anzeigen


josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 12.05.2009, 12:43     Titel:
  Antworten mit Zitat      
Code:
plot(findobj(gcf,'Tag','Graph'),x,y);

_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Dellirius
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 06.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2009, 13:29     Titel:
  Antworten mit Zitat      
Hi

Danke für die schnelle Antwort, diesen Ansatz hatte ich bereits versucht, doch leider funktioniert es nicht. Ich denke es fehlt noch etwas.

In meinem GUI(gui.m) hab ich zwei axes, eines mit Tag= 'inhibits', das andere mit 'axes_eeg'. Wende ich diesen Befehl für die zwei plots an im anderen m-file an.

Code:

bar(findobj(gcf,'inhibits,'Graph'),x,y);
plot(findobj(gcf,'axes_eeg','Graph'),x,y);
 


plottet er mir beides in inhibits rein. Besteht die möglichkeit das ich im gui.m evt die Figures noch definieren muss?

MFG Fabian
Private Nachricht senden Benutzer-Profile anzeigen
 
Dellirius
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 06.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2009, 15:17     Titel:
  Antworten mit Zitat      
Ich überlege gerade, ob es vielleicht etwas damit zu tun haben könnte, dass die Axes innerhalb eines Panels platziert sind. Im Objekt-Browser sind diese dem jeweiligen Panel untergeordnet. Hab ich evt. deswegen kein Zugriff?

mfg Fabian
Private Nachricht senden Benutzer-Profile anzeigen
 
josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 12.05.2009, 15:55     Titel:
  Antworten mit Zitat      
versuch mal mit dem Befehl:
Code:
set(gcbf,'CurrentAxes',handles.Axis);
plot(x,y);
 


Gruß,

Jose
_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Dellirius
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 06.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2009, 22:42     Titel:
  Antworten mit Zitat      
Hi,...nachdem ich die beiden Axes aus den Panels genommen habe, hat es inzwischen funktoniert.

Nur stellt sich inzwischen ein weiteres Problem dar. Wie schon erwähnt plotte ich gleichzeitig in zwei verschiedene Axes im gui.m. Diese beiden Plots werden aus je einem M-File geplottet. Was ich folgend nun realisiert habe.

inhibits.m
Code:

h1 = findobj(gcf,'Tag','axes_inhibits');
set(gcbf,'CurrentAxes',h1);
plot(x,y);
 


eeg.m
Code:

h2 = findobj(gcf,'Tag','axes_eeg');
set(gcbf,'CurrentAxes',h2);
plot(x,y);
 


Das Problem ist aber, das er diese beiden Plots in einem Figure plottet! Mir ist das aufgefallen als ich mein GUI geschlossen habe, und er dan das Figure öffnete und die beiden plots dort zuende geplottet hat.

Hast du, oder jemand vielleicht eine Idee?...

Griässli Fabian
Private Nachricht senden Benutzer-Profile anzeigen
 
Dellirius
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 06.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2009, 09:29     Titel:
  Antworten mit Zitat      
Ich wollte kurz mitteilen, das ich die Lösung für mein Problem doch noch gefunden und werde das hier posten, damit andere sich nich auch noch die Finger ausbeissen. Obwohl ich schlussendlich sagen muss, es wahr sehr trivial Smile

Code:

axes_inhibits=findobj(meingui,'Type','axes','Tag', 'axes_inhibits');
axes(axes_inhibits)
 


ich musste einfach noch den Namen meines GUI bei findobj einpacken, dann hat er das schön getrennt geplottet.

Das ganze scheint aber trotz allem bisschen langsam zu sein, leider.

griässli Fabian
Private Nachricht senden Benutzer-Profile anzeigen
 
ja

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.06.2010, 15:10     Titel:
  Antworten mit Zitat      
Kann jemand mir helfen?

Ich habe ach so gemacht.

Code:

axes_inhibits=findobj(meingui,'Type','axes','Tag', 'axes_inhibits');
axes(axes_inhibits)
 


Aber es funktioniert nur bei erstem Mal, wenn ich auf push button drücke. Wen ich noch ein Mal so plotten möchte, tritt dann der folgende Fehler auf:

??? Error using ==> axes
Invalid object handle

Error in ==> Hauptprogramm
axes(axes_inhibits)

Bitte hilf mir dringlich

Danke
 
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 - 2025 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.