Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 82c64c2

Browse files
committed
Slider kwarg 'valstep' allows restricts slider values to integer multiples
of 'valstep' (and valmax, if closedmax is True).
1 parent d0922df commit 82c64c2

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

lib/matplotlib/widgets.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,9 @@ class Slider(AxesWidget):
271271
272272
Call :meth:`on_changed` to connect to the slider event
273273
"""
274-
def __init__(self, ax, label, valmin, valmax, valinit=0.5, valfmt='%1.2f',
275-
closedmin=True, closedmax=True, slidermin=None,
276-
slidermax=None, dragging=True, **kwargs):
274+
def __init__(self, ax, label, valmin, valmax, valstep=None, valinit=0.5,
275+
valfmt='%1.2f', closedmin=True, closedmax=True,
276+
slidermin=None, slidermax=None, dragging=True, **kwargs):
277277
"""
278278
Parameters
279279
----------
@@ -334,6 +334,7 @@ def __init__(self, ax, label, valmin, valmax, valinit=0.5, valfmt='%1.2f',
334334
self.drag_active = False
335335
self.valmin = valmin
336336
self.valmax = valmax
337+
self.valstep = valstep
337338
valinit = self._value_in_bounds(valinit)
338339
if valinit is None:
339340
valinit = valmin
@@ -368,6 +369,8 @@ def __init__(self, ax, label, valmin, valmax, valinit=0.5, valfmt='%1.2f',
368369

369370
def _value_in_bounds(self, val):
370371
""" Makes sure self.val is with given bounds."""
372+
if self.valstep:
373+
val = round(val/self.valstep)*self.valstep
371374
if val <= self.valmin:
372375
if not self.closedmin:
373376
return

0 commit comments

Comments
 (0)