【问题标题】:Defining an array of specific slider values in matplotlib vice using valmin and valmax使用 valmin 和 valmax 在 matplotlib 中定义特定滑块值的数组
【发布时间】:2020-07-08 21:59:10
【问题描述】:

查看slider_demo.py,作者有如下代码:

axcolor = 'lightgoldenrodyellow'
axfreq = plt.axes([0.25, 0.1, 0.65, 0.03], facecolor=axcolor)
axamp = plt.axes([0.25, 0.15, 0.65, 0.03], facecolor=axcolor)

sfreq = Slider(axfreq, 'Freq', 0.1, 30.0, valinit=f0, valstep=delta_f)
samp = Slider(axamp, 'Amp', 0.1, 10.0, valinit=a0)

其中,在sfreq 中,例如0.130.0 的值分别为valminvalmax,并且滑块值递增delta_f

我想改为定义一个值数组

valarray = [0.1, 1, 3, 5, 15, 20, 27, 30]

其中,此值数组是在移动滑块时唯一选择、显示或可用的值。这似乎不是此小部件的明确选项。

我能够动态更新此列表也会有所帮助,但不是必需的。

提前感谢您的帮助和帮助。

【问题讨论】:

    标签: python matplotlib slider interactive


    【解决方案1】:

    您可以使用此行设置 Slider 的主要刻度:

    axfreq.set_xticks(np.array([0.1, 1, 3, 5, 15, 20, 27, 30]), minor = False)
    

    最终,您还可以通过设置minor = True 来设置次要刻度。

    【讨论】:

    • 感谢您的快速回复。我不知道这个功能,但我打算使用它!但是,虽然这显示了刻度线,但滑块不会在每个用户定义的离散刻度处停止,这正是我正在寻找的。 ——
    • 在这种情况下,也许您应该考虑将离散范围选择小部件用作RadioButtonsSlider 被认为用于连续范围选择。
    • 我也想过,可惜数字太多,剧情会变得杂乱无章。
    猜你喜欢
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    相关资源
    最近更新 更多