برنامج Gnuplot (جنو بلوت) هو برنامج مجاني للقيام برسم عدد كبير من أنواع المنحنيات يعمل من سطر الأوامر، ويعمل على عدد من أنظمة التشغيل منها نظام التشغيل ويندوز. يستخدم جنو بلوت من قبل العديد من المشاريع الأخرى مثل برنامجي ماكسيما وأوكتاف.
- الجيد
- مجاني ومفتوح المصدر.
- يقوم برسم أنواع كثير من المنحنيات.
- إمكانية استخدامه كمحرك رسم منحنيات في العديد من لغات البرمجة.
- السيئ
- صعوبة استخدامه للمبتدئين.
- لا يدعم كتابة العنواين في الرسم البياني باللغة العربية.
استخدامات جنو بلوت
يستخدم جنو بلوت لتمثيل وعرض البيانات والمعادلات الرياضية المختلفة في بشكل صوري (graphs)، ويجد البرنامج تطبيقات في العديد من المجالات ولا سيما في تدريس الرياضيات والعلوم على مستوى المدارس والجامعات وكذلك في العمل الأكاديمي وغيرها من المجالات.
بسبب ترخيص جنو بلوت المجاني فقد تم تضمينه كمحرك لتوليد المنحنيات وللقيام بالتمثيل البياني في العديد من مشاريع البرمجيات العلمية مثل ماكسيما وجنو أوكتاف وغيرها، هذا بالإضافة إلى إمكانية التعامل معه مباشرة من لغات برمجية متعددة مثل بايثون وسي وسي++ وسيج ماث.
تنصيب جنو بلوت على الويندوز
الخطوة الأولى هي القيام بتحميل نسخة مترجمة مسبقاً (precompiled) للبرنامج لنظام التشغيل الذي تعمل عليه، وعلى الرغم من أن الشفرة المصدرية للبرنامج مفتوحة المصدر وبالتالي يمكن القيام بترجمتها على أي نظام تشغيل تعمل عليه إلا أنه من الأفضل الحصول على نسخة مترجمة مسبقاً لحفظ الجهد والوقت.
للحصول على النسخة المترجمة من البرنامج لنظام التشغيل ويندوز يمكنك تحميلها مباشرة من موقع داونزن عبر الضغط على زر التحميل في هذه الصفحة أو عبر زيارة صفحة التحميل الخاصة بالبرنامج في موقع سورس فورج.
خطوات تنصيب البرنامج هي نفس الخطوات المعتادة في أغلب برامج ويندوز الأخرى، ولكن أحرص في الخطوة الأخيرة على وضع علامة الصح أما خيار إضافة مجلد البرنامج إلى المتغير PATH حتى تتمكن من تشغيل البرنامج من الباور شل أو سطر الأوامر، كما يظهر في الصورة في الأسفل.
يحتوي البرنامج على واجهة رسومية (GUI) خاصة به وبالتالي لا يتحتم عليك استخدامه من سطر الأوامر أو البور شل، ولكن تمت إضافة هذه الفقرة في حالة رغب المستخدم في استخدام سطر الأوامر تحديدا.
دليل استخدام جنو بلوت السريع
يتم التعامل مع جنو بلوت عبر كتابة الأوامر مباشرة في سطر الأوامر في واجهة البرنامج.
أو بالقيام بكتابة الأوامر في ملف نصي ثم القيام بتشغيله عبر البرنامج باستخدام الأمر (load) كمثال على ذلك،
load 'simple1.plt'
حيث يقوم الأمر السابق بتشغيل الملف simple1.plt والذي يحتوي على أوامر لرسم المنحنيات سنقوم بالتعرف عليه فيما يلي. ولكن قبل القيام باستخدام هذا الأمر يتوجب عليك الانتقال إلى المجلد الذي تم حفظ الملف فيه، وذلك باستخدام الأمر (cd) كما يمكن معرفة اسم المجلد الحالي عبر الأمر (pwd)، كمثال للتحويل إلى سطح المكتب يمكن كتابة الأمر التالي:
cd 'C:\Users\user_name\Desktop'
تأكد من تغيير user_name إلى اسم المستخدم للحساب الذي تعمل منه.
تمثيل البيانات من ملف
يقوم برنامج جنو بلوت بقراءة البيانات من ملف نصي والتي تكون في صورة قيم يتم الفصل بينها بمساحة خالية كالمساحة (space) أو رمز التاب (tap) مثال على ذلك لنأخذ جزء من البيانات الخاصة بعدد الترانسيستورات في الدوائر المتكاملة منذ العام 1971 حتى العام 2015 هذه البيانات متوفرة من هنا ولم أتمكن من التحقق من صحة القيم الواردة ولكن هذا غير مهم في الحقيقية لأننا لسنا في صدد دراسة الموضوع وكل ما يهمنا هنا هو فهم آلية تمثيل البيانات فقط. بعد ترتيب البيانات كما يظهر في الصورة حيث تم الفصل بين النقاط باستخدام رمز التاب وتلاحظ كذلك وجود بادئة (header) في الأعلى وتبدأ برمز الهاش (#) والتي تعني أن هذا السطر عبارة عن تعليق يقوم جنو بلوت بتجاهله.
للحصول على المنحنى البياني الذي يمثل النقاط التي تظهر في الأعلى يتم إدخال الأمر التالي:
plot "Year_vs_TransistorCount3.tsv"
حيث أن (Year_vs_TransistorCount3.tsv) هو اسم الملف، ويظهر المنحنى البياني في نافذة جديدة.
وتظهر القيم كما ترى كنقاط في نظام إحداثي ديكارتي (Cartesian coordinate system) ويتم تمثيل النقطة بالرمز (+)، ويمكن لك الربط بين النقاط باستخدام خطوط مستقيمة بتعديل الأمر السابق وإضافة (with lines) كالتالي
plot "Year_vs_TransistorCount3.tsv" with lines
وستكون النتيجة كما يلي
كما تلاحظ فإن الصورة في الأعلى لا تحتوي على معلومات كافية عن طبيعة المنحنى حيث لا توجد معلومات عما يمثله المحور السيني (x-axis) والمحور الصادي (y-axis)، وللقيام بإضافة عنوان للمحاور يتم عبر إدخال الأمر التالي للمحور السيني
set xlabel "Year"
والأمر التالي للمحور الصادي
set ylabel "Transistor count"
إضافة أخرى تساعد في توضيح ماهية المنحنى هي إضافة عنوان له، بشكل إفتراضي يقوم جنو بلوت بوضع اسم الملف كعنوان للمنحنى ويمكن تغيير العنوان باستخدام (title) كالتالي
plot "Year_vs_TransistorCount3.tsv" with lines title "Number of transistors integrated in a single IC since 1971"
يمكن إدخال الأوامر السابقة بنفس هذا الترتيب أو جمعهم في سطر واحد والفصل بينهم باستخدام الفاصلة المنقوطة (;) كالتالي
set xlabel "Years"; set ylabel "Number of transistors"; plot "Year_vs_TransistorCount3.tsv" with lines title "Number of transistors integrated in a single IC since 1971"
والنتيجة كما يظهر في الصورة التالية
حسناً لنقم بعمل سيناريو آخر لتحليل الزوار اليومي لموقع تخيلي خلال شهر يناير منذ العام 2011 حتى العام 2019، من الملاحظ هنا أننا سنقوم برسم عدد من المنحنيات في إطار واحد لدراسة مستوى الزوار للمموقع خلال شهر يناير في الفترة المحددة، وعليه فإن البيانات ستحتوي على 10 أعمدة كما يظهر في الصورة في الأسفل
سنستخدم الأمر plot لرسم المنحنيات، وستلاحظ عند قيامك بالأمر
plot "WebsiteData.txt" with lines
أن جنو بلوت يقوم برسم العمود الأول في المحور السيني والعمود الثاني (نتائج العام 2011) في المحور الصادي ويتجاهل باقي الأعمدة ويتوجب عليك تضمين الأعمدة الأخرى بإضافتها للأمر كما يلي
plot "WebsiteData.txt" using 1:2 with lines,"WebsiteData.txt" using 1:3 with lines
تلاحظ في الأمر السابق إضافة تحديد المحور السيني والصادي للمنحنى الأول باستخدام الأمر using 1:2 حيث نطلب من جنو بلوت اختيار العمود 1 كالمحور السيني والعمود 2 كالمحور الصادي ثم بعد الفاصلة نضيف منحنى آخر من نفس الملف WebsiteData.txt ونقوم باختيار العمود 1 كالمحور السيني والعمود 3 (أي بيانات العام 2012) كالمحور الصادي، وتكون النتيجة كالتالي
حسناً سنقوم الآن بإضافة كل المنحنيات للسنين من 2011 حتى العام 2019 وكذلك إضافة عنوان لكل منحنى
set xlabel "Day"; set ylabel "Number of visitors"; plot "WebsiteData.txt" using 1:2 with lines title "2011","WebsiteData.txt" using 1:3 with lines title "2012", "WebsiteData.txt" using 1:4 with lines title "2013", "WebsiteData.txt" using 1:5 with lines title "2014", "WebsiteData.txt" using 1:6 with lines title "2015", "WebsiteData.txt" using 1:7 with lines title "2016", "WebsiteData.txt" using 1:8 with lines title "2017", "WebsiteData.txt" using 1:9 with lines title "2018", "WebsiteData.txt" using 1:10 with lines title "2019"
تظهر نتيجة الأمر السابق كما يلي
وعلى الرغم من المنحنيات السابقة تقدم معلومات بصرية جيدة عن أداء الموقع مع مرور السنين إلا أنها لا تقدم المعلومة بشكل مباشرة يستيطع منه متلقي استخلاص المعلومة بشكل مباشرة بنظرة واحدة، لهذا سنقوم بعرض المعلومات السابقة بصورة أكثر بساطة.
لهذا الغرض سنقوم برسم مدرج تكراري (Histogram) يظهر فيه المجموع الكلي للزوار في شهر يناير من 2011 حتى 2019 وللقيام بذلك سنقوم بإنشاء ملف جديد يحتوي على التالي
للقيام برسم المدرج التكراري نستخدم الأمر التالي
set style data histograms
plot "Total_per_jan.txt" using 2:xtic(1)
في البداية نخبر جنو بلوت برغبتنا في رسم مدرج تكراري عبر تغيير نمط المنحنى (style) إلى (histograms) كما يظهر في الأمر الأول ثم ندخل الأمر (plot) ولكن في هذه الحالة فإن المحور السيني المحتوي على السنين يظهر بهذه الصورة xtic(1) حيث في حالة عدم تغيير المحور السيني بهذه الطريقة يقوم البرنامج برسم الهستوجرام على محور يحتوي على الأعداد (...،-1،0،1،...) بصورة إفتراضية، ناتج الأمر السابق يظهر كما يلي
يمكن تغيير بعض سمات هذا الرسم البياني عبر تعبيئة الأعمدة بالألوان باستخدام الأمر التالي
set style fill solid 1.0 border -1
لتكون النتيجة كما يظهر في الصورة في التالية
عمل ملف تشغيلي (Script)
كما تم ذكره سابقاً يمكن الاستغناء عن كتابة أوامر الرسم البياني مباشرة في سطر الأوامر وبدلاً عن ذلك يمكن كتابة نفس الأوامر في ملف نصي وحفظه وتشغيله باستخدام الأمر (load) وهي الطريقة الأفضل في التعامل مع الرسوم البيانية وذلك لسببين:
- امكانية حفظ الملف وتعديله في أي وقت.
- امكانية مشاركة الملف ونشره.
يعرض الموقع الرسمي لجنو بلوت عدد من الملفات تستعرض قدرات البرنامج في رسم البيانات وتحتوي على العديد من الأفكار الرائعة، يمكنك تحميلها وتجريبها والتعديل عليها.
رسم منحنيات الدوال
على الرغم من أن جنو بلوت ليس برنامجاً رياضياً بالدرجة الأولى ولكن يمكن استخدامه لرسم منحنيات لعدد من منحنيات الدوال باستخدام الأمر (plot) الذي تم استخدامه سابقاً في رسم النقاط من ملف نصي. وفي هذه الفقرة نجدها فرصة سانحة لإستعراض بعض مميزات الأمر (plot).
المثال الأول هو لرسم منحنى دالة جيب الزاوية والتي يرمز لها بالرمز (sin) وسنقوم باستخدام المتغير (x) للزاوية، وعليه يكون الأمر كما يلي
plot sin(x)
نحصل عندها على المنحنى التالي
ستلاحظ على الفور أن البرنامج قام باختيار نطاق الزاوية أو المحور السيني (-10 إلى 10) بشكل تلقائي كما يظهر في الصورة في الأعلى وهذا كما قام بحصر نطاق جيب الزاوية أو المحور الصادي بشكل تلقائي كذلك (-1 إلى 1)، ووضع قيم افتراضية للدوال الشهيرة يساعد في تبسيط البرنامج ويسهل العمل عليه.
أما في حالة رغبتك في تحديد نطاق المحاور يمكنك القيام بذلك عبر وضع الحدود في أقواس مربعة قبل الدالة بهذه الصورة
plot [-5:5] [-2:2] sin(x)
حيث تلاحظ أن القوسين قبل الدالة (sin) تضع حداً أعلى وأدنى للمحور السيني أولاً ([-5:5]) ثم المحور الصادي ([-2:2]) ويكون الناتج كما يظهر في الصورة
وبالتأكيد يمكنك إضافة عنوان للمنحنى والمحاور كما تم وتوضيحه مسبقاً.
يدعم جنو بلوت رسم منحنيات عدد من الدوال الأخرى وهي الدوال التي تدعمها مكتبة يونيكس الرياضية (Unix math library)، ويظهر الجدول التالي قائمة هذه الدوال
الدالة | القيم المدخلة | الوصف |
abs(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب القيمة المطلقة للمتغير x أو العدد الحقيقي للعدد المركبx |
acos(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب مقابل جيب التمام أو معكوس جيب التمام |
acosh(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب جيب التمام العكسي للقطع الزائد |
arg(x) | الأعداد المركبة | تقوم الدالة بحساب سعة العدد المركب |
asin(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب مقابل الجيب أو معكوس الجيب |
asinh(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب جيب الزاوية العكسي لقطع زائد |
atan(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب مقابل الظل أو معكوس الظل |
atan2(y,x) | الأعداد الحقيقية | تقوم الدالة بحساب مقابل الظل لـ y/x |
atanh(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب الظل العكسي للقطع الزائد |
besj0(x) | الأعداد الحقيقية | تقوم الدالة بحساب دالة بيسل من النوع الأول للمستوى 0 |
besj1(x) | الأعداد الحقيقية | تقوم الدالة بحساب دالة بيسل من النوع الأول للمستوى 1 |
besy0(x) | الأعداد الحقيقية | تقوم الدالة بحساب دالة بيسل من النوع الثاني للمستوى 0 |
besy1(x) | الأعداد الحقيقية | تقوم الدالة بحساب دالة بيسل من النوع الثاني للمستوى 1 |
ceil(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب أصغر عدد صحيح ولكن ليس أصغر من x |
cos(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب جيب تمام الزاوية |
cosh(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب جيب التمام الزائدي |
erf(x) | الأعداد الحقيقية والمركبة | دالة الخطأ |
erfc(x) | الأعداد الحقيقية والمركبة | دالة الخطأ المكملة |
exp(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب قمية الثابت e مرفوع للأس x |
floor(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب أكبر عدد صحيح ليس أكبر من x |
gamma(x) | الأعداد الحقيقية والمركبة | دالة غاما |
ibeta(p,q,x) | الأعداد الحقيقية والمركبة | دالة بيتا غير التامة |
inverf(x) | الأعداد الحقيقية والمركبة | معكوس دالة الخطأ |
igamma(a,x) | الأعداد الحقيقية والمركبة | دالة جاما غير التامة |
imag(x) | الأعداد المركبة | تقوم الدالة بحساب الجزء التخيلي من العدد المركب |
invnorm(x) | الأعداد الحقيقية والمركبة | معكوس دالة التوزيع الطبيعي |
int(x) | الأعداد الحقيقية | تقوم الدالة بحساب الجزء الصحيح من العدد الحقيقي |
lambertw(x) | الأعداد الحقيقية | دالة لامبارت |
lgamma(x) | الأعداد الحقيقية والمركبة | دالة غاما باللوغاريتم الطبيعي |
log(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب اللوغاريتم الطبيعي |
log10(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب اللوغاريتم العشري |
norm(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب التوزيع الطبيعي (أو الغاوسي) |
rand(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بتوليد أعداد شبه عشوائية |
real(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب الجزء الحقيقية من العدد المركب |
sgn(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب إشارة العدد x |
sin(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب جيب الزاوية |
sinh(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب الجيب الزائدي |
sqrt(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب الجذر التربيعي |
tan(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب ظل الزاوية |
tanh(x) | الأعداد الحقيقية والمركبة | تقوم الدالة بحساب الظل الزائدي |
رسم أكثر من منحنى في إطار واحد
يتيح البرنامج للمستخدم رسم عدد من منحنيات الدوال في إطار واحد كما هو الحال في الرسم البيانات من ملف وذلك بالفصل بين الدوال باستخدام الفاصلة (,) وهي ميزة رائعة للقيام بالمقارنة بين عدد من المنحنيات، مثال على هذا سنقوم برسم منحى الدوال (جيب الزاوية، جيب تمام الزاوية، وظل الزاوية)
plot [-5:5] [-5:5] sin(x), cos(x), tan(x)
وتظهر النتيجة كما يلي
رسم منحنيات ثلاثية البعد
يُستخدم الأمر (splot) لعمل الرسوم البيانية التي تحتوي على ثلاثة محاور (x,y,z)، مثال بسيط على رسم الدوال ثلاثية البعد للدالة لمنحنى دالتين الأولى (x**2+y**2) والثانية (x**2-y**2)
splot x**2+y**2, x**2-y**2
يقوم البرنامج بشكل إفتراضي برسم المنحنى على باستخدام الخطوط عوضاً عن المساحات الملونة ولكن يمكن تغيير هذا الأمر بإضافة (with pm3d) كالتالي
splot x**2+y**2 with pm3d, x**2-y**2 with pm3d
يمكن كذلك رسم البيانات ثلاثية البعد من ملف يحتوي على ثلاثة أعمدة بنفس الطريقة التي قمنا بها سابقاً ولكن باستخدام الأمر (splot).
مميزات البرنامج
- برنامج مجاني ومفتوح المصدر.
- القدرة على رسم البيانات بأساليب متنوعة.
- إمكانية رسم البيانات من ملف.
- رسم منحنيات عدد كبير من الدوال الرياضية.
- إمكانية تخصيص الرسم البياني بتغيير الألون وحجم الخط وإضافة العنواين والتعليقات.
- يستخدم في عدد كبير من البرمجيات المجانية مثل ماكسيما وجنو أوكتاف.
تحميل برنامج الرسم البياني جنو بلوت
للحصول على آخر نسخة من برنامج جنو بلوت 5.4.3 Gnuplot لنظام التشغيل ويندوز برابط سريع ومباشر عبر موقع دوانزن قم بالضغط على زر التحميل في هذه الصفحة.
معلومات إضافية
- الإصدار5.4.3
- التحديث2019-01-07
- التنزيلات827
- الترخيصمجاني
- حجم الملف36.7MB
- متطلبات التشغيلWindows ME,Windows 2000,Windows 98 SE,Windows 98,Windows Vista,Windows XP