|
Vanillebacke |
Forum-Century
|
|
Beiträge: 167
|
|
|
|
Anmeldedatum: 06.05.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014a
|
|
|
|
|
|
Verfasst am: 24.07.2009, 12:39
Titel: Alternative zur Legende
|
|
Moinsen,
ich habe in gui einen plot mit ca. 100 messreihen und möchte natürlich eine legende haben. dies funzt auch jedoch ist eine legende bei 100 variablen sehr unübesichtlich.
eine alternative, die ich gedacht habe ist folgendes:
ist es möglich, wenn ich mit der maus über einen der 100 graphen geh (mit anklicken gerne), dass man mir dann die Sensor Nummer (Variablen Name) darstellt, die er mir sonst in der Legende anzeigen würde???? wie lautet der code dazu???
danke für die hilfe schonmal!!!
gruß
vb
|
|
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.07.2009, 13:51
Titel:
|
|
Hallo,
Du könntest z.B. mit der buttondownfcn der Linien arbeiten. Mit inputname wird der Name der Übergabevariablen ausgelesen und ich speichere die in der jeweiligen Linie unter "userdata".
Kleines Beispiel:
Beispielaufruf:
|
|
|
Vanillebacke |
Themenstarter
Forum-Century
|
|
Beiträge: 167
|
|
|
|
Anmeldedatum: 06.05.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014a
|
|
|
|
|
|
Verfasst am: 29.07.2009, 07:20
Titel:
|
|
danke , aber ich habe leider keine idee wie und wo ich das in meinem gui einbringen muss????
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2009, 08:10
Titel:
|
|
Da ich Deinen Code nicht kenne, wird das ganze etwas schwierig zu beantworten.
Prinzipiell muss der Code (oder Teile/Varianten davon) dort eingefügt werden, wo Du den Plot erstellst.
Wichtig ist, dass Du Dir beim Plotten das handle auf die Linien zurückgeben lässt.
Damit setzt Du dann direkt nach dem Plot die Callback Funktion für die Linienplots (mit set...).Ich habe das Feld user data verwendet, um für jede Linie den Namen zu speichern, den ich ausgeben will.
Ob Du die Namen mit inputname ausliest wie ich in dem Beispiel oder irgendwo anders her hast, ist ja egal.
|
|
|
Vanillebacke |
Themenstarter
Forum-Century
|
|
Beiträge: 167
|
|
|
|
Anmeldedatum: 06.05.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014a
|
|
|
|
|
|
Verfasst am: 29.07.2009, 08:30
Titel:
|
|
wie hole ich mir dieses handle der linien denn zurück?
der plot befehl lauet bei mir:
Dort wollt ich jetzt teile von deinem code einbauen... kannst du mir da vielelicht weiterhelfen???
gruß
vb
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2009, 08:46
Titel:
|
|
Du hast das handle schon. Es ist der Rückgabewert von plot (also h).
Mit
erzeugst Du Dir ein Textfeld in dem steht, welche Linie ausgewählt wurde.
Die ersten beiden Parameter sind die Position, musst Du entsprechend für Deine Anwendung anpassen.
Durch
kannst Du z.B. die Linien einfach durchnummerieren (oder jeden anderen Namen zuweisen, der Sinn macht).
Mit
legst Du fest, dass immer wenn jemand eine der Linien anklickt, die Funktion mycb ausgeführt wird. Die Funktion bekommt als ersten Übergabeparameter das object, das den Callback ausgelöst hat (damit weisst Du welche Linie es war).
Die Funktion selber habe ich als nested function (verschachtelte Funktion) angelegt, damit ich einfach und direkt auf t (handle auf das Textfeld) zugreifen kann.
|
|
|
Vanillebacke |
Themenstarter
Forum-Century
|
|
Beiträge: 167
|
|
|
|
Anmeldedatum: 06.05.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014a
|
|
|
|
|
|
Verfasst am: 29.07.2009, 09:22
Titel:
|
|
klappt noch nicht ganz...
bis zur buttondownfcn habe ich das verstanden und auch umsetzen können. im grap wird mir auch das textfeld mit dem eintarg 'nothing selected' angezeigt.
die funct mycb habe ich noch nicht durchschauen können.
vom prinzip her aktualisiert sie mir doch die linien die ich anklicke??!!1
müsste bei mycb nicht h in die klammer und bei get auch???
bei mir erscheint dann immer die fehlermeldung
.....
too many input arguments...
sind aber auf den richtigen weg....
gruß vb
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2009, 09:46
Titel:
|
|
varargin steht für eine variable Anzahl von Eingabeargumenten. Es handelt sich dabei um den Datentyp cell, daher greife ich mit {} auf den Inhalt zu.
Es werden bei der Callback Funktion immer automatisch zwei Argumente mit übergeben: das Objekt (varargin{1}, in Deinem Fall ein handle auf die Linie die angeklickt wurde) und eine event-Struktur (varargin{2}, leer in diesem Fall).
Wenn Dir varargin nicht gefällt, kannst Du auch zwei eigene Namen übergeben:
|
|
|
Vanillebacke |
Themenstarter
Forum-Century
|
|
Beiträge: 167
|
|
|
|
Anmeldedatum: 06.05.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014a
|
|
|
|
|
|
Verfasst am: 29.07.2009, 10:16
Titel:
|
|
super es funktioniert-------
danke dir!!!
|
|
|
Vanillebacke |
Themenstarter
Forum-Century
|
|
Beiträge: 167
|
|
|
|
Anmeldedatum: 06.05.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014a
|
|
|
|
|
|
Verfasst am: 29.07.2009, 10:18
Titel:
|
|
eins wär noch super... kann man die text position variabel halten? Dort wo ich mit der maus klicke, soll dann der text stehen????
geht sicherlich oder?
gruß
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2009, 11:23
Titel:
|
|
das kannst Du folgendermaßen machen:
|
|
|
Vanillebacke |
Themenstarter
Forum-Century
|
|
Beiträge: 167
|
|
|
|
Anmeldedatum: 06.05.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014a
|
|
|
|
|
|
Verfasst am: 29.07.2009, 11:31
Titel:
|
|
|
|
|
|
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 - 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.
|
|