البرمجة

تخصيص محور السينات في رسومات البيانات الزمنية

عندما تقوم برسم سلاسل زمنية باستخدام الوظيفة .plot() في مكتبة pandas، تواجه تحديًا في عرض عدد أكبر من علامات التقسيم على محور السينات (x-axis). عندما يكون لديك سلاسل زمنية مع تقسيمات دقيقة مثل كل شهر، يمكن أن تكون العلامات الموجودة افتراضيًا غير كافية لتمثيل البيانات بشكل صحيح.

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

في محاولتك الأولى باستخدام ax.xaxis.set_major_locator()، تم استخدام MonthLocator ولكنك واجهت مشكلة في إظهار العلامات بشكل صحيح. يبدو أن البارامترات التي قمت بتمريرها لم تكن صحيحة. بدلاً من ذلك، يمكنك استخدام MonthLocator بدون تمرير مجموعة الفهرس المستخدمة في الباندا، ويمكنك تحقيق هذا عن طريق تعيين الإعدادات المناسبة لموقع العلامات على المحور الزمني.

فيما يلي كود يوضح كيفية تحقيق ذلك:

python
import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as mdates # قم بتحميل البيانات df = pd.read_csv('your_dataset.csv') # تحويل العمود 'Date' إلى تنسيق تاريخي إذا لزم الأمر df['Date'] = pd.to_datetime(df['Date']) # إنشاء مخطط ax = df.plot(x='Date', y='Revenue') # تعيين محلل الشهر كمحلل رئيسي ax.xaxis.set_major_locator(mdates.MonthLocator()) # تعيين تنسيق المحور الزمني ليظهر الشهر والسنة ax.xaxis.set_major_formatter(mdates.DateFormatter('%b %Y')) # عرض الشريط الأفقي لتسهيل القراءة plt.xticks(rotation=45) # عرض الرسم البياني plt.show()

في هذا الكود، قمنا بتحميل البيانات وتحويل عمود التاريخ إلى تنسيق تاريخي باستخدام pd.to_datetime()، ثم رسمنا البيانات باستخدام df.plot() حيث قمنا بتعيين محلل الشهر كمحلل رئيسي باستخدام ax.xaxis.set_major_locator() وقمنا بتعيين تنسيق لعرض الشهر والسنة باستخدام ax.xaxis.set_major_formatter().

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

المزيد من المعلومات

بالطبع، يمكنني مساعدتك في استكمال المقال.


لتعزيز فهمك لكيفية تخصيص محور السينات (x-axis) في رسومات البيانات الزمنية باستخدام مكتبة pandas و matplotlib، يمكننا التفصيل أكثر حول الخطوات المتبعة في الكود المقدم.

أولاً، نقوم بتحميل البيانات المراد رسمها باستخدام pd.read_csv()، ومن ثم نقوم بتحويل عمود التاريخ إلى تنسيق تاريخي مفهوم باستخدام pd.to_datetime() للسماح برسمها بشكل صحيح. هذه الخطوة أساسية لضمان تمثيل البيانات بشكل صحيح على محور السينات.

ثم، نقوم برسم البيانات باستخدام df.plot()، حيث نحدد أيضًا محلل الشهر كمحلل رئيسي باستخدام ax.xaxis.set_major_locator()، الذي يقوم بتحديد توزيع العلامات على محور السينات بحيث يتم عرض كل شهر بشكل منفصل.

باستخدام ax.xaxis.set_major_formatter()، يمكننا تخصيص تنسيق العلامات التي تمثل التواريخ الموجودة على محور السينات. في هذا المثال، تم استخدام '%b %Y' لعرض اختصار للاسم الشهري (بالإنجليزية) تليه السنة.

أخيرًا، نقوم بإظهار الشريط الأفقي بزاوية لتسهيل القراءة باستخدام plt.xticks(rotation=45)، والذي يدور العلامات بزاوية 45 درجة لتجنب التداخل وتحسين القراءة.

باستخدام هذه الخطوات، يمكننا الآن عرض بيانات السلاسل الزمنية بشكل أكثر دقة وتفصيلًا، مما يسهل على المستخدم فهم التغيرات عبر الزمن بطريقة أكثر فاعلية.

هذا النهج يوفر للمستخدمين طريقة قوية ومرنة لتخصيص عرض بياناتهم الزمنية في رسومات البيانات، والتي يمكن أن تكون مفيدة لتحليل وفهم الاتجاهات والنماذج عبر الزمن بشكل أفضل.


يرجى العلم أنه يمكنك تخصيص وتعديل الكود وفقًا لاحتياجاتك الخاصة، مثل تغيير تنسيق العلامات أو زوايا الدوران، لتلبية متطلبات مشروعك الفريدة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر