gpt4 book ai didi

python - Matplotlib:动画多个散点图

转载 作者:行者123 更新时间:2023-12-01 09:32:35 26 4
gpt4 key购买 nike

我正在尝试创建一个动画,显示多个粒子四处移动。

如果我有一个粒子,其中一个数组给出了该粒子在动画的每一步中的位置,我就可以让它工作(主要感谢我在 stackoverflow 上找到的其他答案的广泛帮助)。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation


positions = np.array([[2,2],[3,3],[4,4]])


def init():
scatterplot.set_offsets([[], []])
return [scatterplot]

def update(i, scatterplot, positions):
scatterplot.set_offsets(positions[i])
return [scatterplot]

fig = plt.figure()

scatterplot = plt.scatter([], [], s=100)
plt.xlim(0,5)
plt.ylim(0,5)
anim = animation.FuncAnimation(
fig, update, init_func=init, fargs=(scatterplot, positions), interval=1000, frames=3,
blit=True, repeat=True)
plt.show()

但我不知道如何向同一动画添加更多粒子。假设我想添加第二个具有位置的粒子

positions2 = np.array([[2,1][3,2][4,3]])

并让它在同一个散点图中移动,我该如何管理?

我是一个 matplotlib 新手,一直在谷歌上疯狂搜索但没有结果,将非常感谢任何帮助:)

编辑:我最终想通了,只需正确格式化数据即可。

positions = np.array([[[2,2],[2,1]],[[3,3],[3,2]],[[4,4],[4,3]]])

如果数组包含第一步中的所有位置,则第二步中的所有位置等都有效。我更喜欢为移动点获取一种颜色,以跟踪它们,但至少现在它可以工作。

最佳答案

我最终想通了,只需正确格式化数据即可。

positions = np.array([[[2,2],[2,1]],[[3,3],[3,2]],[[4,4],[4,3]]])

如果数组包含第一步中的所有位置,则第二步中的所有位置等都有效。我更喜欢为移动点获取一种颜色,以跟踪它们,但至少现在它可以工作。

关于python - Matplotlib:动画多个散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49835134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com