Matplotlib Pie Charts

ایجاد چارت Pie

از تابع pie() جهت رسم چارت pie استفاده می‌شود.


import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])

plt.pie(y)
plt.show()

خروجی:

چنانکه ملاحظه می‌کنید، این چارت برای هر یک از مقادیر داخل آرایه یک کمان (wedge) رسم می‌کند.

به صورت پیش‌فرض اولین کمان از محور 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 تغییر دهید.

این پارامتر بر حسب درجه و مقدار پیش‌فرض برای آن برابر صفر است.


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 استفاده کنید.

در صورتی که پارامتر explode تعریف شود و مقدار آن برابر None نباشد، باید به صورت یک آرایه با یک مقدار برای هر کمان باشد.

این مقادیر نشان دهنده آن خواهند بود که هر کمان چقدر از مرکز دور باشد.


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()

خروجی:

پارامتر shadow

جهت اضافه کردن سایه به چارت مقدار پارامتر shadow را برابر 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 استفاده کنید.

در صورت تعریف پارامتر 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()

خروجی:

راهنما

جهت اضافه کردن توضیح برای هر کمان از پارامتر 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()

خروجی: