带标签/图例matplotlib的线条动画

2024-03-28 10:52:30 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将标签/图例添加到matplotlib中的线条动画?在

def animate_solution(uf, u_analytical, u_numerical, ν, x, Δx, T, Δt, title=None):
    fig = plt.figure(figsize=(10,8))
    ax = plt.axes(xlim=(0.0, 2*np.pi), ylim=(0.0, 10.0))
    plt.title(title)
    plt.xlabel('$x$')
    plt.ylabel('$u$')

    # Initialise lines
    lines = []
    for index in range(2):
        lobj = ax.plot([],[])[0]
        lines.append(lobj)    

    def init():
        lines[0].set_data(x, u_analytical)
        lines[1].set_data(x, u_numerical)
        return lines,

    def animate_method(i, uf, u_analytical, u_numerical, ν, x, Δx, Δt):
        if i > 0:
            # Calcualte the new valus
            u_numerical = burgers(u_numerical, ν, x, Δx, Δt)
            u_analytical = np.asarray([uf(i*Δt, j, ν) for j in x])

        # Update data on the lines
        lines[0].set_data(x, u_analytical)
        lines[1].set_data(x, u_numerical)

        return lines

    return animation.FuncAnimation(fig, animate_method, fargs=(uf, u_analytical, u_numerical, ν, x, Δx, Δt), 
                                   init_func=init, frames=int(T/Δt), interval=50, repeat=False, blit=False)

当我稍后尝试调用lines.set_text时,使用类似lines.set_text的方法会出错,因为它声明没有初始化任何标签。我试过为一个新的物体set_texts做一个解,但是它到处跳跃,没有显示出画线的颜色。在


Tags: datareturntitleinitdeffigpltnumerical