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

Làm thế nào để tạo hiệu ứng cho thanh màu trong Matplotlib?

Để tạo hoạt ảnh cho thanh màu trong 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 ô con.

  • Tạo một hình mới hoặc kích hoạt một hình hiện có.

  • Thêm '~ .axes.Axes' vào hình như một phần của sự sắp xếp lô phụ.

  • Khởi tạo Dải phân cách dựa trên các trục có sẵn từ trước, tức là đối tượng ax và trả về một công cụ định vị trục mới cho ô được chỉ định.

  • Tạo trục ở * vị trí * đã cho có cùng chiều cao (hoặc chiều rộng ) của các trục chính.

  • Tạo dữ liệu ngẫu nhiên bằng cách sử dụng numpy.

  • Sử dụng imshow () phương pháp để vẽ dữ liệu ngẫu nhiên.

  • Đặt tiêu đề của cốt truyện.

  • Khởi tạo danh sách các bản đồ màu.

  • Để tạo hiệu ứng cho thanh màu, hãy sử dụng animate () phương pháp.

  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from mpl_toolkits.axes_grid1 import make_axes_locatable

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

fig = plt.figure()

ax = fig.add_subplot(111)
div = make_axes_locatable(ax)
cax = div.append_axes('right', '5%', '5%')
data = np.random.rand(5, 5)
im = ax.imshow(data)
cb = fig.colorbar(im, cax=cax)
tx = ax.set_title('Frame 0')
cmap = ["copper", 'RdBu_r', 'Oranges', 'cividis', 'hot', 'plasma']

def animate(i):
   cax.cla()
   data = np.random.rand(5, 5)
   im = ax.imshow(data, cmap=cmap[i%len(cmap)])
   fig.colorbar(im, cax=cax)
   tx.set_text('Frame {0}'.format(i))
ani = animation.FuncAnimation(fig, animate, frames=10)

plt.show()

Đầu ra

Làm thế nào để tạo hiệu ứng cho thanh màu trong Matplotlib?