البرمجة

حل مشكلة الرسم بالنقاط في Matplotlib

عند مراجعة الشيفرة البرمجية التي قدمتها، يبدو أنك واجهت مشكلة ناتجة عن طريقة استخدام دالة scatter في مكتبة Matplotlib. الخطأ الذي واجهته يشير إلى أن هناك مشكلة في تنفيذ الدالة sqrt (الجذر التربيعي) على أحد الأنواع المستخدمة في الدالة.

الخطأ يشير إلى أن نوع البيانات الذي تم استخدامه في الدالة scatter لا يدعم عملية الجذر التربيعي (sqrt)، وأن البيانات التي تم استخدامها لا يمكن تحويلها بشكل آمن إلى أي نوع مدعوم وفقًا لقاعدة التحويل ‘safe’.

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

يمكنك تحديد نوع الرمز باستخدام معامل marker. في هذه الحالة، يمكنك استخدام ‘o’ كرمز لتمثيل النقاط كنقاط دائرية. يمكنك تحسين الشيفرة كما يلي:

python
import numpy as np import matplotlib.pyplot as plt y = [7316.0, 7453.25, 7518.25, 7711.5, 7448.0, 7210.25, 7416.75, 6960.75, 7397.75, 6397.5, 5522.75, 5139.0, 5034.75, 4264.75, 5106.0, 3489.5, 4712.0, 4770.0] x = np.arange(0,18,1) plt.rcParams['legend.loc'] = 'best' plt.figure(1) plt.xlim(0, 20) plt.ylim(0, 10000) plt.scatter(x, y, marker='o', color='r') # قمت بتعيين نوع الرمز 'o' واللون 'r' plt.show()

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

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

بالتأكيد، يُظهر الشيفرة البرمجية التي قدمتها محاولتك لرسم نقاط على مخطط البيانات باستخدام مكتبة Matplotlib في Python. فيما يلي توضيح للعناصر الرئيسية في الشيفرة:

  1. البيانات:

    • لديك قائمة y التي تحتوي على قيم النقاط على محور الصف الرأسي.
    • لديك مصفوفة x التي تحتوي على قيم المواقع على محور السطر الأفقي.
  2. ضبط الرسم:

    • plt.rcParams['legend.loc'] = 'best': تضبيط مكان العنوان (التسمية) على أفضل وضع.
    • plt.figure(1): إنشاء رقم المخطط.
    • plt.xlim(0, 20): تحديد نطاق المحور الأفقي.
    • plt.ylim(0, 10000): تحديد نطاق المحور الرأسي.
  3. رسم النقاط:

    • plt.scatter(x, y, marker='o', color='r'): استخدام دالة scatter لرسم النقاط.
      • marker='o': تحديد رمز النقاط كدوائر.
      • color='r': تحديد لون النقاط باللون الأحمر.
  4. عرض الرسم:

    • plt.show(): عرض المخطط.

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

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

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

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!