|
|
Plot verschiebt sich nach der Betätigung eines Pushbuttons |
|
seackone |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 30.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.11.2013, 19:39
Titel: Plot verschiebt sich nach der Betätigung eines Pushbuttons
|
|
|
|
|
Guten Abend!
Bei mir ist es so das ich ein Script geschrieben habe, welches Messwerte von einer Webseite einliest, diese verarbeitet und eine FFT Analyse vornimmt.
Die Ergebnisse werden jeweils mit subplot(2,1,1) bzw. subplot(2,1,2) übereinander dargestellt. Das Figure - Fenster soll im Vollbildmodus mit:
set(plot,.....,'outerposition',[0 0 1 1]) geöffnet werden.
Dazu kommen noch diverse GUI's und hier liegt das Problem: sobald ich irgendeinen Pushbutton anklicke, verschieben sich alle Buttons sowie Textboxen ein kleines stück nach unten. Das Ereignis ist allerdings einmalig. Nur beim ersten klicken, beim weiteren Betätigen der Buttons bleibt alles so wie es ist.
Im Prinzip ist es nicht weiter problematisch, nur hat der erste Plot an der rechten Y - Achse eine zweite Beschriftung, die sich dann verschiebt. Somit werden Fehler beim Ablesen gemacht. Die Plots an sich scheinen sich ein wenig vertikal zu dehnen. Also wirklich minimal.. Leider dehnen die sich nicht genausoviel wie sich der nebenstehende Text verschiebt
Natürlich habe ich auch gesehen, dass es irgendwie möglich ist, die rechte Achsenbeschriftung abhängig vom Plot zu machen und nicht als Textbox darzustellen.
Trotzdem ist meine Frage: Wie kommt es, dass sich alles Verschiebt? Kennt jemand dieses Phänomen? Gibt es eine Möglichkeit das zu beheben?
Wünsche noch einen schönen Abend!
Gruß, seackone
|
|
|
|
|
consul |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 29.05.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.11.2013, 15:14
Titel:
|
|
Da ich mich GUI´s nicht wirklich auskenne kann ich nur ein bisschen raten.
Du definierst dir ja die Position deiner Ausgabe (plot) an irgend einem Koordinatenpunkt auf deinem Display.
Wenn du jetzt einen Button betätigst nehme ich einfach mal an er setzt den plot auf einen default Koordinatenpunkt, oder da ist ein anderer Koordinatenpunkt von dir eingestellt.
Grüße consul
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 23.11.2013, 18:25
Titel: Re: Plot verschiebt sich nach der Betätigung eines Pushbutt
|
|
Hallo seackone,
Ohne den Code zu sehen ist es unmöglich zu erraten, woran das liegt. Aber Du kannst es ganz einfach heraus finden. Setze einen Breakpoint in den Callback des Pushbuttons. Dann gehe mit dem Debugger Zeile für Zeile durch den Code bis der beobachtete Effekt auftritt. Damit hast Du den Befehl gefunden, der das Verschieben bewirkt. Wenn dann die Lösung noch nicht auf der Hand liegt, kannst den Code-Block hier posten.
Der Debugger ist wirklich die erste Wahl, wenn man herausfinden möchte, wann der Code was und wo macht.
Viele Grüße, Jan
|
|
|
seackone |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 30.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.11.2013, 06:49
Titel:
|
|
|
|
|
Guten Morgen und vielen Dank erstmal für eure Antworten.
@consul:
Die Plots haben keinen genauen Koordinatenpunkt zugewiesen bekommen, daher gehe ich einfach davon aus, dass sie sowieso auf default gesetzt sind.
Das Ganze läuft ja über "subplot", somit erhalte ich in einer Figure beide Abbildungen (eine oben, die andere darunter).
@Jan S
Den Code posten.. ehm jaa.. wird vielleicht nicht ganz so einfach da das mittlerweile doch etwas verschachtelt ist Aber im Prinzip:
uicontrol(h,'Style','PushButton','Tag','OK_Button',Units','Normalized','Position', [0.2 0.2 0.268 0.154], 'String', 'Accept Canges', 'Callback', @OnOK);
Also eigentlich ganz normal. Ansonsten folgt ja nur die Art des Buttons mit Bezeichnung, Position und Anzeigetext. Dann wird ebend eine Funktion aufgerufen, die gewisse Berechnungen anstellt und schließlich wieder plottet. Wenn ich das Programm starte, wird alles in figure(1) geöffnet. Wenn ich dann über die Pushbuttons Berechnungen anstellen lasse, werden die Ergebnisse wieder in figure(1) ausgegeben, da ich nicht möchte, dass sich so viele Fenster öffnen.
Kann hier aber vielleicht eine Ursache liegen?
Das mit dem Debugger ist jedenfalls eine gute Idee, werde ich mal ausprobieren!
Gruß
Edit:
Ich habe mir ebend jeden Schritt mal mit dem Debugger angeschaut. Das gibts doch gar nicht! Es funktioniert alles wunderbar. Wenn ich das alles einzeln ablaufen lasse, macht er genau das was er soll. Selbst wenn ich auf einen Pushbutton drücke, werde ich an die entsprechende Funktion weitergeleitet und die Ergebnisse werden anschließend geplottet. Nur verschiebt sich hier nix!
Edit2:
Seltsam, hab das alles jetzt ein paar mal durchlaufen lassen und probiert, anscheinend ist jetzt alles so wie es sein soll. Hab gar nix geändert!
mir ist aber aufgefallen das dieser Effekt trotzdem noch auftritt sobald man das Plotfenster maximiert. Eigentlich hatte ich ja schon mit ('outerposition',[0 0 1 1]) angegeben, dass es sich so groß wie möglich öffnen soll.. wenn ich dann allerdings das Fenster trotzdem maximiere, verschiebt es sich wieder.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|