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

Probleme mit GUI beim Schließen einer figure

 

kleine
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.10.2008, 23:12     Titel: Probleme mit GUI beim Schließen einer figure
  Antworten mit Zitat      
Hallo zusammen,

ich habe folgendes Problem:

Als Ergebnis einer Berechnung wird eine pcolor-figure mit Titel, Achsenskalierung, Achsenbeschriftung und colorbar ausgegeben. Schließe ich diese figure, taucht im Hintergrund meines GUIs ein Koordinatensystem auf... Hole ich bei geöffneter figure das GUI in den Vordergrund, passiert nichts.

Kennt jemand eine Möglichkeit, das zu verhindern?


Vielen Dank im Voraus!


LG
Anika
Private Nachricht senden Benutzer-Profile anzeigen


Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 31.10.2008, 12:21     Titel:
  Antworten mit Zitat      
Hallo,

ja, gibt es. Alle Grafik-Funktionen malen/schreiben/etc. in das aktuelle Fenster (das ist entweder Dein separates figure oder das GUI, je nachdem). Allerdings kann man bei allen auch angeben, welches Fenster/Achsensystem verwendet werden soll.
Wenn also Du irgendwo geschrieben hast:
Code:
handles.hAusgabeFenster = figure;
handles.hAusgabeAchsen = axes;
 

dann kannst Du später mit
Code:
title(handles.hAusgabeAchsen, 'Ueberschrift')
 
oder
Code:
pcolor(handles.hAusgabeAchsen,...')

genau vorgeben, wohin ausgegeben wird.

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
kleine
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.10.2008, 13:38     Titel:
  Antworten mit Zitat      
Hallo Titus,

danke für Deine Antwort, ich habs jetzt noch nicht ausprobiert, kann ich erst daheim machen...

Das witzige ist eigentlich, dass er die figure vollkommen korrekt erstellt, also mit Titel, etc. Und erst, wenn ich die figure schließe, erscheint das Koordinatensystem im GUI. Das Teil hat dann auch nichts mit meiner Grafik zu tun, also weder Skalierungsmäßig noch Tiel noch sonstwas.
Ich kann auch eine weitere Berechnung beauftragen ohne, dass was passiert. Nur eben, wenn ich die figure schließe...

Aber ich werde das daheim auf jeden Fall mal mit handles probieren. Ich dachte ich komme ohne aus, weil ich ja eh immer nur die aktuelle Grafik bearbeite und nicht zwischen den figures springe... scheint wohl doch nicht der Fall zu sein.

Danke & Grüße
Anika
Private Nachricht senden Benutzer-Profile anzeigen
 
kleine
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.11.2008, 19:34     Titel:
  Antworten mit Zitat      
sodala, habs ausprobiert und leider geht es noch nicht, da will ich aber nicht ausschließen, dass es an mir liegt. Nach dem Tipp, dass es sich um ein Handle-Problem handeln könnte, habe ich mal getestet, mit welcher Aktion das Problem auftritt.

Ich kann in der neuen Figure einen Titel vergeben (ohne Handle), Achsen beschriften und eine colorbar erzeugen. Sobald ich aber an die Achsen gehe (XTick, xlabel, etc.), habe ich ein Axes-Objekt in meinem GUI-Fenster, wenn ich die figure schließe. Die Änderungen werden auch nicht ins figure-Fenster übernommen.

Mit den handles bekomme ich bei title eine Fehlermeldung, dass die Anzahl der Input-Argumente nich stimmt. Ich poste mal das Original, vielleicht fällt da ja jemandem was auf. Nochmal zur Info: Das ganze wird aus einem GUI aufgerufen:
Code:

       [x Laenge] = size(Spektrum)
        fx_max = round(max(fx_korr));
        x_Tick = 0:500:fx_max;
        fy = 1:3:x_Spektren*3;
        length(fy)
        figure
        title('Ergebnis - Spektrum des Signals');
        pcolor(fx_korr, fy, Spektrum);
        shading interp
        colorbar
        set(gca,'XTick',x_Tick);
        xlabel('Frequenz [Hz]');
        ylabel('Zeit [s]');
 


Danke für Eure Hilfe!

Grüße
Anika
Private Nachricht senden Benutzer-Profile anzeigen
 
Schrank
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 10.07.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 04.11.2008, 14:37     Titel:
  Antworten mit Zitat      
Hallo,
versuch mal
Code:

       [x Laenge] = size(Spektrum)
        fx_max = round(max(fx_korr));
        x_Tick = 0:500:fx_max;
        fy = 1:3:x_Spektren*3;
        length(fy)
        figure
        h = axes;
        title('Ergebnis - Spektrum des Signals');
        pcolor(fx_korr, fy, Spektrum);
        shading interp
        colorbar
        set(h,'XTick',x_Tick);
        xlabel('Frequenz [Hz]');
        ylabel('Zeit [s]');
 


Gruß Schrank
Private Nachricht senden Benutzer-Profile anzeigen
 
kleine
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2008, 19:16     Titel:
  Antworten mit Zitat      
Hallo Schrank,

das ist schon eine Version, die ich getestet habe Wink

Nach heutigen Recherchen vermute ich ein Versionsproblem. Ich habe nämlich nur eine uralte Build 12-Lizenz Sad((( Naja, in der Arbeit habe ich 2006a und da funktioniert es einwandfrei. Ich denke, ich werde mir einen Workaround überlegen, vielleicht ein Kasten einfügen, der das Teil dann abdeckt oder so... Hab aber noch nicht probiert, ob das geht und komme vermutlich auch nicht vor morgen dazu.

Das Problem ist wohl der colorbar-Befehl, denn da gibt es einen neueren in den neueren Matlab-Versionen....



LG
Anika
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.