我试图创建一个滑块,允许用户调整我绘制的某些网格线的alpha值,但似乎更新功能不是好好工作。随着α值的增加,线条变暗,但它们不会随着值的降低而减少。任何帮助表示赞赏!
axcolor = 'lightgoldenrodyellow'
axalpha = plt.axes([0.2, 0.02, 0.65, 0.03], facecolor=axcolor)
salpha = Slider(axalpha, 'Grid alpha', 0.0, 1, valinit=0.1)
def update(val):
aval = salpha.val
g = ax.plot([grids[:,0], grids[:,2]], [grids[:,1], grids[:,3]],
color='black', alpha=aval, label = "Grid lines")
salpha.on_changed(update)
答案 0 :(得分:1)
您不是在更新线路,而是在旧线路上不断绘制新线条。为了更新一行,在更新函数之外创建一行,并仅使用更新函数来更新该行。
g = ax.plot([grids[:,0], grids[:,2]], [grids[:,1], grids[:,3]],
color='black', alpha=salpha.val, label = "Grid lines")
def update(val):
for line in g:
line.set_alpha(val)
salpha.on_changed(update)