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

การตั้งค่าอัตราส่วนกว้างยาวของพล็อต 3 มิติใน Matplotlib


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

  • ใช้ figure() วิธีสร้างร่างใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่
  • รับแกนปัจจุบัน สร้างแกนใหม่หากจำเป็นด้วย projection='3d'
  • สร้างจุดข้อมูล R, Y และ z โดยใช้ numpy
  • สร้างแผนผังพื้นผิวโดยใช้ R, Y และ z
  • กำหนดอัตราส่วนโดยใช้ set_aspect('auto')
  • บันทึกรูปโดยใช้วิธี savefig()

ตัวอย่าง

from matplotlib import pyplot as plt
from matplotlib import cm
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = fig.gca(projection='3d')
R, Y = np.meshgrid(np.arange(0, 100, 1), np.arange(0, 60, 1))
z = 0.1 * np.abs(np.sin(R / 40) * np.sin(Y / 6))
ax.plot_surface(R, Y, z, cmap=cm.rainbow, linewidth=0)
ax.set_aspect('auto')
ax.azim = -160
ax.elev = 30
fig.savefig('data.png')
plt.show()

ผลลัพธ์

การตั้งค่าอัตราส่วนกว้างยาวของพล็อต 3 มิติใน Matplotlib