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

กำลังพล็อตพื้นผิว 3 มิติจากรายการทูเพิลใน matplotlib หรือไม่


ในการพล็อตพื้นผิว 3 มิติจากรายการทูเพิลใน matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้

ขั้นตอน

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

  • ทำรายการสิ่งอันดับ

  • รับ x, y และ z จุดข้อมูลจากรายการทูเพิล

  • ส่งกลับเมทริกซ์พิกัดจากเวกเตอร์พิกัด

  • รับ ชั่วโมง จุดข้อมูลสำหรับแผนผังพื้นผิว

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

  • รับแกนปัจจุบัน 3 มิติของรูป

  • สร้างแผนผังพื้นผิว

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

ตัวอย่าง

import numpy as np
from matplotlib import pyplot as plt

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

# List of tuples
data = [(1, 3, 2), (3, 5, 2), (4, 7, 4), (8, 7, 4),
        (3, 6, 1), (3, 9, 0), (3, 9, 0)]

# Data points from the list of tuples
x, y, z = zip(*data)

x, y = np.meshgrid(x, y)

h = x ** 2 + y ** 2

fig = plt.figure()

# Get the current axis
ax = fig.gca(projection='3d')

# Surface plot
ax.plot_surface(x, y, h, cmap='plasma')

plt.show()

ผลลัพธ์

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

กำลังพล็อตพื้นผิว 3 มิติจากรายการทูเพิลใน matplotlib หรือไม่