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

Aktiver Datenpunkt in Plot bei Mausbewegung aktualisieren

 

Feal

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2021, 17:44     Titel: Aktiver Datenpunkt in Plot bei Mausbewegung aktualisieren
  Antworten mit Zitat      
Hallo zusammen,

ich arbeite gerade an einer GUI zur Anzeige von Messdaten eines Laser Doppler Vibrometers. Dabei wird auf einer Oberfläche ein Messgitter erzeugt und man erhält für jeden Messpunkt die zeitabhängige Bewegung an dieser Stelle.
In dem angehängten Bild ist eine solche Linienmessung zu sehen. Oben sind insgesamt 389 Messpositionen (grün Punkte) mit den Koordinaten dargestellt. In der unteren Grafik wird das Signal des ausgewählten Punkts geplottet.
Aktuell habe ich es so gelöst, dass ich beim datacursormode eine UpdateFcn aktiviert habe, und in dieser dann das Signal zum angeklickten Punkt plotte.

Code:
               
app.dcm_obj = datacursormode(app.UIFigure);
set(app.dcm_obj,'DisplayStyle','datatip',...
   'SnapToDataVertex','on','Enable','on', ...
   'UpdateFcn',{@dcmUpdateFcn,app})
 


Code:
function txt = dcmUpdateFcn(~, eventObj,app)
    txt = {sprintf('x: %.3f mm', eventObj.Position(1)), sprintf('y: %.3f mm', eventObj.Position(2))};
    [index,~] = find(app.xySort.*1000==eventObj.Position(1));
    [time,amplitude] = app.LoadData(index);
    plot(app.UIAxes2,time*1e6,amplitude)
    if app.autoscaleCheckBox.Value
        app.UIAxes2.YLimMode = 'auto';
        ylimits = max(abs(app.UIAxes2.YAxis.Limits));
        ylim(app.UIAxes2,[-ylimits,ylimits])
    end
end
 


Momentan ist es allerdings so, dass ich für jede Aktualisierung auf einen Datenpunkt klicken muss. Schöner wäre es, wenn ich einfach auf einen Punkt klicken könnte, die Maus gedrückt halte und dann nur bewegen muss und es wird immer der nächstgelegene Punkt geplottet.
Diese Möglichkeit gibt es ja auch bei normalen Figures. Einfach Data Tips aktivieren und schon kann ich einen Punkt anklicken und dann über die Mausbewegung zu anderen wechseln.
Weiß jemand, wie ich dieses Verhalten auch in einer GUI realisiert bekomme?

Beste Grüße

Bildschirmfoto 2021-05-01 um 18.28.53.png
 Beschreibung:

Download
 Dateiname:  Bildschirmfoto 2021-05-01 um 18.28.53.png
 Dateigröße:  119.42 KB
 Heruntergeladen:  224 mal


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.