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

Slider und Zoom

 

Gast der Hilfe braucht

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.04.2012, 15:16     Titel: Slider und Zoom
  Antworten mit Zitat      
Hi,

ich habe eine Frage. Ich habe mir eine Gui mit einem Axes gebastelt und einem Slider gebastelt. In dem Axes stelle ich eine Messung dar. Die Messung kann zeitlich von wenigen Sekunden bis mehrere Stunden bzw. Tage dauern. Zum Anfang lege ich den Slider wie folgt fest.

Code:

set(handles.slider,'Value',0.5*(min_Zeit + max_Zeit),'Sliderstep',[0.1 0.01],'min',min_Zeit,'max',max_Zeit);
 


Mit der dualcursor function aus dem matlab file exchange füge ich einen doppelten Messcursor ein. Wenn die Messung lang ist, zoome ich mittels der Cursorkoordinaten auf (lasse mir den Ausschnitt vergrößert im Axes darstellen). Ab hier möchte ich aber die Sliderstufen dynamisch verstellen. Es soll ständig Sliderstep [1/8 1/4] des aktuellen Zoomausschnitt gelten. Zum Beispiel schaue ich mir die Messung zwischen der 30 und 60s an, will ich nach rechts oder links scrollen können mit 1/8*(60-30)~3.75s bzw. 1/4*(60-30)~7.5s. Das soll dynamisch für jede Zoomstufe funktionieren und hier liegt mein Problem. Der Sliderstep muss nach Definition zwischen 0 und 1 liegen. Bisher hole ich mir über die dualcursor funktion die Koordinaten und setze
Code:

set(handles.axes,'XLim',[Pos_Cursor(1) Pos_Cursor(2)]);
set(handles.slider,'Sliderstep',[1/(Pos_Cursor(2)-Pos_Cursor(2)) 2/(Pos_Cursor(2)-Pos_Cursor(2))]
 


Schaue ich mir einen Auschnitt zwischen 100 und 200s an, müsste der Sliderstep 12,5s bzw 25s werden.

Ich hoffe jemand hat eine Idee, denn zur Zeit löse ich dieses Problem einfach nicht.


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 25.04.2012, 16:07     Titel: Re: Slider und Zoom
  Antworten mit Zitat      
Hallo,

Der SliderStep liegt zwischen 0 und 1, weil er relativ zu den Min und Max Werten definiert ist. Ein SliderStep von 1 bedeutet z.B., dass direkt von Min nach Max gesprungen wird.

Wenn Du also einen Ausschnitt zwischen 100 und 200 anschaust, hat dies die Länge 100. Für einen Schritt von 12.5 wäre der SliderStep auf 1/8 zu setzen, also 0.125.

Gruß, Jan
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.