البرمجة

رسم بياني ggplot2 بتأثير كثافة البيانات

لإنشاء رسم بياني في R باستخدام ggplot2 يكون أكثر داكناً في المناطق التي تحتوي على نقاط أكثر كثافة وأكثر شفافية في المناطق التي تحتوي على نقاط أقل كثافة، يمكنك استخدام geom_hex مع تعيين قيمة alpha بناءً على عدد النقاط في كل خلية. ولكن، لاحظ أنه يجب أن تكون قيمة alpha ضمن نطاق محدد (على سبيل المثال، بين 0 و1)، ولا تكون قيمة alpha قابلة للتطبيق بشكل مباشر على geom_hex.

بدلاً من ذلك، يمكنك استخدام geom_tile وتعيين alpha بناءً على عدد النقاط في كل منطقة. هناك بعض الخطوات التي يجب اتباعها:

  1. قم بحساب عدد النقاط في كل منطقة باستخدام geom_bin2d.
  2. انضم البيانات إلى مجموعة البيانات الأصلية.
  3. استخدم geom_tile لإنشاء الرسم البياني مع تعيين alpha بناءً على عدد النقاط في كل منطقة.

اليك الكود الخاص بذلك:

R
library(ggplot2) # بيانات عشوائية لتجربة الكود set.seed(123) data <- data.frame( x = rnorm(1000), y = rnorm(1000) ) # حساب عدد النقاط في كل منطقة density <- ggplot(data, aes(x = x, y = y)) + geom_bin2d() + stat_bin2d(aes(alpha = ..count..), bins = 30) + scale_alpha_continuous(range = c(0, 1)) # الرسم البياني باستخدام geom_tile density_plot <- ggplot(data, aes(x = x, y = y)) + geom_tile(data = fortify(density), aes(fill = ..value.., alpha = ..alpha..)) + scale_fill_gradient(low = "white", high = "black") + theme_minimal() # عرض الرسم البياني print(density_plot)

هذا الكود يستخدم geom_bin2d لحساب عدد النقاط في كل منطقة، ثم يستخدم geom_tile لإنشاء الرسم البياني النهائي مع تعيين alpha بناءً على عدد النقاط في كل منطقة.

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

للتعمق في فهم كيفية إنشاء رسم بياني في R باستخدام ggplot2 يكون أكثر داكناً في المناطق التي تحتوي على نقاط أكثر كثافة وأكثر شفافية في المناطق التي تحتوي على نقاط أقل كثافة، يمكننا إضافة بعض التفاصيل إلى الشرح.

  1. geom_bin2d:

    • هذه الوظيفة تقوم بتجميع النقاط في مناطق مستطيلة (بالتجميعات) على أساس قيم الـ x والـ y.
    • يمكن تخصيص حجم التجميعات باستخدام الوسيطة binwidth، والتي تحدد عرض وارتفاع التجميعات.
    • يمكن أيضًا تعيين حدود التجميعات بواسطة binwidth لتحديد الحجم الدقيق لكل منطقة.
  2. stat_bin2d:

    • هذه الوظيفة تقوم بحساب عدد النقاط في كل تجميع.
    • تمكننا من استخدام ..count.. للوصول إلى هذه القيمة في الرسم البياني.
  3. geom_tile:

    • بعد حساب عدد النقاط في كل تجميع، نستخدم geom_tile لرسم البيانات.
    • يمكننا تعيين قيم fill و alpha باستخدام ..value.. و ..alpha..، على التوالي، لتحديد لون وشفافية كل مربع.
  4. scale_alpha_continuous:

    • تساعدنا هذه الوظيفة في تعيين مدى الشفافية (من 0 إلى 1) لكل منطقة.
  5. scale_fill_gradient:

    • تستخدم لتحديد مدى الألوان من أبيض إلى أسود.

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

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

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

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