【发布时间】:2021-03-04 20:57:40
【问题描述】:
我有这个示例代码,它可以工作。我对 python 真的很陌生,我来自 Matlab 和 Octave。我需要在 FOR 循环中操作变量(以与给定示例不同且更复杂的方式),然后我需要 gif 文件中的动画输出。使用此代码,我可以使用所需的 fps 正确可视化动画,但我无法找到一种简单的方法来将 plt.show() 时看到的动画保存到 gif 文件或多个 png 文件中。我该怎么办?
# basic animated mod 39 wheel in python
import matplotlib.pyplot as plt
import numpy as np
plt.close()
plt.rcParams.update({
"lines.color": "white",
"patch.edgecolor": "white",
"text.color": "lightgray",
"axes.facecolor": "black",
"axes.edgecolor": "lightgray",
"axes.labelcolor": "white",
"xtick.color": "white",
"ytick.color": "white",
"grid.color": "lightgray",
"figure.facecolor": "black",
"figure.edgecolor": "black",
"savefig.facecolor": "black",
"savefig.edgecolor": "black"})
plt.xlabel('real axis')
plt.ylabel('imaginary axis')
plt.title('events constellation')
plt.xlim(-4, 4)
plt.ylim(-4, 4)
plt.gca().set_aspect('equal', adjustable='box')
plt.draw()
mng = plt.get_current_fig_manager()
mng.full_screen_toggle()
for n in range(1,40):
cnums = 3 * np.exp(1j * 2 * np.pi * (1/39) * n)
x = cnums.real
y = cnums.imag
plt.scatter(x, y , label="event", marker="o", color="red", s=200)
plt.pause(1)
plt.show()
【问题讨论】:
-
这可能对你有帮助:eli.thegreenplace.net/2016/…
-
您好,感谢您的回复。在我询问之前我已经检查了该链接,但是我无法在我的代码中执行 plt.show() 之后或之前添加一个简单的命令,以将相同的动画保存在 gif、avi 或多个 png 文件中。这些选项中的任何一个都会有所帮助