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

พล็อตพื้นผิว 3 มิติจากข้อมูลกระจาย {x,y,z} ใน Python Matplotlib


ในการพล็อตพื้นผิว 3 มิติจาก x , และ z กระจายข้อมูลใน Python เราสามารถทำตามขั้นตอนต่อไปนี้ -

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
  • สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่โดยใช้ figure() วิธีการ
  • เพิ่มแกนให้กับภาพซึ่งเป็นส่วนหนึ่งของการจัดโครงเรื่องย่อย
  • สร้าง x , , X , ใช่ และ Z จุดข้อมูลโดยใช้ตัวเลข
  • พล็อต x , และ z จุดข้อมูลโดยใช้ plot_surface() วิธีการ
  • หากต้องการแสดงรูป ให้ใช้ show() วิธีการ

ตัวอย่าง

import matplotlib.pyplot as plt
import numpy as np

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

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')
x = np.array(np.linspace(-2, 2, 100))
y = np.array(np.linspace(-2, 2, 10))

X, Y = np.meshgrid(x, y)
Z = X * np.exp(-X ** 2 - Y ** 2)

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap="plasma", linewidth=0, antialiased=False)

plt.show()

ผลลัพธ์

พล็อตพื้นผิว 3 มิติจากข้อมูลกระจาย {x,y,z} ใน Python Matplotlib