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

พล็อตภาพ imshow() ในแบบ 3 มิติใน Matplotlib


ในการพล็อต imshow() ภาพสามมิติใน Matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -

  • สร้าง xx และ ปป จุดข้อมูลโดยใช้ numpy

  • รับ ข้อมูล (2D) ใช้ X, Y และ Z .

  • สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่โดยใช้ figure() วิธีการ

  • เพิ่ม 'ax1' ไปที่ร่างซึ่งเป็นส่วนหนึ่งของการจัดโครงเรื่องย่อย

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

  • เพิ่ม 'ax2' ไปที่ร่างซึ่งเป็นส่วนหนึ่งของการจัดโครงเรื่องย่อย

  • สร้างและจัดเก็บชุดของเส้นชั้นความสูงหรือบริเวณที่เติม

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

ตัวอย่าง

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm

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

xx, yy = np.meshgrid(np.linspace(0, 1, 10), np.linspace(0, 1, 10))

X = xx
Y = yy
Z = 10 * np.ones(X.shape)

data = np.cos(xx) * np.cos(xx) + np.sin(yy) * np.sin(yy)
fig = plt.figure()

ax1 = fig.add_subplot(121)
ax1.imshow(data, cmap="plasma", interpolation='nearest', origin='lower', extent=[0, 1, 0, 1])

ax2 = fig.add_subplot(122, projection='3d')
ax2.contourf(X, Y, data, 100, zdir='z', offset=0.5, cmap="plasma")

plt.show()

ผลลัพธ์

พล็อตภาพ imshow() ในแบบ 3 มิติใน Matplotlib