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

การพล็อตกราฟผิว 3D จาก DataFrame ใน Matplotlib


การพล็อตผิว 3D ต้องการข้อมูล 2 มิติ ไม่ใช่ DataFrame แบบ 1 มิติ

ขั้นตอนการทำงาน

  • กำหนดขนาดรูปภาพและปรับระยะห่างระหว่างและรอบๆ subplots
  • สร้าง figure ใหม่หรือเปิดใช้งาน figure ที่มีอยู่ด้วย figure()
  • เพิ่ม axes เข้าไปใน figure ด้วย add_subplot() แบบ 3D projection
  • กำหนดตัวแปร n สำหรับจำนวนตัวอย่าง
  • สร้างข้อมูล x, y และ z ด้วย numpy
  • ใช้ plot_surface() สร้างกราฟผิว 3D
  • ใช้เมธอด show() เพื่อแสดงรูปภาพ

ตัวอย่างโค้ด

import numpy as np
from matplotlib import pyplot as plt

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

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
n = 50
x = np.random.rand(n)
y = np.tan(x)
z = np.random.rand(n, n)
surf = ax.plot_surface(y, x, z, rstride=1, cstride=1, cmap='copper', linewidth=0, antialiased=False)
ax.axis('off')
plt.show()

ผลลัพธ์

การพล็อตกราฟผิว 3D จาก DataFrame ใน Matplotlib