دليل الأداة

مخطط الأعمدة المكدسة في بايثون: دليل Matplotlib و Pandas

تعتبر مخططات الأعمدة المكدسة ضرورية لإظهار كيفية مساهمة المكونات في الإجماليات عبر الفئات. تقدم بايثون طرقًا متعددة من خلال التحكم منخفض المستوى في matplotlib وواجهة الرسم المريحة في pandas. يقدم هذا الدليل مقتطفات برمجية جاهزة للنسخ واللصق لجميع سيناريوهات مخططات الأعمدة المكدسة الشائعة في بايثون.

مثال تفاعلي على مخطط الأعمدة المكدسة في بايثون

مخطط الأعمدة المكدسة الأساسي مع Matplotlib

يستخدم النهج الأساسي معلمة 'bottom' في matplotlib لتكديس الأعمدة فوق بعضها البعض:

مخطط الأعمدة المكدسة مع Pandas

تجعل مكتبة Pandas مخططات الأعمدة المكدسة بسيطة للغاية من خلال طريقة plot():

مخطط الأعمدة المكدسة الأفقي

لتسميات الفئات الطويلة أو البيانات المرتبة، استخدم الأعمدة المكدسة الأفقية:

مخطط الأعمدة المكدسة بنسبة 100% (تطبيع البيانات)

أظهر النسب بدلاً من القيم المطلقة عن طريق تطبيع البيانات إلى 100%:

إضافة تسميات البيانات إلى الأعمدة المكدسة

اعرض القيم الدقيقة على كل جزء لقراءة دقيقة:

تخصيص الألوان والأنماط

تحكم في كل جانب بصري من مخطط الأعمدة المكدسة:

  • ألوان مخصصة: قم بتمرير قائمة إلى معلمة color أو استخدم colormap
  • ألوان الحواف: أضف edgecolor='black' لحدود الأعمدة
  • الشفافية: استخدم alpha=0.8 لأعمدة شبه شفافة
  • أنماط التظليل: أضف hatch='/' لتعبئات ذات نسيج (لإمكانية الوصول)
  • لوحات الألوان: استخدم plt.cm.viridis أو لوحات ألوان seaborn

العمل مع مجموعات البيانات الكبيرة

عند العمل مع العديد من الفئات أو مجموعات البيانات الكبيرة، ضع في اعتبارك هذه التقنيات:

  • حدد الفئات إلى أعلى N قيمة من أجل قابلية القراءة
  • استخدم الأعمدة الأفقية لـ 10+ فئات
  • قم بتجميع الأجزاء الصغيرة في فئة 'أخرى'
  • فكر في التصور التفاعلي باستخدام Plotly للاستكشاف
  • احفظ بتنسيق متجه (PDF/SVG) للمخططات الكبيرة

المزالق الشائعة والحلول

تجنب هذه المشكلات المتكررة عند إنشاء مخططات الأعمدة المكدسة في بايثون:

  • مصفوفات Numpy للمعامل bottom: قم بتحويل القوائم إلى مصفوفات numpy لعمليات الرياضيات
  • ترتيب وسيلة الإيضاح: اعكس ترتيب وسيلة الإيضاح لمطابقة الترتيب البصري للتكديس باستخدام handles[::-1]
  • التسميات المزدحمة: استخدم rotation=45 لتسميات المحور السيني بزاوية
  • الأعمدة المتداخلة: تأكد من أن جميع سلاسل البيانات لها نفس الطول
  • مشكلات الذاكرة: أغلق الأشكال باستخدام plt.close() عند إنشاء مخططات متعددة

ChartGen.ai: بديل بدون برمجة

تتطلب مخططات الأعمدة المكدسة في بايثون معرفة بالبرمجة ووقتًا لتصحيح الأخطاء. يقوم ChartGen.ai بإنشاء تصورات متطابقة فورياً - الصق بياناتك، واحصل على مخطط أعمدة مكدسة بمظهر احترافي، وصدر بصيغة PNG. مثالي للتحليل السريع دون الحاجة إلى كتابة التعليمات البرمجية.

  • لا حاجة لتثبيت بايثون
  • تجاوز أخطاء التصحيح والتركيب
  • يتولى الذكاء الاصطناعي التصميم والتنسيق
  • تصدير فوري بصيغة PNG
  • مثالي للعروض التقديمية والتقارير

الأسئلة الشائعة

كيف يمكنني إنشاء مخطط أعمدة مكدسة في بايثون؟
استخدم معلمة bottom في matplotlib: plt.bar(x, data1); plt.bar(x, data2, bottom=data1). أو باستخدام pandas: df.plot(kind='bar', stacked=True). كلاهما ينشئ أعمدة مكدسة توضح كيفية جمع المكونات إلى الإجماليات.
كيف يمكنني إنشاء مخطط أعمدة مكدسة بنسبة 100% في بايثون؟
قم أولاً بتطبيع بياناتك: df_pct = df.div(df.sum(axis=1), axis=0) * 100. ثم ارسم: df_pct.plot(kind='bar', stacked=True). يظهر هذا كل عمود بنسبة 100% مع أجزاء متناسبة.
ما الفرق بين matplotlib و pandas للأعمدة المكدسة؟
pandas أبسط (سطر واحد: df.plot(kind='bar', stacked=True)) ولكنه أقل مرونة. يتطلب matplotlib حسابات يدوية للمعامل bottom ولكنه يوفر تخصيصًا أكثر. استخدم pandas للرسوم السريعة، و matplotlib للرسوم عالية الجودة المناسبة للنشر.
كيف يمكنني إضافة تسميات إلى أجزاء العمود المكدس في بايثون؟
مع matplotlib 3.4+، استخدم ax.bar_label(container, label_type='center'). قم بالتكرار خلال ax.containers لتسمية كل جزء من التكديس. للإصدارات الأقدم، احسب المواضع يدويًا باستخدام plt.text().
كيف يمكنني إنشاء أعمدة مكدسة أفقية في بايثون؟
مع pandas: df.plot(kind='barh', stacked=True). مع matplotlib: استخدم plt.barh() ومعلمة 'left' بدلاً من 'bottom'.
هل هناك طريقة لإنشاء مخططات أعمدة مكدسة بدون بايثون؟
نعم، يقوم ChartGen.ai بإنشاء مخططات أعمدة مكدسة فورياً دون أي برمجة. الصق بياناتك، ويقوم الذكاء الاصطناعي بإنشاء مخطط بمظهر احترافي وجاهز للتصدير بصيغة PNG.

أدلة ذات صلة

ابدأ في إنشاء مخططات شريطية احترافية اليوم

انضم إلى آلاف المستخدمين الذين ينشئون تصورات بيانات مذهلة باستخدام ChartGen.ai. مجاني للاستخدام، لا حاجة للتسجيل.