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

Làm thế nào để hiển thị hai bản đồ màu khác nhau trong cùng một imshow Matplotlib?

Để hiển thị hai bản đồ màu khác nhau trong cùng một imshow 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 ma trận 2D có kích thước 5 × 5.

  • Nhận ma trận có mặt nạ, data1 data2 , với các giá trị âm và dương.

  • Tạo một hình và một tập hợp các ô phụ.

  • Hiển thị dữ liệu dưới dạng hình ảnh, tức là trên raster 2D thông thường, với data1 data2 .

  • Để tạo hai màu khác nhau thanh , sử dụng thanh màu phương pháp.

  • Đặt thanh màu cho cả hai hình ảnh.

  • Đặt nhãn của các thanh màu.

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

Ví dụ

import matplotlib.pyplot as plt
import numpy as np

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

img = np.random.randint(-10, 10, (5, 5))

data1 = np.ma.masked_array(img, img >= 0)
data2 = np.ma.masked_array(img, img < 0)

fig, ax = plt.subplots()

img1 = ax.imshow(data1, cmap="prism_r")
img2 = ax.imshow(data2, cmap="copper")

bar1 = plt.colorbar(img1)
bar2 = plt.colorbar(img2)

bar1.set_label('ColorBar 1')
bar2.set_label('ColorBar 2')

plt.show()

Đầu ra

Làm thế nào để hiển thị hai bản đồ màu khác nhau trong cùng một imshow Matplotlib?