matplotlib - 如何将颜色图分配给 matplotlib 图形动画?
问题描述
我已经动画了一条二维线,我希望它显示在 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 颜色栏中看到动画:从紫色开始,以黄色结束。但我没有得到任何输出或错误消息。
解决方案
推荐阅读
- php - 如何访问具有可变变量的关联数组的特定深度
- javascript - 如何将 Angular 7 项目部署到 Google Cloud
- php - Sharedpreferences 不保存用户数据
- vb.net - 如何获得方程式的特定代码
- time - Unetstack模拟器中模拟脚本中模拟时间的默认单位
- python - 如何在 Gmail API 中正确设置“In-Reply-To”和“Reference”标头
- ssl - 如何保护 ELK 和 Filebeat?
- r - 为什么我在过滤数据集中的变量时只收到“NA”的结果?
- c# - 如何创建具有 http post 功能的 Web Api,该功能可以从正文中获取任何动态 json 内容并能够将其解析为字符串
- java - 事务提交后休眠线程未完成