gpt4 book ai didi

python - 更新 matplotlib 动画中的三色图

转载 作者:太空宇宙 更新时间:2023-11-03 17:27:54 25 4
gpt4 key购买 nike

我一直在尝试从图形 tripcolormatplotlib 中创建动画。假设我有

field = ax.tripcolor(tri, C)

如何在动画每次迭代后更改 C 的值?

非常感谢,

最佳答案

field 保证是 matplotlib.collections.Collection 基类的实例,它有助于定义 set_array() 方法就是这样的场合。

在动画的每次迭代中,只需将 C 的新值传递给 field.set_array() 方法即可。假设您使用 FuncAnimation 类来实现动画,正如您可能想要的那样,这可以简化为:

fig = plt.figure()
ax = plt.subplot(111)

field = ax.tripcolor(tri, C)

def update_tripcolor(frame_number):
# Do something here to update "C"!
C **= frame_number # ...just not this.

# Update the face colors of the previously plotted triangle mesh.
field.set_array(C)

# To triangular infinity and beyond! (Wherever that is. It's probably scary.)
FuncAnimation(fig, update_tripcolor, frames=10)

另一方面,更新 tri 则要困难得多。虽然这个问题并不试图这样做,但敏锐的读者可能会好奇,您基本上必须删除、重新创建并重新添加整个三角形网格(即 field)到此图形的轴。当然,这既低效又痛苦。 (欢迎来到 Matplotlib。人口:你。)

field.set_array() 与您同在。

关于python - 更新 matplotlib 动画中的三色图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32316063/

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