Matplotlib แผนภูมิวงกลม
การสร้างแผนภูมิวงกลม
ด้วย Pyplot คุณสามารถใช้pie()
ฟังก์ชันนี้เพื่อวาดแผนภูมิวงกลม:
ตัวอย่าง
แผนภูมิวงกลมอย่างง่าย:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
plt.pie(y)
plt.show()
ผลลัพธ์:
ดังที่คุณเห็นแผนภูมิวงกลมวาดชิ้นเดียว (เรียกว่าลิ่ม) สำหรับแต่ละค่าในอาร์เรย์ (ในกรณีนี้ [35, 25, 25, 15])
โดยค่าเริ่มต้น การพล็อตของลิ่มแรกจะเริ่มต้นจากแกน x และเลื่อนทวนเข็มนาฬิกา :
หมายเหตุ:ขนาดของแต่ละเสี้ยวถูกกำหนดโดยการเปรียบเทียบค่ากับค่าอื่นๆ ทั้งหมด โดยใช้สูตรนี้:
ค่าหารด้วยผลรวมของค่าทั้งหมด:x/sum(x)
ป้าย
เพิ่มป้ายกำกับให้กับแผนภูมิวงกลมด้วยlabel
พารามิเตอร์
label
พารามิเตอร์ต้องเป็นอาร์เรย์ที่มีป้ายกำกับเดียวสำหรับแต่ละลิ่ม:
ตัวอย่าง
แผนภูมิวงกลมอย่างง่าย:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y,
labels = mylabels)
plt.show()
ผลลัพธ์:
มุมเริ่มต้น
ดังที่กล่าวไว้ มุมเริ่มต้นเริ่มต้นอยู่ที่แกน x แต่คุณสามารถเปลี่ยนมุมเริ่มต้นได้โดยการระบุ
startangle
พารามิเตอร์
พารามิเตอร์ ถูกstartangle
กำหนดด้วยมุมเป็นองศา มุมเริ่มต้นคือ 0:
ตัวอย่าง
เริ่มลิ่มแรกที่ 90 องศา:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y,
labels = mylabels, startangle = 90)
plt.show()
ผลลัพธ์:
ระเบิด
บางทีคุณอาจต้องการให้เวดจ์ตัวใดตัวหนึ่งโดดเด่น? พารามิเตอร์ช่วย ให้
explode
คุณทำอย่างนั้นได้
explode
พารามิเตอร์ หากระบุไว้ ไม่ใช่None
ต้องเป็นอาร์เรย์ที่มีค่าเดียวสำหรับแต่ละลิ่ม
แต่ละค่าแสดงถึงระยะห่างจากศูนย์กลางแต่ละเสี้ยวที่แสดง:
ตัวอย่าง
ดึงลิ่ม "Apples" 0.2 จากกึ่งกลางของพาย:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y,
labels = mylabels, explode = myexplode)
plt.show()
ผลลัพธ์:
เงา
เพิ่มเงาให้กับแผนภูมิวงกลมโดยตั้งค่า
shadows
พารามิเตอร์เป็นTrue
:
ตัวอย่าง
เพิ่มเงา:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y,
labels = mylabels, explode = myexplode, shadow = True)
plt.show()
ผลลัพธ์:
สี
คุณสามารถกำหนดสีของแต่ละลิ่มด้วยcolors
พารามิเตอร์
colors
พารามิเตอร์ หากระบุไว้ จะต้องเป็นอาร์เรย์ที่มีค่าหนึ่งค่าสำหรับแต่ละลิ่ม:
ตัวอย่าง
ระบุสีใหม่สำหรับเวดจ์แต่ละอัน:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["black", "hotpink", "b", "#4CAF50"]
plt.pie(y, labels =
mylabels, colors = mycolors)
plt.show()
ผลลัพธ์:
คุณสามารถใช้ค่าสีเลขฐานสิบหก ชื่อสี ใดก็ได้จาก140 ชื่อที่รองรับหรือหนึ่งในทางลัดเหล่านี้:
'r'
- แดง
'g'
- เขียว
'b'
- น้ำเงิน
'c'
- ฟ้า
'm'
- ม่วงแดง
'y'
- เหลือง
'k'
- ดำ
'w'
- ขาว
ตำนาน
หากต้องการเพิ่มรายการคำอธิบายสำหรับลิ่มแต่ละอัน ให้ใช้legend()
ฟังก์ชัน:
ตัวอย่าง
เพิ่มตำนาน:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.legend()
plt.show()
ผลลัพธ์:
ตำนานที่มีส่วนหัว
หากต้องการเพิ่มส่วนหัวให้กับคำอธิบาย ให้เพิ่มtitle
พารามิเตอร์ลงในlegend
ฟังก์ชัน
ตัวอย่าง
เพิ่มคำอธิบายด้วยส่วนหัว:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.legend(title = "Four Fruits:")
plt.show()
ผลลัพธ์: