في هذا البرنامج التعليمي، دعنا نبدأ أولاً بفهم الأساسيات باستخدام وظيفة plot() في لغة R. تعتبر لغة R معروفة جيدًا برسوماتها الجميلة مع مجموعة غنية من الوظائف لبناء وتنسيق أي نوع من الرسوم البيانية وأسرة وظيفة plot() واحدة من تلك الوظائف التي تساعدنا في بنائها.
وظيفة plot() في R ليست وظيفة محددة واحدة ولكنها عبارة عن علامة مكانية لعائلة من الوظائف ذات الصلة. سيعتمد الوظيفة الدقيقة التي يتم استدعاؤها على المعلمات المستخدمة. في أبسط حالاتها، تقوم وظيفة plot() ببساطة برسم نقطتين ضد بعضهما البعض.
plot(c(1,2,3,4,5),c(1,4,9,16,25))
هذا يعطي رسمًا بسيطًا لـ \( y = x^2 \).

تغيير مظهر الرسم باستخدام وظيفة plot() في R
يمكن تخصيص وظيفة plot() في R بطرق متعددة لإنشاء رسوم بيانية أكثر تعقيدًا وجاذبية كما سنرى.
- شكل العلامات: تكون علامات الرسم افتراضيًا دوائر صغيرة فارغة. يُعرف هذه أيضًا باسم أحرف الرسم – المعبر عنها بواسطة pch. يمكنك تغيير هذه عن طريق إضافة قيمة pch جديدة في وظيفة الرسم. قيم pch من 0 إلى 25 صالحة وتعطي عدة رموز مختلفة على الرسم. pch 0 هو لمربع، 1 هو لدائرة، 3 هو لمثلث، 4 هو لصليب وهكذا.
- حجم علامات الرسم: يمكن التحكم في هذا الجانب من الرسم باستخدام معلمة cex. يمكن تعيين معلمة cex إلى 0.5 إذا كنت ترغب في جعل العلامات أصغر بنسبة 50% و 1.5 إذا كنت ترغب في جعلها أكبر بنسبة 50%.
- لون علامات الرسم: يمكن تعيين الرموز لونًا واحدًا أو عدة ألوان. يمكن اختيار هذه الألوان من قائمة مقدمة من R تحت وظيفة
colors()
. - ربط النقاط بخطوط: في كثير من الأحيان، من الضروري ربط النقاط المعروضة بأنواع مختلفة من الخطوط. يمكن القيام بذلك باستخدام سمة type لدالة الرسم. القيمة ‘p’ للسمة تشير إلى النقاط فقط و ‘l’ إلى خط فقط. بالمثل، القيم ‘b’ و ‘o’ هي لربط النقاط وتضمين النقاط على التوالي. للحصول على عرض شبيه بالهيستوغرام يتم استخدام الخيار ‘h’ و ‘s’ يتم استخدامه لخيار التدرج.
- تغيير الخطوط: يمكن تحديد نوع الخط بواسطة المعلمة lty (النطاق من 0 إلى 6) ويتم تعيين عرض الخط باستخدام معلمة lwd.
لنجرب الآن بناء بعض الرسوم البيانية باستخدام ما تعلمناه حتى الآن.
سنبدأ بإنشاء رسم بياني للموجة الساينية. لنكن x متسلسلة من القيم من -pi إلى pi بفواصل 0.1 وتحتوي y على قيم الساين المقابلة لـ x. جرب الآن رسم y مقابل x.
x=seq(-pi,pi,0.1)
y=sin(x)
plot(x,y)

لنجرب الآن تغيير الرموز والألوان.
plot(x,y,pch=c(4,5,6),col=c('red','blue','violet','green'))
نحن الآن نمكن المترجم من اختيار من 3 رموز مختلفة و 4 ألوان مختلفة لوضع علامة على الرسم البياني. لنرى كيف تحول الأمر.

R also allows combining multiple graphs into a single image for our viewing convenience using the par() function. We only need to set the space before calling the plot function in our graph.
#قم بتعيين نافذة للرسم بصف واحد وعمودين.
par(mfrow=c(1,2))
plot(x,y,type='l')
plot(x,y,pch=c(4,5,6),col=c('red','blue','violet','green'))

A few more graphs using various options from above are illustrated below.
#قم بتعيين مساحة لصفين وثلاثة أعمدة.
par(mfrow=c(2,3))
#قم برسم الرسومات باستخدام خيارات متنوعة.
plot(x,cos(x),col=c('blue','orange'),type='o',pch=19,lwd=2,cex=1.5)
plot(x,x*2,col='red',type='l')
plot(x,x^2/3+4.2, col='violet',type='o',lwd=2,lty=1)
plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lty=3,col='pink',lwd=4)
plot(x<-seq(1,10,0.5),50*x/(x+2),col=c('green','dark green'),type='h')
plot(x,log(x),col='orange',type='s')
تبدو الرسمة الناتجة بهذا الشكل.

