Vì vậy, tôi đã học được cách tạo ra những hình động nhỏ dễ thương trong matplotlib. Ví dụ: điều này:Hoạt ảnh Matplotlib - cách xuất chúng sang định dạng để sử dụng trong bản trình bày?
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
plt.ion()
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_xlim(0, 1)
ax.set_ylim(-2,2)
dt = 0.01
q = 0.01
t = np.arange(0,1,dt)
x = np.sin(2*np.pi*t)
line, = ax.plot(t,x, '-')
fig.canvas.draw()
for i in xrange(100):
x = (1-q) * x + q* np.random.normal(size = len(t))
line.set_ydata(x)
fig.canvas.draw()
Làm việc này và nó rất đẹp. Nhưng làm thế nào tôi sử dụng điều này để làm một bộ phim tôi có thể hiển thị, ví dụ, trong một bài thuyết trình pdf? Tôi đã cố gắng để làm fig.savefig("test.gif")
nhưng có một thông báo lỗi chỉ ra rằng matplotlib không xuất gif.
Có cách nào để làm điều này mà không cần sử dụng các công cụ bên ngoài (như tạo nhiều png và ghép chúng lại với nhau) không?
+1. Tuy nhiên, bạn có thể có nghĩa là mencoder thay vì memcoder, phải không? – EOL
Phải, vì vậy tôi chỉ cần thêm một 'fig.savefig (" foo% d.png "% i)' để lưu từng khung hình và sử dụng bộ mã hóa? –
Chính xác. Đây là những gì các mô-đun hoạt hình mới nào. Nếu bạn không muốn sử dụng mô-đun, hãy gọi mencoder từ python và sau đó bạn có thể hủy liên kết các tệp foo * png sau đó. – Yann