Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีซ่อนป้ายกำกับด้านซ้ายในแผนภูมิพาย (Pie Chart) ของ Matplotlib

ใน Matplotlib เมื่อสร้างแผนภูมิพายด้วย plt.pie() จะมีป้ายกำกับ (label) ปรากฏรอบขอบพายโดยอัตโนมัติ หากต้องการซ่อนป้ายกำกับด้านซ้ายหรือป้ายกำกับใดๆ สามารถใช้ plt.ylabel("") เพื่อลบป้ายกำกับแกน Y (ซึ่งอาจปรากฏจากการพลอตก่อนหน้า) หรือจัดการป้ายกำกับใน pie() โดยตรง

ขั้นตอนการทำงาน

  1. นำเข้า matplotlib.pyplot
  2. เตรียมข้อมูล: ชั่วโมง (hours), กิจกรรม (activities), สี (colors)
  3. พลอตแผนภูมิพายด้วย plt.pie() พร้อมพารามิเตอร์:
    • labels=activities - ป้ายกำกับแต่ละส่วน
    • colors=colors - สีแต่ละส่วน
    • autopct="%.2f" - แสดงเปอร์เซ็นต์ 2 ตำแหน่งทศนิยม
  4. ซ่อนป้ายกำกับแกน Y ด้วย plt.ylabel("")
  5. แสดงผลด้วย 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ระยะห่างของเปอร์เซ็นต์จากศูนย์กลาง
textpropsdict สำหรับจัดรูปแบบข้อความ (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%%")

การประยุกต์ใช้

เหมาะสำหรับการนำเสนอข้อมูลสัดส่วน ที่ต้องการเน้นเฉพาะบางหมวดหมู่ หรือเมื่อพื้นที่จำกัดและต้องการลดความแออัดของป้ายกำกับ