ภาพรวม
ใน Pie Chart หากมีสไลด์เล็กมาก ฉลากจะทับซ้อนและอ่านยาก ใช้ฟังก์ชัน lambda ใน autopct เพื่อแสดง % เฉพาะสไลด์ที่ใหญ่พอ
ขั้นตอนการทำงาน
- กำหนดขนาดฟิกเกอร์
- สร้าง DataFrame มีคอลัมน์ activities และ hours
- ใช้
df.set_index('activities').plot.pie() - ใน
autopctใช้ lambda:lambda p: format(p, '.2f') if p > 25 else None - แสดงผล
ตัวอย่างโค้ด
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame({
'activities': ['sleep', 'exercise', 'work', 'study'],
'hours': [8, 1, 9, 4]
})
df.set_index('activities').plot.pie(
y='hours',
legend=False,
autopct=lambda p: format(p, '.2f') if p > 25 else None
)
plt.show()
ผลลัพธ์
Pie chart แสดง % เฉพาะ sleep (36.36%) และ work (40.91%) ส่วน exercise (4.55%) และ study (18.18%) ไม่แสดง

ประยุกต์ใช้
- เปลี่ยนเงื่อนไข
p > 25เป็นค่าอื่น เช่น 10, 5 - ใช้
pctdistanceและlabeldistanceปรับตำแหน่งข้อความ - ร่วมกับ
explodeตัดสไลด์ออกมาเน้น