如何为matplotlib图形动画分配颜色图?

时间:2019-02-12 02:10:51

标签: matplotlib animation colors viridis

我对二维线进行了动画处理,并且希望将其显示在绿线配色图中。该代码无法正常工作,因为我不确定在代码中何处分配颜色图,以及如何精确定义颜色图。

我尝试定义“ viridis”并在不同地方调用它,包括在定义的函数“ LineAnimation”之内和之外,以及在“ LineAnimation”的“ animate”函数之内。当前代码如下:

from matplotlib import cm
from matplotlib.colors import ListedColormap, LinearSegmentedColormap
from collections import OrderedDict
viridis = cm.get_cmap('viridis', 12)

def LineAnimation(Song,Times):

    fig1 = plt.figure()
    ax = plt.axes(xlim=(0, len(song)), ylim=(-np.amax(song), np.amax(song)))
    #ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))
    line, = ax.plot([], [], lw=2)


    def init():
        line.set_data([], [])
        return line,

    def animate(i):
        x = times[:i]
        y = song[:i]
        line.set_data(x, y)
        line.register_cmap(name='viridis', cmap=viridis)
        line.set_cmap(viridis)

        return line,

    anim = animation.FuncAnimation(fig1, animate, init_func=init,
                                   frames=len(song), interval=20, blit=True)

    plt.show()
    return anim

我希望在viridis颜色栏中看到动画:从紫色开始,到黄色结束。但是我没有输出或错误消息。

0 个答案:

没有答案