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

จะเปลี่ยนขนาดของ imshow ใน matplotlib โดยไม่ยืดภาพได้อย่างไร?


หากต้องการเปลี่ยนขนาดของ imshow ใน matplotlib โดยไม่ต้องขยายรูปภาพ เราสามารถทำตามขั้นตอนต่อไปนี้ได้

ขั้นตอน

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย

  • สร้างจุดข้อมูลแบบสุ่มด้วยมิติ 4×4

  • แสดงข้อมูลเป็นรูปภาพ เช่น บนแรสเตอร์ปกติ 2 มิติ

  • ใช้ ขอบเขต พารามิเตอร์ของ imshow เพื่อจับคู่พิกัดพิกเซลบัฟเฟอร์บัฟเฟอร์รูปภาพกับระบบพิกัดพื้นที่ข้อมูล

  • ถัดไป กำหนดอัตราส่วนภาพของรูปภาพด้วยตนเองโดยป้อนค่า เช่น "aspect=4" หรือปล่อยให้ปรับขนาดอัตโนมัติโดยใช้ aspect='auto' . วิธีนี้จะช่วยป้องกันการยืดของภาพ โดยค่าเริ่มต้น imshow จะกำหนดลักษณะของพล็อตเป็น 1

  • หากต้องการแสดงรูป ให้ใช้ แสดง() วิธีการ

ตัวอย่าง

import numpy as np
from matplotlib import pyplot as plt

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

data = np.random.rand(4, 4)

plt.imshow(data, origin='lower', extent=[-4, 4, -1, 1], aspect=4)

plt.show()

ผลลัพธ์

มันจะสร้างผลลัพธ์ต่อไปนี้ -

จะเปลี่ยนขนาดของ imshow ใน matplotlib โดยไม่ยืดภาพได้อย่างไร?