Matplotlib - อินเทอร์เฟซเชิงวัตถุ

ในขณะที่สร้างพล็อตอย่างรวดเร็วด้วยไฟล์ matplotlib.pyplotโมดูลขอแนะนำให้ใช้วิธีเชิงวัตถุเนื่องจากให้การควบคุมและปรับแต่งพล็อตของคุณได้มากขึ้น ฟังก์ชั่นส่วนใหญ่ยังมีอยู่ในไฟล์matplotlib.axes.Axes ชั้นเรียน

แนวคิดหลักที่อยู่เบื้องหลังการใช้วิธีเชิงวัตถุที่เป็นทางการมากขึ้นคือการสร้างวัตถุรูปแล้วเรียกใช้วิธีการหรือแอตทริบิวต์จากวัตถุนั้น วิธีนี้ช่วยให้จัดการกับผืนผ้าใบที่มีหลายแปลงบนผืนผ้าใบได้ดีขึ้น

ในอินเทอร์เฟซเชิงวัตถุ Pyplot ใช้สำหรับฟังก์ชันบางอย่างเช่นการสร้างรูปและผู้ใช้จะสร้างและติดตามวัตถุรูปและแกนอย่างชัดเจน ในระดับนี้ผู้ใช้จะใช้ Pyplot ในการสร้างตัวเลขและจากตัวเลขเหล่านั้นสามารถสร้างวัตถุแกนได้ตั้งแต่หนึ่งชิ้นขึ้นไป จากนั้นอ็อบเจ็กต์แกนเหล่านี้จะถูกใช้สำหรับการพล็อตการกระทำส่วนใหญ่

ในการเริ่มต้นเราสร้างอินสแตนซ์รูปที่มีผืนผ้าใบว่างเปล่า

fig = plt.figure()

ตอนนี้เพิ่มแกนในรูป add_axes()วิธีการต้องใช้รายการวัตถุ 4 องค์ประกอบที่สอดคล้องกับด้านซ้ายด้านล่างความกว้างและความสูงของรูป แต่ละหมายเลขต้องอยู่ระหว่าง 0 ถึง 1 -

ax=fig.add_axes([0,0,1,1])

ตั้งค่าป้ายกำกับสำหรับแกน x และ y รวมทั้งหัวเรื่อง -

ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')

เรียกใช้เมธอด plot () ของอ็อบเจ็กต์แกน

ax.plot(x,y)

หากคุณใช้สมุดบันทึก Jupyter ต้องมีการออกคำสั่งแบบอินไลน์% matplotlib ฟังก์ชั่น otherwistshow () ของโมดูล pyplot แสดงพล็อต

พิจารณาดำเนินการตามรหัสต่อไปนี้ -

from matplotlib import pyplot as plt
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.plot(x,y)
ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')
plt.show()

เอาต์พุต

บรรทัดโค้ดด้านบนสร้างผลลัพธ์ต่อไปนี้ -

รหัสเดียวกันเมื่อรันในสมุดบันทึก Jupyter จะแสดงผลลัพธ์ดังที่แสดงด้านล่าง -