python - 单行上的 matplotlib 动画组
问题描述
我想做一个标准的matplotlib动画,我希望不同的组作为“单”线,而不是绘制共享相同x轴的10个组。对于上下文,我正在尝试绘制一个系列中 10 本书的情绪图表,并希望对每本书的线条进行颜色编码。我发现的所有动画线的搜索似乎都是您必须从 x = 0 开始到当前 x,这使得分配正确的着色标签变得困难。
例如,以Python/Matplotlib 中的动画“增长”线图为例。假设我想x in [0,10)
作为一组,x in [10,20)
作为第 2 组,等等。我将如何以动画方式做到这一点?
我正在尝试获取动画版本:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as ani
%matplotlib notebook
import matplotlib.colors as mcolors
colors = list(mcolors.XKCD_COLORS.keys())[0:10]
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
line, = ax.plot(x, y, color='k')
def update(num, x, y, line):
line.set_data(x[:num], y[:num])
line.axes.axis([0, 10, 0, 1])
return line,
anim = ani.FuncAnimation(fig, update, len(x), fargs=[x, y, line],
interval=25, blit=True)
plt.show()
看起来像这样,但每个段都有一种颜色的动画:
plt.figure()
x_beg = 0
for i in range(1,11):
plt.plot(x[x_beg:(x_beg + i * 10)],
y[x_beg:(x_beg + i * 10)],
label=i)
x_beg += i * 10
plt.legend(loc='best', fontsize=15)
plt.show()
解决方案
我想出的答案是创建 X 组我想要绘制的填充线,用 nan 填充我不想显示的值,然后同时为所有线设置动画
推荐阅读
- arrays - 通过指针数组获取输入
- php - Laravel 123 中的数组推送
- reactjs - 将 React Markdown NPM 导入 Codepen 会返回空白页
- javascript - 深度优先搜索的深拷贝对象
- python - Django DRF在自定义装饰器中获取请求查询参数,应用于viewsets.ViewSet中的函数
- javascript - 无法将 Ajax 数据传递到 HTML 表中
- laravel - SPA 和外部用户的相同 API 路由
- python - 在 Odoo12 中从 Jquery 调用 python 函数?
- flutter - 收到 fcm onBackgroundMessage 后颤振打开应用程序
- json - 即使 application/json 标头存在,lambda 函数中的 event.body 也不是对象