إضافة معلومات إضافية إلى الرسوم البيانية باستخدام وظيفة plot() في R
تبدو الرسوم البيانية أكثر اكتمالاً عند وجود ملاحظات ومعلومات تشرحها. تشمل هذه عنوانًا للرسم البياني والمحاور، وعنوانًا لأسطورة الرسم البياني. في بعض الأحيان قد تكون حتى تسمية نقاط البيانات ضرورية. دعونا نلقي نظرة على كيفية إضافتها إلى الرسوم البيانية في R.
- يتم إضافة العنوان الرئيسي باستخدام الخيار main في وظيفة الرسم. يمكن تخصيص الخط واللون والحجم باستخدام font.main، col.main و cex.main على التوالي.
- يتم توفير العناوين للمحاور باستخدام السمات xlab و ylab. يمكن تخصيص هذه باستخدام font.lab، col.lab و cex.lab مثلما هو مذكور أعلاه.
- يمكنك أيضًا إضافة نص إضافي داخل الرسم باستخدام السمة text، محددًا النص المراد استخدامه والإحداثيات لعرضه.
- السمة يمكن أيضاً استخدامها لتسمية نقاط البيانات. النص في هذه الحالة هو متجه من التسميات بدلاً من سلسلة.
- يمكن إضافة العنوان التوضيحي إلى الرسم باستخدام وظيفة legend() في R. تأخذ العنوان التوضيحي كإدخال الإحداثيات، النص والرموز التي يجب تفسيرها.
لنلقي نظرة على أمثلة توضح ذلك.
#عرض العنوان بلون
plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lty=3, col='pink',lwd=4,main="This is a graph",col.main='blue')

#نفس الرسم مع إضافة xlabel و ylabel.
> plot(c(1,3,5,7,9,11),c(2,7,5,10,8,10),type='o',lt=3,col='pink',lwd=4,main="This is a graph",col.main='blue',xlab="Time",ylab="Performance")

دعونا نضيف تسمية لكل نقطة في الرسم باستخدام سمة النص.
labelset <-c('one','three','five','seven','nine','eleven')
x1<- c(1,3,5,7,9,11)
y1 <- c(2,7,5,10,8,10)
plot(x1,y1,type='o',lty=3,col='pink',lwd=4,main="This is a graph",col.main='blue',xlab="Time",ylab="Performance")
text(x1+0.5,y1,labelset,col='red')

وأخيرًا، دعونا نضيف عنواناً توضيحيًا إلى الرسم أعلاه باستخدام legend() وظيفة.
> legend('topleft',inset=0.05,"Performace",lty=3,col='pink',lwd=4)
يمكن تحديد الموقع إما بإحداثيات x و y أو باستخدام موقع مثل “topleft” أو “bottomright”. يشير Inset إلى نقل مربع العنوان قليلاً إلى داخل الرسم البياني. الرسم الناتج الآن يحتوي على عنوان توضيحي.

تكديس الرسوم البيانية
R also allows two graphs to be displayed on top of each other instead of creating a new window for every graph. This is done by calling a lines() function for the second graph rather than plot() again. These are most useful when performing comparisons of metrics or among different sets of values. Let us look at an example.
x=seq(2,10,0.1)
y1=x^2
y2=x^3
plot(x,y1,type='l',col='red')
lines(x,y2,col='green')
legend('bottomright',inset=0.05,c("Squares","Cubes"),lty=1,col=c("red","green"),title="Graph type")

إضافة خطوط إلى الرسم
الخطوط المستقيمة يمكن إضافتها إلى الرسم البياني الحالي باستخدام الوظيفة البسيطة abline()
. تأخذ وظيفة abline() 4 وسيطات وهي a، b، h، و v. المتغيران a و b يمثلان الميل والانحراف. H يمثل نقاط y للخطوط الأفقية، و v يمثل نقاط x للخطوط الرأسية.
لنلقي نظرة على مثال لجعل هذا واضحًا. جرب تنفيذ هذه البيانات الثلاث بعد بناء الرسم البياني أعلاه للمربعات والأكواب.
abline(a=4,b=5,col='blue')
abline(h=c(4,6,8),col="dark green",lty=2)
abline(v=c(4,6,8),col="dark green",lty=2)

يتم بناء الخط الأزرق الأول بالميل والانحراف المحدد. يتم رسم مجموعات الخطوط الأفقية والرأسية الثلاث التالية في القيم المحددة لـ x و y بنمط الخط المتقطع كما هو مذكور بـ lty=2.
يغطي هذا أساسيات وظيفة الرسم في R. عند الجمع بينه مع حزم أخرى مثل ggplot2، يقوم R ببناء الرسوم البيانية الأكثر إبرازًا ودينامية كما سنرى في دروس أخرى.
Source:
https://www.digitalocean.com/community/tutorials/plot-function-in-r