更新绘图参数

时间:2017-06-30 16:47:07

标签: python matplotlib

我试图创建一个滑块,允许用户调整我绘制的某些网格线的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)

1 个答案:

答案 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)