عند العمل على تصور البيانات لمقال ، أصبح من الضروري أن يكون لديك 4 محاور ذات تصنيفات إيجابية على الإطلاق.كما هو الحال مع مخططات المقالات الأخرى ، قررت استخدام gnuplot . بادئ ذي بدء ، نظرت في الموقع الرسمي ، حيث توجد أمثلة كثيرة. لقد كنت سعيدًا جدًا عندما وجدت المثال الضروري (لن أعمل كثيرًا مع ملف وسيكون جميلًا ، على ما أظن).
نسخ الرمز بسرعة وتشغيله. أحصل على خطأ. اني اتفهم. اتضح أن لدي gnuplot ( Version 5.0 patchlevel 3 last modified 2016-02-21
) قديم ولا.مع العلم مرونة gnuplot، بدأ نقب في جميع أنحاء الشبكة العالمية، وجاءت عبر عدة أمثلة مناسبة على ستاكوفيرفلوو ( مزدوجة المحور السيني على قطعة العنكبوت مع Gnuplot و كيفية إنشاء مؤامرة العنكبوت في Gnuplot؟ ) وجيثب ( gnuplot-radarchart ). أصبحوا نقطة البداية.علاوة على ذلك ، أدت تلاعباتي بالأوامر إلى ما يلي:0) إيقاف الحدودunset border
1) إنشاء 4 خطوط صفرية - خطان رئيسيان وخطان إضافيان:set xzeroaxis
set yzeroaxis
set x2zeroaxis
set y2zeroaxis
بضع كلمات حول الأسطر الصفرية في الوثائق . تتيح لك هذه العملية تصغير المحور إلى منتصف الصورة. وهناك حاجة إلى المزيد منها لعرض علامات إيجابية عليها.2) تكوين عرض القراد على المحاور:max = 1.5 #
min = -max
set xtics axis 0,.5,max in scale 0.5,0.25 mirror norotate autojustify offset 0.35
set ytics axis .5,.5,max in scale 0.5,0.25 mirror norotate autojustify
set x2tics axis .5,.5,max in scale 0.5,0.25 mirror norotate autojustify
set y2tics axis .5,.5,max in scale 0.5,0.25 mirror norotate autojustify
مع القراد على محاور الإعدادات أكثر قليلاً.axis
- مكان وضع القراد على المحور أو (الحد - على الحد).للمحور x
الذي يذهب إلى اليمين 0,.5,max
. الرقم الأول هو الأصل ، والثاني هو الخطوة ، والثالث هو نهاية العد. للأول من 0
، وللباقي من 0.5
، بحيث لا تتدخل الأصفار في الأصل.scale 0.5,0.25 mirror
يضيف الإعداد serifs إلى المحور. إذا كنت تتلاعب بالأرقام ، فسوف يتغير حجمها.أقوم أيضًا بتقديم المتغيرات max, min
التي أتحكم معها في حدود محاور الرسم البياني.لمزيد من المعلومات حول إعداد القراد ، راجع الوثائق في قسم Xtics .3) تكوين نطاقات المحاور:set xrange [ min : max ]
set yrange [ min : max ]
set x2range [ max : min ]
set y2range [ max : min ]
وتجدر الإشارة إلى أن محورين يبدأان في العد من min
الزيادة ومحورين يبدأان max
من التناقص.راجع قسم Xrange لمزيد من المعلومات .4) نعطي أسماء المحاور ونضعها بشكل جيد:set label "H_1" at 0, max center offset char 2, 0
set label "H_2" at max+0.1, 0 center offset char -1, 1
set label "H_3" at 0, min center offset char -2, 0
set label "H_4" at min, 0 center offset char 0, 1
5) نقوم بتكوين بيانات الإدخال، كل عمود يحتوي على عمودين. رقم الخط - رقم المحور ، السطر الخامس لإغلاق الحلقة. عمود فردي - تنسيق x
، متساوي - y
. نظرًا لحقيقة أن جميع النقاط تقع على المحاور ، فإن أحد الزوجين (x, y)
يساوي دائمًا الصفر.على الرغم من حقيقة أن جميع المحاور الأربعة إيجابية ، يتم نقل بعض البيانات بشكل مصطنع إلى النصف السلبي ، لأنها تقع على المحاور الرئيسية x
و y
. 0 1 0 1.21
1 0 1.21 0
0 -1 0 -1.06
-1 0 -1.19 0
0 1 0 1.21 #
نتيجة
كود كامل#!/usr/bin/gnuplot -persist
# cp1251 eps
set encoding cp1251
set terminal postscript eps enhanced monochrome size 5cm,5cm
set output "./img/eps/fig2.eps"
unset border
set key at -2, 1.5 font 'LiberationSerif, 23'
set key left top samplen 4.5
set xzeroaxis
set yzeroaxis
set x2zeroaxis
set y2zeroaxis
max = 1.5
min = -max
set xtics axis 0,.5,max in scale 0.5,0.25 mirror norotate autojustify offset 0.35 font 'LiberationSerif, 20
set ytics axis .5,.5,max in scale 0.5,0.25 mirror norotate autojustify font 'LiberationSerif, 20
set x2tics axis .5,.5,max in scale 0.5,0.25 mirror norotate autojustify font 'LiberationSerif, 20
set y2tics axis .5,.5,max in scale 0.5,0.25 mirror norotate autojustify font 'LiberationSerif, 20
set xrange [ min : max ]
set yrange [ min : max ]
set x2range [ max : min ]
set y2range [ max : min ]
set label "H_1" at 0, max center offset char 2, 0 font 'LiberationSerif, 23'
set label "H_2" at max+0.1, 0 center offset char -1, 1 font 'LiberationSerif, 23'
set label "H_3" at 0, min center offset char -2, 0 font 'LiberationSerif, 23'
set label "H_4" at min, 0 center offset char 0, 1 font 'LiberationSerif, 23'
set style line 1 linetype 1 pointtype 7 linewidth 3 linecolor black
set style line 2 linetype 2 pointtype 7 linewidth 3 linecolor black
plot 'data.csv' using 1:2 title "1" w lp ls 1 ,\
'data.csv' using 3:4 title "2" w lp ls 2