Computer >> Máy Tính >  >> Lập trình >> Python

Lưu hình ảnh động scatterplot với matplotlib

Để lưu hoạt ảnh scatterplot bằng matplotlib, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô phụ.
  • Khởi tạo bốn biến, bước, nút, vị trí và giải pháp.
  • Nối các giá trị vị trí và giải pháp vào danh sách.
  • Tạo một hình và một tập hợp các ô phụ.
  • Khởi tạo một biến cho kích thước điểm đánh dấu.
  • Định cấu hình các đường lưới.
  • Tạo hoạt ảnh bằng cách gọi liên tục một hàm * tạo hoạt ảnh *, để xóa trục, thêm biểu đồ con trục mới và vẽ biểu đồ các điểm phân tán trên trục.
  • Lưu biểu đồ phân tán động dưới dạng .gif tệp.

Ví dụ

import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

steps = 50
nodes = 100
positions = []
solutions = []

for i in range(steps):
   positions.append(np.random.rand(2, nodes))
   solutions.append(np.random.random(nodes))

fig, ax = plt.subplots()
   marker_size = 50

def animate(i):
   fig.clear()
   ax = fig.add_subplot(111, aspect='equal', autoscale_on=False, xlim=(0, 1), ylim=(0, 1))
   ax.set_xlim(0, 1)
   ax.set_ylim(0, 1)
   s = ax.scatter(positions[i][0], positions[i][1], s=marker_size, c=solutions[i], cmap="RdBu_r", marker="o", edgecolor='black')

plt.grid(b=None)
ani = animation.FuncAnimation(fig, animate, interval=100, frames=range(steps))

ani.save('animation.gif', writer='pillow')

Đầu ra

Lưu hình ảnh động scatterplot với matplotlib Lưu hình ảnh động scatterplot với matplotlib