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

จะซ่อนแกน แต่เก็บป้ายกำกับแกนไว้ใน 3D Plot ด้วย Matplotlib ได้อย่างไร


หากต้องการซ่อนแกนแต่เก็บป้ายกำกับแกนไว้ในพล็อต 3 มิติด้วย Matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
  • สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่
  • เพิ่ม '~.axes.Axes ' ให้กับภาพที่เป็นส่วนหนึ่งของการจัดโครงเรื่องย่อย
  • สร้างจุดข้อมูล x, y, z, dx, dy และ dz โดยใช้ numpy
  • ใช้ bar3d() วิธีการพล็อตแถบ 3 มิติ
  • หากต้องการซ่อนแกน ให้เริ่มต้น tuple สี เช่นเดียวกับสีของแกน
  • ตั้งค่าคุณสมบัติสีระนาบแกน x, y และ z ให้เหมือนกันกับ tuple สี
  • ตั้งค่าคุณสมบัติสีเส้นของแกน x, y และ z ให้เหมือนกันกับทูเพิลสี
  • กำหนดขีดว่างไว้ที่แกน x, y และ z
  • ตั้งค่าป้ายกำกับแกน x, y และ z
  • หากต้องการแสดงรูป ให้ใช้ 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')

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [5, 6, 7, 8, 2, 5, 6, 3, 7, 2]
z = np.zeros(10)

dx = np.ones(10)
dy = np.ones(10)
dz = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

ax.bar3d(x, y, z, dx, dy, dz, color="green")
color_tuple = (1.0, 1.0, 1.0, 0.0)

ax.w_xaxis.set_pane_color(color_tuple)
ax.w_yaxis.set_pane_color(color_tuple)
ax.w_zaxis.set_pane_color(color_tuple)
ax.w_xaxis.line.set_color(color_tuple)
ax.w_yaxis.line.set_color(color_tuple)
ax.w_zaxis.line.set_color(color_tuple)

ax.set_xticks([])
ax.set_yticks([])
ax.set_zticks([])

ax.set_xlabel('X-Axis')
ax.set_ylabel('Y-Axis')
ax.set_zlabel('Z-Axis')

plt.show()

ผลลัพธ์

จะซ่อนแกน แต่เก็บป้ายกำกับแกนไว้ใน 3D Plot ด้วย Matplotlib ได้อย่างไร