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

ตั้งค่า Matplotlib imshow สองแปลงให้มีมาตราส่วน colormap เดียวกัน


ในการตั้งค่าแปลง matplotlib imshow() สองรายการให้มีมาตราส่วนแผนที่สีเดียวกัน เราสามารถดำเนินการดังต่อไปนี้

ขั้นตอน

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
  • สร้างเมทริกซ์ d1 และ d2 โดยใช้ Numpy
  • รับเมทริกซ์ผลลัพธ์เพื่อรับค่าสูงสุดและต่ำสุด
  • ใช้วิธี amin และ amax สำหรับค่าต่ำสุดและสูงสุด
  • สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่
  • เพิ่ม '~.axes.Axes' ให้กับรูปภาพโดยเป็นส่วนหนึ่งของการจัดเรียงแผนย่อย โดยมี nrows=1,ncols=2 ที่ ดัชนี 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()

ผลลัพธ์

ตั้งค่า Matplotlib imshow สองแปลงให้มีมาตราส่วน colormap เดียวกัน ตั้งค่า Matplotlib imshow สองแปลงให้มีมาตราส่วน colormap เดียวกัน