Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตั้งค่า 2 Matplotlib imshow Plots ให้มี Colormap Scale เหมือนกัน

ในการตั้งค่า matplotlib imshow() 2 plots ให้มี colormap scale เหมือนกัน เราสามารถทำตามขั้นตอนต่อไปนี้:

ขั้นตอน

  • ตั้งค่าขนาดรูปและปรับ padding ระหว่างและรอบ subplots
  • สร้างเมทริกซ์ d1 และ d2 ด้วย Numpy
  • รับเมทริกซ์ผลลัพธ์เพื่อหาค่า max และ min
  • ใช้เมธอด amin และ amax สำหรับค่าต่ำสุดและสูงสุด
  • สร้าง figure ใหม่หรือเปิดใช้งาน figure ที่มีอยู่
  • เพิ่ม '~.axes.Axes' ให้กับ figure เป็นส่วนหนึ่งของ subplot arrangement ด้วย nrows=1, ncols=2 ที่ index 1
  • ใช้เมธอด imshow() พร้อม vmin และ vmax กำหนดช่วงข้อมูลที่ colormap ครอบคลุม
  • ทำซ้ำขั้นตอน 6 และ 7 กับข้อมูล
  • เพื่อแสดงรูป ใช้เมธอด show()

ตัวอย่าง

import numpy as np
from matplotlib import pyplot as plt

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

data1 = np.random.randn(4, 4)
data2 = np.random.randn(4, 4)
resultant = np.array([data1, data2])
min_val, max_val = np.amin(resultant), np.amax(resultant)

fig = plt.figure()
ax = fig.add_subplot(1, 2, 1)
ax.imshow(data1, cmap="plasma", vmin=min_val, vmax=max_val)

ax2 = fig.add_subplot(1, 2, 2)
ax2.imshow(data2, cmap="plasma", vmin=min_val, vmax=max_val)

plt.show()

ผลลัพธ์

ตั้งค่า 2 Matplotlib imshow Plots ให้มี Colormap Scale เหมือนกันตั้งค่า 2 Matplotlib imshow Plots ให้มี Colormap Scale เหมือนกัน