我对二维线进行了动画处理,并且希望将其显示在绿线配色图中。该代码无法正常工作,因为我不确定在代码中何处分配颜色图,以及如何精确定义颜色图。
我尝试定义“ 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颜色栏中看到动画:从紫色开始,到黄色结束。但是我没有输出或错误消息。