我試圖編寫一個簡單的腳本,它爲每個時間步更新散點圖t
。我想盡可能簡單地做到這一點。但它所做的只是打開一個我什麼都看不到的窗口。窗戶剛剛凍結。這可能只是一個小錯誤,但我找不到它。Python Matplotlib更新散點圖
的該data.dat
的格式
x y
Timestep 1 1 2
3 1
Timestep 2 6 3
2 1
(該文件僅包含數字)
import numpy as np
import matplotlib.pyplot as plt
import time
# Load particle positioins
with open('//home//user//data.dat', 'r') as fp:
particles = []
for line in fp:
line = line.split()
if line:
line = [float(i) for i in line]
particles.append(line)
T = 100
numbParticles = 2
x, y = np.array([]), np.array([])
plt.ion()
plt.figure()
plt.scatter(x,y)
for t in range(T):
plt.clf()
for k in range(numbP):
x = np.append(x, particles[numbParticles*t+k][0])
y = np.append(y, particles[numbParticles*t+k][1])
plt.scatter(x,y)
plt.draw()
time.sleep(1)
x, y = np.array([]), np.array([])
我不需要循環嗎?我沒有看到我每次通過我的數字清單的位置。你能解釋一下嗎? – Samuel
循環駐留在對['FuncAnimation()'](http://matplotlib.org/api/animation_api.html#matplotlib.animation.FuncAnimation)的調用中。對於每個時間步(這裏是每1000毫秒),函數'update'被調用一個遞增的值'i'。 – ImportanceOfBeingErnest
@ImportanceOfBeingErnest我不明白'i'在哪裏增加。我期望像'i = i + 1'這樣的東西。 – Samuel