Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách áp dụng mask lên ma trận trong Matplotlib imshow?


Để áp dụng mask lên ma trận trong matplotlib imshow(), chúng ta có thể dùng phương thức np.ma.masked_where() với giới hạn dưới và trên.

Các bước

  • Khởi tạo hai biến, l và u, để mask ma trận đầu vào.
  • Tạo dữ liệu ngẫu nhiên kích thước 5×5.
  • Mask ma trận đầu vào, nhỏ hơn l và lớn hơn u.
  • Tạo figure và tập subplots với nrows=1 và ncols=2.
  • Hiển thị dữ liệu như hình ảnh, tức là trên raster 2D đều đặn, tại axes 0 và 1.
  • Đặt title cho axes 0 và 1.
  • Để hiển thị figure, dùng phương thức show().

Ví dụ

import numpy as np
import matplotlib.pyplot as plt

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

l = 0.125
u = 0.575
data = np.random.rand(5, 5)
data = np.ma.masked_where((l < data) & (data < u), data)

fig, axs = plt.subplots(1, 2)
axs[0].imshow(data.data)
axs[0].set_title("Without Masked")
axs[1].imshow(data)
axs[1].set_title("With Masked")

plt.show()

Kết quả

Cách áp dụng mask lên ma trận trong Matplotlib imshow?Cách áp dụng mask lên ma trận trong Matplotlib imshow?