الميزات التفاعلية
كبّر ومرّر المؤشر وحرّك العرض
الميزات التفاعلية درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.
لماذا تُهمّ التفاعلية
أكبر ميزة لـ Plotly مقارنة بالمكتبات الثابتة هي أن المخططات تستجيب للمستخدم. يمكن للقراء التكبير على منطقة ما، والتحريك عبر البيانات، والتحويم لقراءة القيم الدقيقة، دون إغراق المخطط بالتسميات.
تتيح التفاعلية لمخطط واحد أن يجمع بين النظرة العامة والتفاصيل.
تلميحات التحويم
يعرض التحويم فوق نقطة، افتراضيًا، قيمتي x وy الخاصة بها. ويمكنك إثراء ذلك باستخدام hover_data=['col1', 'col2'] لإضافة أعمدة أخرى، أو باستخدام hover_name='name' لتعيين العنوان العريض للتلميح.
تغني التلميحات الجيدة عن ازدحام المخطط نفسه.
إنشاء سلسلة نصية لتلميح الأدوات
من الناحية المفاهيمية، التلميح ليس سوى نص منسّق مُركّب من صف من البيانات. إليك الفكرة نفسها باستخدام Python العادية.
point = {'name': 'Berlin', 'pop': 3700000, 'gdp': 154}
tooltip = point['name'] + '\nPop: ' + format(point['pop'], ',') + '\nGDP: ' + str(point['gdp'])
print(tooltip)التكبير والتحريك
تتضمن أشكال Plotly شريط أوضاع يضم أدوات التكبير والتحريك والتحديد بالمربع. ويمكن للمستخدمين أيضًا السحب للتكبير إلى مستطيل، والنقر نقرًا مزدوجًا لإعادة الضبط.
تكون هذه السلوكيات مفعّلة افتراضيًا، ولذلك لا تحتاج عادةً إلى كتابة أي كود لها.
النطاق وإعادة الضبط
يغيّر التكبير نطاق المحور مؤقتًا. ويمكنك ضبط النطاق الأولي باستخدام fig.update_xaxes(range=[0, 100])، كما يمكن للمستخدم دائمًا إعادة الضبط إليه.
فكّر في التكبير على أنه اختيار نافذة فرعية من نطاق البيانات الكامل.
full_min, full_max = 0, 1000
zoom_min, zoom_max = 200, 400
visible = zoom_max - zoom_min
total = full_max - full_min
print('Zoom shows', round(visible / total * 100), '% of the range')أوضاع التحويم
يعرض fig.update_layout(hovermode='x unified') تلميحًا واحدًا يسرد كل السلاسل عند موضع x الذي يحوم فوقه المؤشر. وهذا ممتاز لمقارنة عدة خطوط عند النقطة الزمنية نفسها.
تشمل الأوضاع الأخرى 'closest' و'x'.
تفاعلية وسيلة الإيضاح
يمكن النقر فوق وسائل الإيضاح في Plotly. يؤدي النقر مرة واحدة إلى إخفاء سلسلة، بينما يؤدي النقر مرتين إلى عزلها. ويتيح ذلك للمستخدمين التركيز على البيانات التي تهمهم دون إنشاء مخططات منفصلة.
يعمل ذلك تلقائيًا كلما احتوى مخططك على عدة آثار.
أشرطة تمرير النطاق
بالنسبة إلى السلاسل الزمنية، أضف شريط تمرير للنطاق باستخدام fig.update_xaxes(rangeslider_visible=True). سيظهر مخطط عرض عام صغير أسفل المخطط، مما يتيح للمستخدمين سحب المؤشر لتحديد نافذة من التواريخ.
ويتكامل ذلك جيدًا مع أزرار محدد النطاق مثل 1m و6m وYTD.
قوالب تحويم مخصصة
للحصول على تحكم كامل، استخدم hovertemplate، وهي سلسلة نصية تحتوي على عناصر نائبة مثل %{x} و%{y}. وتحدد أنت النص الدقيق وتنسيق الأرقام اللذين يظهران عند التحويم.
يشبه تصميم القالب تصميم أي سلسلة نصية منسّقة.
x, y = 2021, 42.567
template = 'Year %{x}: $%{y:.1f}M'
rendered = template.replace('%{x}', str(x)).replace('%{y:.1f}', format(y, '.1f'))
print(rendered)معرفة متى تتوقف
التفاعلية قوية، لكنها ليست بلا تكلفة. فكثرة عناصر التحكم تربك القراء العاديين. فعّل الميزات التي تجيب عن أسئلة حقيقية، واعتمد الإعدادات الافتراضية المناسبة فيما عدا ذلك.
شريط الأوضاع
شريط الأدوات الموجود أعلى يمين كل شكل هو شريط الأوضاع. ويضم أدوات التكبير والتحريك والضبط التلقائي للمقياس، وزر كاميرا لتنزيل صورة PNG. ويمكنك ضبطه أو إخفاءه باستخدام وسيط config عند عرض الشكل.
يؤدي إخفاء الأزرار غير المستخدمة إلى تقليل ازدحام المخطط للجمهور غير التقني.
تحقق سريع
اختبر معرفتك بالميزات التفاعلية.
مراجعة
استكشفت تفاعلية Plotly:
- تلميحات التحويم، مع إثرائها باستخدام
hover_dataوhovertemplate - التكبير والتحريك عبر شريط الأوضاع المضمن
hovermode='x unified'لعرض تلميحات مدمجة- وسائل إيضاح قابلة للنقر وأشرطة تمرير النطاق للسلاسل الزمنية
استخدم هذه الميزات بتأنٍ للإجابة عن أسئلة حقيقية.
الأسئلة الشائعة
هل درس «الميزات التفاعلية» مجاني؟
نعم — نص درس «الميزات التفاعلية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.
ماذا ستتعلم في «الميزات التفاعلية»؟
كبّر ومرّر المؤشر وحرّك العرض تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟
لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «الميزات التفاعلية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟
نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات Plotly Express
- الميزات التفاعلية
- مفاهيم لوحات المعلومات
- التصدير والتضمين