كيفية رسم الأسهم في ggplot2 (مع أمثلة)
يمكنك استخدام بناء الجملة الأساسي التالي لرسم سهم في قطعة أرض في ggplot2:
library (ggplot2) ggplot(df, aes(x=x, y=y)) + geom_point() + geom_segment(aes(x= 5 , y= 6 , xend= 8 , yend= 9 ), arrow = arrow(length=unit( 0.5 , ' cm ')))
إليك ما تفعله كل وسيطة في الدالة Geom_segment() :
- x : قيمة x التي يجب البدء بها
- y : قيمة y التي يجب البدء بها
- xend : قيمة x التي ستنتهي عندها
- yend : قيمة y التي تنتهي عندها
- السهم : طول رأس السهم
يوضح المثال التالي كيفية رسم سهم باستخدام ggplot2 عمليًا.
مثال: رسم الأسهم في ggplot2
لنفترض أن لدينا قاعدة البيانات التالية التي تحتوي على معلومات حول عدد النقاط المسجلة والمرتدات التي جمعها لاعبو كرة السلة المختلفون:
#create data frame df <- data. frame (points=c(3, 3, 5, 6, 7, 8, 9, 9, 8, 5), rebounds=c(2, 6, 5, 5, 8, 5, 9, 9, 8, 6)) #view data frame df rebound points 1 3 2 2 3 6 3 5 5 4 6 5 5 7 8 6 8 5 7 9 9 8 9 9 9 8 8 10 5 6
يمكننا استخدام الصيغة التالية لإنشاء مخطط مبعثر في ggplot2 وإضافة سهم في موقع محدد على المخطط:
library (ggplot2) #create scatterplot and add arrow ggplot(df, aes(x=points, y=rebounds)) + geom_point() + geom_segment(aes(x= 5 , y= 6 , xend= 8 , yend= 9 ), arrow = arrow(length=unit( .5 , ' cm ')))
لا تتردد في تغيير القيمة في وظيفة السهم () لزيادة حجم رأس السهم أو تقليله.
على سبيل المثال، الكود التالي يوضح كيفية زيادة الحجم:
library (ggplot2) #create scatterplot and add arrow with increased arrow head size ggplot(df, aes(x=points, y=rebounds)) + geom_point() + geom_segment(aes(x= 5 , y= 6 , xend= 8 , yend= 9 ), arrow = arrow(length=unit( 2 , ' cm ')))
يمكنك أيضًا استخدام الوسيطتين color و lwd لتغيير لون السهم وعرض خطه، على التوالي:
library (ggplot2) #create scatterplot and add customized arrow ggplot(df, aes(x=points, y=rebounds)) + geom_point() + geom_segment(aes(x= 5 , y= 6 , xend= 8 , yend= 9 ), arrow = arrow(length=unit( .5 , ' cm ')), color=' red ', lwd= 3 )
لا تتردد في اللعب بالوسائط المختلفة للدالة Geom_segment() لإنشاء سهم يبدو تمامًا كما تريد.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في ggplot2:
كيفية إزالة خطوط الشبكة في ggplot2
كيفية تظليل منطقة في ggplot2
كيفية تغيير تسميات المحور X في ggplot2