1
我正在一個項目上工作,我想動畫我的一些結果。對於我的項目有很多計算完成,但有一個參數,我想改變。Multiplot Animation
我已經做了一些模擬代碼來說明我的問題:
import matplotlib.pyplot as plt
import numpy as np
alpha = np.linspace(1, 10, 50)
x = np.linspace(0, 10, 100)
y = x * x
for i in range(len(alpha)):
plt.plot(x, alpha[i] * y)
plt.title("Alpha = " + str(alpha[i]))
plt.xlim(0, 10)
plt.ylim(1, 100)
plt.savefig("./animation_test/" + str(i) + "_Alpha=" + str(alpha[i]) + ".png")
plt.close()
這讓我有我的圖片文件夾中我做了所謂的animation_test。現在,我只是要在我的bash終端運行像
$convert -delay 50 * test.gif
做一個簡單的小動畫GIF,但在我的終端排序是有點滑稽
0_Alpha=1.0.png
10_Alpha=2.83673469388.png
11_Alpha=3.02040816327.png
.
.
.
19_Alpha=4.48979591837.png
1_Alpha=1.18367346939.png
20_Alpha=4.67346938776.png
21_Alpha=4.85714285714.png
.
.
.
現在在我的搜索,他們是按正確的順序列出。有沒有更好的方法來標記這些文件,甚至是一個更好的方式來做動畫整體?最終產品不一定是.gif,只是我可以玩的東西。
這聽起來像你只是希望像'文件名= 「/path/{:02}_Alpha={:0.3f}.png」。格式(i,alpha [i])'這樣你的文件名將是'00_Alpha ...','01_Alpha ...','02_Alpha ...'等,並且會正確排序。 (另外,如果你有100多個步驟,你將會使用'「{:03}」'而不是'「{:02}」')。或者,你可以使用matplotlib的動畫模塊並輸出一個gif或視頻直接。 –
+1 @JoeKington關於使用動畫模塊的說法。不要重新發明輪子;) – tacaswell