Hoạt hình ô trong Python
Trong bài viết này, tôi sẽ chỉ cho bạn cách tạo hoạt ảnh cho các ô trong Python bằng cách sử dụng Matplotlib để bạn có thể thêm một nét đẹp cho các hình ảnh trực quan của mình!
Matplotlib
Matplotlib là một gói vẽ đồ thị cho ngôn ngữ lập trình Python. Đây là một trong những gói phổ biến nhất để trực quan hóa bằng Python và cung cấp cho người dùng khả năng tạo các ô 2-D, 3-D và thậm chí cả hoạt hình. Matplotlib cung cấp một loạt tùy chọn có thể tùy chỉnh để tạo biểu đồ, bao gồm biểu đồ đường, biểu đồ phân tán, biểu đồ thanh và biểu đồ. Vì nhiều người đã quen với việc sử dụng Matplotlib để trực quan hóa tĩnh, nên tôi sẽ đề cập đến việc sử dụng nó cho các ô hoạt hình. Đối với những người có thể chưa quen với Matplotlib, nhưng đã quen thuộc với Python, đây là một tài nguyên tuyệt vời để giúp bạn bắt đầu sử dụng gói.
Cốt truyện hoạt hình 2-D cơ bản
#Empty lists for X/Y data
x = []
y = []
#Create a figure and axis to plot on
fig, ax = plt.subplots()
#We will create a function that will be called by Matplotlib's FuncAnimation
def getAnimation(iterator):
newInt = random.randint(1,10)
#Append values to our lists
x.append(iterator)
y.append(newInt)
#Clear previous data from the plot
ax.clear()
#Plot the lists with axis limits
ax.plot(x, y)
ax.set_xlim([0,20])
ax.set_ylim([0,20])
#We pass FuncAnimation our getAnimation function so that it is called in a loop
animation = FuncAnimation(fig, getAnimation, frames=20,
interval=500, repeat=False)
plt.show()
FuncAnimation() được cung cấp thông qua Matplotlib yêu cầu một hình và hàm sẽ được chạy trong một vòng lặp với một số khung hình. Bằng cách chuyển getAnimation() làm đối số, về cơ bản, chúng ta đang tạo trình chiếu gồm các ô kết hợp để tạo thành hoạt ảnh, lặp lại số khung hình nhiều lần. Đây là kết quả của mã của chúng tôi…
Hoạt hình đi bộ 3-D ngẫu nhiên
#Empty lists for X/Y/Z data
x = []
y = []
z = []
#Lets start off at (10,10,10) the center of our figure with axis limits 20
x.append(10)
y.append(10)
z.append(10)
#Total number of steps we will take
stepTotal = 20
#Create a figure and axis to plot on (3-D)
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
#We will create a function that will be called by Matplotlib's FuncAnimation
def randomWalk(step):
#Append values to our lists
x.append(random.uniform(1,10))
y.append(random.uniform(1,10))
z.append(random.uniform(1,10))
#Clear previous data from the plot
ax.clear()
#Plot the lists with axis limits
ax.plot(x, y, z)
ax.set_xlim([0,20])
ax.set_ylim([0,20])
ax.set_zlim([0,20])
# Creating the Animation object
animation = FuncAnimation(fig, randomWalk, frames=stepTotal, interval=100)
plt.show()
Lưu ảnh động
#FuncAnimation() returns an animation object that can be stored
animation = FuncAnimation()
#Instantiate the directory you wish to save to
directory = "/medium/animation.gif"
#We call .save() on our animation object and pass the function a directory
animation.save(directory)
Tất cả mã trong bài viết này có thể được tìm thấy trên Github của tôi .
Nếu bạn thấy bài viết trên Phương tiện này thú vị, hãy cân nhắc theo dõi tôi! Tôi viết về Toán học, Khoa học Máy tính và mọi thứ ở giữa!

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































