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

Skip to content

Commit fc4acd6

Browse files
committed
allow not drawing the line marking initial slider position
also clean up slider docstrings + lint
1 parent fc8edce commit fc4acd6

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

examples/widgets/slider_snap_demo.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
==========================
55
66
You can snap slider values to a discrete values using either the ``valstep``
7-
argument.
7+
argument.
88
99
In this example the Freq slider is constrained to be multiples of pi, and the
1010
Amp slider uses an array as the ``valstep`` argument to more densely sample
@@ -31,8 +31,12 @@
3131
allowed_amplitudes = np.concatenate([np.linspace(.1, 5, 100), [7, 8, 9, 10]])
3232

3333
# create the sliders
34-
samp = Slider(axamp, 'Amp', 0.1, 10.0, valinit=a0, valstep=allowed_amplitudes)
35-
sfreq = Slider(axfreq, 'Freq', 0, 10*np.pi, valinit=f0, valstep=np.pi)
34+
samp = Slider(axamp, "Amp", 0.1, 10.0, valinit=a0, valstep=allowed_amplitudes)
35+
36+
# set initcolor to None to remove the line marking the valinit position
37+
sfreq = Slider(
38+
axfreq, "Freq", 0, 10 * np.pi, valinit=f0, valstep=np.pi, initcolor=None
39+
)
3640

3741

3842
def update(val):

lib/matplotlib/widgets.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ class Slider(AxesWidget):
255255
def __init__(self, ax, label, valmin, valmax, valinit=0.5, valfmt=None,
256256
closedmin=True, closedmax=True, slidermin=None,
257257
slidermax=None, dragging=True, valstep=None,
258-
orientation='horizontal', **kwargs):
258+
orientation='horizontal', *, initcolor='r', **kwargs):
259259
"""
260260
Parameters
261261
----------
@@ -295,13 +295,17 @@ def __init__(self, ax, label, valmin, valmax, valinit=0.5, valfmt=None,
295295
dragging : bool, default: True
296296
If True the slider can be dragged by the mouse.
297297
298-
valstep : float or arraylike, default: None
298+
valstep : float or array-like, default: None
299299
If a float, the slider will snap to multiples of *valstep*.
300300
If an array the slider will snap to the values in the array.
301301
302302
orientation : {'horizontal', 'vertical'}, default: 'horizontal'
303303
The orientation of the slider.
304304
305+
initcolor : color or None, default: 'r'
306+
The color of the line at the *valinit* position. If None then
307+
no line will be drawn.
308+
305309
Notes
306310
-----
307311
Additional kwargs are passed on to ``self.poly`` which is the
@@ -338,10 +342,12 @@ def __init__(self, ax, label, valmin, valmax, valinit=0.5, valfmt=None,
338342
self.valinit = valinit
339343
if orientation == 'vertical':
340344
self.poly = ax.axhspan(valmin, valinit, 0, 1, **kwargs)
341-
self.hline = ax.axhline(valinit, 0, 1, color='r', lw=1)
345+
if initcolor is not None:
346+
self.hline = ax.axhline(valinit, 0, 1, color=initcolor, lw=1)
342347
else:
343348
self.poly = ax.axvspan(valmin, valinit, 0, 1, **kwargs)
344-
self.vline = ax.axvline(valinit, 0, 1, color='r', lw=1)
349+
if initcolor is not None:
350+
self.vline = ax.axvline(valinit, 0, 1, color=initcolor, lw=1)
345351

346352
if orientation == 'vertical':
347353
ax.set_ylim((valmin, valmax))

0 commit comments

Comments
 (0)