المخططات الدائرية 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/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()
نتيجة:
زاوية البداية
كما ذكرنا ، تكون زاوية البداية الافتراضية عند المحور س ، ولكن يمكنك تغيير زاوية البداية عن طريق تحديد
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
، عبارة عن مصفوفة ذات قيمة واحدة لكل إسفين.
تمثل كل قيمة مدى بُعد كل إسفين عن المركز:
مثال
اسحب إسفين "التفاح" 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()
نتيجة: