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

x und y Achsenwert eines Mausklicks ausgeben

 

Carassius
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 29.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.11.2012, 06:27     Titel: x und y Achsenwert eines Mausklicks ausgeben
  Antworten mit Zitat      
Hallo zusammen,

ich bin leider ein ziemlicher Matlab-Noob und hab deshalb eine Frage, die vielleicht schon hundert mal beantwortet wurde. Ich konnte aber auch nach mehrstuendiger Suche nicht die passende Antwort finden, also entschuldigt bitte, wenn mein Problem bereits hier irgendwo im Forum behandelt wurde.

Ich habe einen Code in dem unter anderem eine figure mit x- und y- Achse erstellt wird. Der User soll nun die Moeglichkeit haben auf einen Datenpunkt in der figure zu klicken, wodurch sich ein neues Fenster mit einem Graphen oeffnen soll, der mit den x- und y-Werten des geklickten Datenpunkts arbeitet.
Ich hoffe, dass ich das soweit verstaendlich ausgedrueckt habe Razz

Mein Problem ist, dass ich bis jetzt noch keine funktionierende Moeglichkeit gefunden habe, den x-und y-Wert des geklickten Datenpunktes auszulesen (so wie es beim Data Cursor angezeigt wird) und diese an die callback Funktion weiterzugeben.

ginput gibt mir zwar x- und y-Werte zurueck, allerdinds sind das nicht die Werte bezueglich der Achsen in der figure, sondern eher die Position der Mausklicks im gesamten Fenster als Pixelwerte (das ist zumindest meine Vermutung). Ausserdem fuehrt der Mausklick ueber ginput nicht automatisch eine callback Funktion aus.

Deshalb habe ich jetzt "ButtonDownFcn' versucht, allerdings wird auch hier die Position relativ zum Fensterursprung ausgegeben und nicht die x- bzw. y-Position. Hinzu kommt, dass auch nur dann Werte angezeigt werden, wenn man sich in der Naehe des Fensterrandes befindet.

Hier waere mal der Code meiner (vereinfachten) Callback Funktion:

function callbackfcn(gcbo)
pos = get(gcbo,'CurrentPoint');
disp(pos);
end

Ich hoffe, es hat jemand eine Idee und kann mir weiterhelfen, ich bin naemlich langsam am verzweifeln :/


Vielen Dank schonmal!
Gruss
Carassius
Private Nachricht senden Benutzer-Profile anzeigen


keywee
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 29.11.12
Wohnort: Berlin
Version: R2012a
     Beitrag Verfasst am: 18.12.2012, 10:27     Titel:
  Antworten mit Zitat      
also wenn du beispielsweise ein Image darstellt und es mit hilfe eines handles.axis einlaedst kannst du mit der InitialMagnification, 100 dafuer sorgen das dir ginput auch wirklich die original pixelwerte wieder gibt! ich denke bei einen graphen wird es aehnlich sein... erstelle doch einfach mal eine einfach graph wo du dir einen punkt anguckst den du genau kennst!

imshow(IMAGE,'InitialMagnification',100);
[x,y] = ginput(1)
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 - 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.