小编lmm*_*mms的帖子

如何对 matplotlib 中的二维数组数据使用 line.set_data ?

我正在尝试在 matplotlib 中同时为多行设置动画。为此,我遵循 matplotlib.animation 文档中的教程:

https://matplotlib.org/stable/api/animation_api.html

本教程的想法是创建一条线ln, = plt.plot([], [])并更新该线的数据ln.set_data以生成动画。虽然当线数据是 n 个数据点的一维数组 (shape = (n,)) 时,这一切都工作正常,但当线数据是 n 个数据点的 2 维数组 (shape = (n,k)) 时,我遇到了麻烦要绘制的 k 条线。

更准确地说,plt.plot接受数组作为输入,每列对应于要绘制的新线。下面是一个简单的示例,通过一次plt.plot调用绘制了 3 条线:

import matplotlib.pyplot as plt
import numpy as np


x = np.linspace(0, 2 * np.pi, 100).reshape(-1, 1)
x = np.concatenate([x] * 3, axis=1)

# generate 3 curves
y = np.copy(x)
y[:, 0] = np.cos(y[:, 0])
y[:, 1] = np.sin(y[:, 1] )
y[:, 2] = …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib matplotlib-animation

2
推荐指数
2
解决办法
2万
查看次数

标签 统计

matplotlib ×1

matplotlib-animation ×1

numpy ×1

python ×1