ใน Matplotlib เมื่อสร้างแผนภูมิพายด้วย plt.pie() จะมีป้ายกำกับ (label) ปรากฏรอบขอบพายโดยอัตโนมัติ หากต้องการซ่อนป้ายกำกับด้านซ้ายหรือป้ายกำกับใดๆ สามารถใช้ plt.ylabel("") เพื่อลบป้ายกำกับแกน Y (ซึ่งอาจปรากฏจากการพลอตก่อนหน้า) หรือจัดการป้ายกำกับใน pie() โดยตรง
ขั้นตอนการทำงาน
- นำเข้า
matplotlib.pyplot - เตรียมข้อมูล: ชั่วโมง (
hours), กิจกรรม (activities), สี (colors) - พลอตแผนภูมิพายด้วย
plt.pie()พร้อมพารามิเตอร์:labels=activities- ป้ายกำกับแต่ละส่วนcolors=colors- สีแต่ละส่วนautopct="%.2f"- แสดงเปอร์เซ็นต์ 2 ตำแหน่งทศนิยม
- ซ่อนป้ายกำกับแกน Y ด้วย
plt.ylabel("") - แสดงผลด้วย
plt.show()
ตัวอย่างโค้ด
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
hours = [8, 1, 11, 4]
activities = ['sleeping', 'exercise', 'studying', 'working']
colors = ["grey", "green", "orange", "blue"]
plt.pie(hours, labels=activities, colors=colors, autopct="%.2f")
plt.ylabel("")
plt.show()
วิธีควบคุมป้ายกำกับใน Pie Chart อย่างละเอียด
| พารามิเตอร์ | คำอธิบาย |
|---|---|
labels | รายการป้ายกำกับ (ตั้งค่าเป็น None เพื่อซ่อนทั้งหมด) |
labeldistance | ระยะห่างจากศูนย์กลาง (ค่าเริ่มต้น 1.1) |
autopct | รูปแบบการแสดงเปอร์เซ็นต์ (เช่น "%1.1f%%") |
pctdistance | ระยะห่างของเปอร์เซ็นต์จากศูนย์กลาง |
textprops | dict สำหรับจัดรูปแบบข้อความ (fontsize, color, weight) |
ตัวอย่าง: ซ่อนป้ายกำกับบางส่วน
# แสดงเฉพาะเปอร์เซ็นต์ ไม่แสดงชื่อกิจกรรม
plt.pie(hours, labels=None, colors=colors, autopct="%1.1f%%")
# หรือกำหนดป้ายกำกับเฉพาะบางส่วน
custom_labels = ['', 'Exercise', '', 'Work'] # ว่างสำหรับ sleeping และ studying
plt.pie(hours, labels=custom_labels, colors=colors, autopct="%1.1f%%")
การประยุกต์ใช้
เหมาะสำหรับการนำเสนอข้อมูลสัดส่วน ที่ต้องการเน้นเฉพาะบางหมวดหมู่ หรือเมื่อพื้นที่จำกัดและต้องการลดความแออัดของป้ายกำกับ