من أين جاءت العيدية؟
barpiesubplots
قاموس واحد يكفي لرسمين: أعمدة تقارن المبالغ، ودائرة تُظهر نصيب كل شخص. subplots(1, 2) تضع الرسمين جنبًا إلى جنب، وautopct تكتب النسبة على كل قطعة.
# من أين جاءت العيدية؟ أعمدة ودائرة من القاموس نفسه
import matplotlib
import matplotlib.pyplot as plt
import arabic_reshaper
# Matplotlib 3.11 وما بعده يصل الحروف العربية بنفسه، والإصدارات الأقدم تحتاج مساعدتنا
NEW_MATPLOTLIB = tuple(map(int, matplotlib.__version__.split(".")[:2])) >= (3, 11)
def ar(text):
if NEW_MATPLOTLIB:
return text
return arabic_reshaper.reshape(text)[::-1]
eidiya = {"الأب": 300, "الأم": 250, "الجدة": 200, "العم": 150, "الخالة": 100}
names = [ar(name) for name in eidiya]
amounts = list(eidiya.values())
print("المجموع:", sum(amounts), "ريال")
for name, amount in eidiya.items():
print(f"{name}: {amount / sum(amounts):.0%}")
colors = ["#0f766e", "#14b8a6", "#5eead4", "#f5b83d", "#c27c0e"]
fig, (left, right) = plt.subplots(1, 2, figsize=(10, 4))
left.bar(names, amounts, color=colors)
left.set_title(ar("العيدية بالريال"))
right.pie(amounts, labels=names, colors=colors, autopct="%1.0f%%")
right.set_title(ar("نصيب كل شخص"))
plt.show()المخرجات
المجموع: 1000 ريال الأب: 30% الأم: 25% الجدة: 20% العم: 15% الخالة: 10%

نورة: «ماذا لو أعطت الجدّة 500؟» غيّر الرقم في القاموس، وشاهد الدائرة تتغيّر وحدها.
جرّب أن تغيّر رقمًا أو لونًا في الكود، ثم شغّله من جديد وشاهد ما يتغيّر.▶ افتح المثال في المحرر