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

วิธีการพล็อตพื้นผิว / พล็อต 3 มิติจากดาต้าเฟรม (Matplotlib)?


ในการพล็อตพื้นผิว/3 มิติ เราต้องการจุดข้อมูล 2 มิติ ไม่ใช่ดาต้าเฟรม 1 มิติ

ขั้นตอน

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

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

  • เพิ่ม '~.axes.Axes' ไปยังรูปที่เป็นส่วนหนึ่งของการจัดเรียงแผนย่อยโดยใช้ add_subplot() วิธีการ

  • เริ่มต้นตัวแปร 'n' สำหรับจำนวนตัวอย่าง

  • สร้างจุดข้อมูล x, y และ z โดยใช้ numpy

  • ใช้ plot_surface() วิธีการทำพื้นผิว 3 มิติ

  • หากต้องการแสดงรูป ให้ใช้ 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()

ผลลัพธ์

วิธีการพล็อตพื้นผิว / พล็อต 3 มิติจากดาต้าเฟรม (Matplotlib)?