mathplotlib
**Matplotlib** คือ หนึ่งในไลบรารี (Library) ที่ป๊อปปูลาร์และถูกใช้งานมากที่สุดในภาษา Python สำหรับการ**สร้างแผนภูมิ (Charts) และกราฟ (Graphs) แสดงข้อมูล** ออกมาเป็นภาพวิทยาศาสตร์หรือสถิติที่เข้าใจง่าย (Data Visualization)
ถ้าให้พูดง่ายๆ มันคือเครื่องมือที่เปลี่ยนตัวเลขและข้อมูลดิบเยอะๆ ในโค้ดของคุณ ให้กลายเป็นรูปภาพ เส้น กราฟแท่ง หรือแผนภูมิวงกลมที่ดูปุ๊บก็เข้าใจปั๊บครับ
---
## ฟีเจอร์เด่นของ Matplotlib ทำอะไรได้บ้าง?
* **สร้างกราฟได้หลากหลายมาก:** ไม่ว่าจะเป็นกราฟเส้น (Line plot), กราฟแท่ง (Bar chart), กราฟกระจาย (Scatter plot), ฮิสโตแกรม (Histogram), หรือแม้กระทั่งกราฟ 3 มิติ (3D plot)
* **ปรับแต่งได้แทบจะ 100%:** คุณสามารถเปลี่ยนสี เส้น แกน x-y ใส่ชื่อเรื่อง (Title) ใส่คำอธิบายโค้ด (Legend) หรือปรับฟอนต์ได้ตามใจชอบ
* **ทำงานร่วมกับไลบรารีอื่นได้ดีเยี่ยม:** มันถูกออกแบบมาให้ทำงานคู่กับ **NumPy** (จัดการข้อมูลตัวเลข) และ **Pandas** (จัดการตารางข้อมูล Dataframe) ได้อย่างลื่นไหล
* **ส่งออกไฟล์ได้หลายฟอร์แมต:** สามารถเซฟกราฟออกมาเป็นไฟล์รูปภาพ เช่น `.png`, `.jpg` หรือไฟล์เวกเตอร์ความละเอียดสูงอย่าง `.pdf` และ `.svg` ได้
---
## โครงสร้างหลักที่ต้องรู้จัก (Architecture)
เวลาเขียน Matplotlib คุณจะเจอกับ 2 คำนี้บ่อยที่สุด ซึ่งเปรียบเสมือนหัวใจของมัน:
1. **Figure:** เปรียบเสมือน **"ผืนผ้าใบ"** หรือหน้าต่างกระดาษเปล่าๆ ทั้งหมดที่คุณจะใช้วาดรูป
2. **Axes:** เปรียบเสมือน **"พื้นที่กราฟ"** ที่อยู่ในผ้าใบนั้น (ใน 1 Figure อาจจะมีหลาย Axes หรือหลายๆ กราฟย่อยเรียงกันอยู่ก็ได้)
---
## ตัวอย่างโค้ดแบบง่ายๆ
Matplotlib มักจะถูกเรียกใช้งานผ่านโมดูลย่อยที่ชื่อว่า `pyplot` (นิยมย่อสั้นๆ ว่า `plt`) ตัวอย่างการวาดกราฟเส้นตรงง่ายๆ เป็นดังนี้ครับ:
```python
import matplotlib.pyplot as plt
# 1. เตรียมข้อมูล
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 2. สั่งวาดกราฟเส้น
plt.plot(x, y, color='blue', marker='o')
# 3. ใส่รายละเอียดให้กราฟ
plt.title("My First Graph") # ชื่อกราฟ
plt.xlabel("X Axis") # ชื่อแกน X
plt.ylabel("Y Axis") # ชื่อแกน Y
# 4. แสดงผลกราฟออกทางหน้าจอ
plt.show()
```
## สรุป
ถ้าคุณกำลังทำงานสาย **Data Science, Data Analyst, หรือ Machine Learning** การใช้งาน Matplotlib ให้เป็น ถือเป็นทักษะพื้นฐานที่ขาดไม่ได้เลยครับ เพราะมันช่วยให้เรา "เห็นภาพ" พฤติกรรมของข้อมูล (Data Insights) ได้ชัดเจนที่สุดก่อนจะนำไปประมวลผลต่อ






