首页 > 解决方案 > Matplotlib 滑块移动垂直轴

问题描述

我想制作一个滑块来移动垂直轴。我可以创建一个垂直轴:

plt.axvline(0.5, color = 'green')

我的代码基于matplotlip 的slider_demo.py示例

在该代码中,为了更新图表,他们调用:

l.set_ydata(amp*np.sin(2*np.pi*freq*t))

在哪里

l, = plt.plot(t, s, lw=2, color='red')

如何更改它以更新链接到滑块的垂直轴?(我应该使用哪些参数set_data来创建一个vertical_axis或另一个函数来更新该轴?)

编辑:

更具体地说,做:

plt.axvline(slider.val, color = 'green')

在滑块的更新功能中,在移动滑块时会创建一个新的垂直轴,但不会删除先前存在的垂直轴。如果我做

v = plt.axvline(0.5, color = 'green')

并在更新功能中

v.remove()
v = plt.axvline(slider.val, color = 'green')

它不起作用,轴保持在同一个地方。如果我在更新功能中这样做:

v.remove()
plt.axvline(slider.val, color = 'green')

它在我第一次移动滑块时起作用,但在那之后就不行了。

标签: pythonmatplotlib

解决方案


推荐阅读