การพลอตจุดข้อมูลเพียงจุดเดียวใน Matplotlib สามารถทำได้โดยสร้างรายการ X และ Y ที่มีเพียงค่าเดียว แล้วใช้ plt.plot() พร้อมกำหนดรูปแบบเครื่องหมาย (marker) ให้ชัดเจน
ขั้นตอนการทำงาน
- นำเข้า
matplotlib.pyplot - สร้างรายการ X และ Y ที่มีค่าเดียว:
x = [4],y = [3] - กำหนดขอบเขตแกนด้วย
plt.xlim()และplt.ylim()เพื่อให้เห็นจุดชัดเจน - แสดงกริดด้วย
plt.grid() - พลอตจุดด้วย
plt.plot()พร้อมพารามิเตอร์:marker="o"- วงกลมmarkersize=20- ขนาดใหญ่markeredgecolor="red"- สีขอบmarkerfacecolor="green"- สีภายใน
- แสดงผลด้วย
plt.show()
ตัวอย่างโค้ด
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
x = [4]
y = [3]
plt.xlim(0, 5)
plt.ylim(0, 5)
plt.grid()
plt.plot(x, y, marker="o", markersize=20, markeredgecolor="red", markerfacecolor="green")
plt.show()
วิธีอื่น: ใช้ scatter()
plt.scatter([4], [3], s=400, c='green', edgecolors='red', linewidths=2, marker='o')
# s = ขนาด (points^2), c = สีเติม, edgecolors = สีขอบ
รูปแบบ Marker ที่นิยมใช้
| Marker | รูปทรง |
|---|---|
'o' | วงกลม |
's' | สี่เหลี่ยม |
'^' | สามเหลี่ยมหัวขึ้น |
'D' | รูปเพชร |
'*' | ดาว |
'X' | X ใหญ่ |
'P' | เพลส (plus filled) |
การประยุกต์ใช้
- เน้นจุดสำคัญ เช่น จุดสูงสุด/ต่ำสุด จุดตัดแกน จุดคาดการณ์
- แสดงตำแหน่งปัจจุบันในแอนิเมชัน
- ทำเครื่องหมายจุดข้อมูลที่น่าสนใจใน scatter plot
เคล็ดลับ
ใช้ zorder=10 ใน plot() หรือ scatter() เพื่อให้จุดอยู่ชั้นบนสุด ไม่ถูกบังโดยกราฟอื่น