Data Visualization

إتقان رسوم التشتت في ماتبلوتليب: دليل للتحكم في حجم العلامات

Spread the love

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

جدول المحتويات

التحكم في حجم العلامة باستخدام كلمة المفتاح ‘s’

الطريقة الأكثر شيوعًا وتنوعًا لضبط حجم العلامة في الرسوم البيانية النقطية في Matplotlib هي استخدام وسيطة كلمة المفتاح s ضمن دالة scatter. تقبل وسيطة s كائنًا قياسيًا أو شبيهًا بالصفائف يُحدد حجم العلامة بوحدات النقاط المربعة. تمثل القيمة 100 علامة بمساحة 100 نقطة مربعة.


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)
sizes = np.random.randint(10, 100, 10)  # أحجام عشوائية بين 10 و 100

plt.scatter(x, y, s=sizes)
plt.xlabel("المحور X")
plt.ylabel("المحور Y")
plt.title("رسم بياني نقطي بأحجام علامات متغيرة")
plt.show()

يُنشئ هذا الكود رسمًا بيانيًا نقطيًا حيث يُحدد حجم كل علامة العنصر المُقابل في مصفوفة sizes. يؤدي استخدام قيمة قياسية واحدة لـ s إلى أحجام علامات موحّدة لجميع النقاط.

حجم علامة موحّد لجميع النقاط

لتعيين حجم علامة ثابت لجميع نقاط البيانات، ما عليك سوى تقديم قيمة قياسية واحدة لوسيطة s:


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)

plt.scatter(x, y, s=50)  # جميع العلامات سيكون حجمها 50
plt.xlabel("المحور X")
plt.ylabel("المحور Y")
plt.title("رسم بياني نقطي بحجم علامة موحّد")
plt.show()

يُنشئ هذا رسمًا بيانيًا نقطيًا بحيث تكون مساحة جميع العلامات 50 نقطة مربعة.

حجم علامة غير موحّد بناءً على البيانات

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


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)
population = np.random.randint(1000, 10000, 10)  # بيانات سكانية مثاليه

# تغيير حجم السكان إلى أحجام علامات مناسبة
sizes = (population / population.max()) * 200  # تغيير الحجم إلى نطاق معقول

plt.scatter(x, y, s=sizes)
plt.xlabel("المحور X")
plt.ylabel("المحور Y")
plt.title("رسم بياني نقطي بحجم علامة يُمثّل عدد السكان")
plt.show()

يُغيّر هذا حجم البيانات السكانية إلى نطاق مناسب لأحجام العلامات، مما يضمن أن تتوافق السكان الأكبر مع العلامات الأكبر.

استخدام دالة plot للرسوم البيانية النقطية البسيطة

على الرغم من أن دالة scatter تُفضّل بشكل عام للرسوم البيانية النقطية نظرًا لمرونتها، إلا أنه يمكنك أيضًا التحكم في حجم العلامة باستخدام معلمة markersize ضمن دالة plot. ومع ذلك، فإن هذه الطريقة أقل مرونة ولا تسمح إلا بحجم علامة واحد لجميع النقاط:


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)

plt.plot(x, y, 'o', markersize=10)  # جميع العلامات سيكون حجمها 10
plt.xlabel("المحور X")
plt.ylabel("المحور Y")
plt.title("رسم بياني نقطي باستخدام دالة plot")
plt.show()

ينتج هذا نتيجة مشابهة لاستخدام حجم موحّد مع scatter، لكن scatter توفر تحكمًا أفضل ويُوصى بها بشكل عام لإنشاء رسوم بيانية نقطية. لاحظ أن 'o' يُحدد علامة دائرية؛ تتوفر أنماط علامات أخرى (راجع وثائق Matplotlib للحصول على التفاصيل).

أوضح هذا المقال تقنيات متنوعة للتحكم في حجم العلامات في الرسوم البيانية النقطية في Matplotlib، مما يسمح لك بإنشاء تصورات مُخصصة وغنية بالمعلومات بصريًا. تذكر ضبط مقياس الحجم لتتناسب مع بياناتك والتمثيل المرئي المطلوب.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *