Düzenleme: Günümüzde daha kolay ve daha iyi matplotlib.animation
kullanmaktır:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
def animate(frameno):
x = mu + sigma * np.random.randn(10000)
n, _ = np.histogram(x, bins, normed=True)
for rect, h in zip(patches, n):
rect.set_height(h)
return patches
mu, sigma = 100, 15
fig, ax = plt.subplots()
x = mu + sigma * np.random.randn(10000)
n, bins, patches = plt.hist(x, 50, normed=1, facecolor='green', alpha=0.75)
ani = animation.FuncAnimation(fig, animate, blit=True, interval=10,
repeat=True)
plt.show()
animasyonlu grafik here yapma örneği vardır. kodunu first posted kullanıyorum saniyede 4 kare ile karşılaştırıldığında ben saniyede yaklaşık 14 kare bu şekilde alabilirsiniz
import numpy as np
import matplotlib.pyplot as plt
plt.ion()
mu, sigma = 100, 15
fig = plt.figure()
x = mu + sigma*np.random.randn(10000)
n, bins, patches = plt.hist(x, 50, normed=1, facecolor='green', alpha=0.75)
for i in range(50):
x = mu + sigma*np.random.randn(10000)
n, bins = np.histogram(x, bins, normed=True)
for rect,h in zip(patches,n):
rect.set_height(h)
fig.canvas.draw()
,: Bu örnekte üzerine Bina, gibi bir şey deneyebilirsiniz. Hile, matplotlib'in tam rakamlar çizmesini istemekten kaçınmaktır. Bunun yerine, bir kez plt.hist
numaralı telefonu arayın, ardından histogramı güncellemek için numaralı telefonu kullanarak mevcut matplotlib.patches.Rectangle
s'yi değiştirin ve güncellemeleri görünür hale getirmek için fig.canvas.draw()
numaralı telefonu arayın.
Eğer hızlı bir gelişme peşindeyseniz, Tkinter'i öneririm. PyQt'den çok daha sezgisel IMO. –
Zorluğu göremiyorum. Sadece histogramları çizmek için matplotlib kullanın. Herhangi bir sorun mu var? –
@Bernardo, Temel veri yapıları güncellendikçe güncellenmelerini istiyorum. Matplotlib kullanarak çizim yaparsam, her zaman adımı için bir grafik alır mıyım? Her zaman adımı için bir pencerem olduğunda izlemesi zor olacak. –