【发布时间】:2021-04-08 15:08:55
【问题描述】:
我想做一个标准的 matplotlib 动画,我希望不同的组作为“单”线,而不是绘制共享相同 x 轴的 10 个组。对于上下文,我正在尝试绘制一个系列中 10 本书的情绪图表,并希望对每本书的线条进行颜色编码。我发现的所有动画线的搜索似乎都是您必须从 x = 0 开始到当前 x,这使得分配正确的着色标签变得困难。
以Animating "growing" line plot in 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()
【问题讨论】:
-
欢迎来到 Stack Overflow!请花点时间阅读How do I ask a good question?。您需要提供一个包含玩具数据集的Minimal, Complete, and Verifiable example(请参阅How to make good reproducible pandas examples)。
-
在您的情况下,请提供将在动画结束时生成情节的代码,或者至少提供您的数据以及该情节应该是什么样子以及您想要什么部分的模型动画
-
已发布!用代码更新帖子
标签: python matplotlib