Trix & Graphix

Complex axis in Gnuplot

This post is to show the great flexibility of gnuplot regarding axis format. I'm going to explain some commands to get the next graph:


Yeah, I know, may be it's the most ugly and pointless plot ever. Nevertheless, it's a complex one, and it's not easy to get. That's the point ;-)

First of all, it's important to note that every plot has 4 different and independent axis called x, y, x2 and y2, respectively for bottom, left, top and right. Furthermore, each axis if the combination of three elements: the border (a straight line), the tics (short lines perpendicular to the border) and the tic labels (normally a number seting a value for the tic). The idea is that you can change every one of these elements separately.

Let's begin with the border. The border of the graph is just a square containing the plot. You can set or unset separately each one of the 4 borders, so it's easy to understand that you have 2x2x2x2=16 possibilities. To select what borders you want, gnuplot uses something like binary numaration. Each border has associated a power of two: 1, 2, 4 and 8 for bottom, left, top and right, respectively, like in the figure.


So for example if you want to set only the top border, you have to type:
set border 4
Other examples: if you want to set top and bottom borders, you have to sum both numbers, 4+1=5 and type set border 5. For the same reason, 0 sets no border, and 15 sets the four borders. Easy, isn't?

Now we are ready to go to tics. Tics and borders may be set or unset independently. So for example if you unset the top border, the y2 tics will still remain, so you can get unexpected results. To unset a tic set, you have to use the unset command, like for example
unset xtics
The same for ytics, x2tics and y2tics. By default, the 4 sets of tics are enabled.

Once you know in which axis you want to have tics, it's the moment to set how many you want. There are several ways of setting tics, and of course you can set the number of tics in each axis separately.

You can specify only the spacing between them, leaving the initial and final one to be set automatically by gnuplot by typing
set xtics 20
On the other hand, you can also specify the initial, final and the spacing by:
set xtics 20,1,30
Finally you can set the tics "by hand" following this syntax
set xtics ("one" 1, "two" 2, "3" 3, "{/Symbol p}" pi)
Where the string between quotes is the tic label to be set, and the number is the position of the label in the axis. This last options is really useful if you are dealing with a really complex and custimized plot.

A last note about tics and borders is that they all share the same line style. You can specify it like any other line options, like for example
set border 12 ls 2 lw 3 lc 3
This command will unset bottom and left boders. The rest will be, as well as the tics, dashed blue lines, 3 pixels width.

Let's now focus in the format of the tic labels. One important point to have into account is that if you want to unset only the labels, but keeping the tics, you can do it by changing the axis format to empty:
set format x ""
And of course analogously for the others 3 axis. By default x2 and y2 axis have this format. Regarding the formatting, you may set how numbers are displayed following C conventions, like for example
set x2tics "%02g"
and so on. There are plenty of places in internet where this convention is explained.

Other interesting options are offset and rotate. With these options you can shift the label of the tics and to rotate them, which is not an easy effect to get in other programs. A example of these is shown in the final example.

Finally, you can also change the color of the labels of the tics using the textcolor option, like
set x2tics textcolor lt 2

Well, I know, I have explained a lot of options, and not very much in detail. But rebember that all these options, and much more, are explained in the gnuplot interactive help. The idea of this post was to demonstrate to those who think gnuplot is lame that they are wrong.

Now I'll sumarize some of these concepts with the code to get of the initial example.
#!/bin/bash

gnuplot << TOEND
# Setting the output file
set terminal postscript eps color enhanced "Helvetica" 20
set output 'borders.eps'

# Setting the top an right border (4+8=12).
#We change also the color and line style
set border 12 ls 2 lw 3 lc 3

# Setting the margins (distance between borders
#of the graph and the borders of the image)
set tmargin 5
set bmargin 5
set lmargin 5
set rmargin 15

# Setting the xtics
unset xtics
set x2tics ("-{/Symbol p}"-pi, -1, 0, "one" 1, 2, "three" 3, 4, 5, 6) textcolor
lt 2
set x2label "x2 axis"

# Setting the ytics
unset ytics
set y2tics -1,.2,1 textcolor lt -1 offset 2 rotate by 30
set format y2 "%.2f"


# The rest is just for a boring normal plot
set xrange [-5:5]
set yrange [-1:1]

set title "Pointless but rather complex graph"
plot sin(x) w l lt 1 lc rgb "#FF00FF" lw 6 t ''
TOEND

convert -density 100 borders.eps borders.png

32 Comments:

piponazo said...

Thank you for sharing this useful information. ;)

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

Ho do you plot the wavelength on the lower x-axis and the energy on the upper x-axis?

Anonymous said...

May possibly I personally ask if you might be through Qld?
You will appear to be a good Melbourne :
3)
Also visit my page - Instant Vehicle Insurance

Anonymous said...

Brokersring.com - Learn how to turn $500 into $5,000 in a month!

[url=http://www.brokersring.com/]Make Money Online[/url] - The Secret Reveled with Binary Option

Binary Options is the way to [url=http://www.brokersring.com/]make money[/url] securely online

Anonymous said...

bookmarked!!, I like your website!

My site ... Best Registry Cleaners

شركة الصالحية بيرم said...


شركة نقل اثاث من الرياض الي الطائف

شركة شراء الاثاث المستعمل بالرياض

شركة مكافحة حشرات بخميس مشيط
شركة تنظيف بخميس مشيط
شركة تنظيف شقق بخميس مشيط
شركة نقل اثاث بخميس مشيط
شركة تنظيف خزانات بخميس مشيط
شركة مكافحة النمل الابيض بخميس مشيط

Egy Help said...

اضمن السلامة لاجهزتك الكهربائية ، فقط بتعاملك مع مركز صيانة فريجيدير ، لانه الاكثر خبرة بطرق الصيانة للاجهزة الكهربائية ، و الاصلاح الدقيق للاعطال التي بها ، بدون الحاق اي اضرار اخري بالجهاز

لمزيد من التفاصيل من خلال موقع ايجي هيلب

http://goo.gl/QgGdeG

Syanat 3 said...

في مركز صيانة اريستون ، نهتم بان نكون مواكبين باستمرار للتكنولوجيا المتطورة التي يتم استخدامها في صناعة الاجهزة الكهربائية ، لذا نحرص علي متابعة تاك التقنيات و الاساليب الحديثة ، بل و التدريب عليها ، من خلال دورات تدريبية مكثفة ، معتمدة من اكبر المراكز التدريبية العالمية ، لذلك نحن الافضل في التعامل مع الاجهزة في مصر

لمزيد من التفاصيل من خلال دليل الصيانة الشاملة

http://www.maintenanceg.com/Ariston-Center-Agent-Egypt.html

roi3it elebda3 said...

مع مؤسسة روائع الابداع ، انت علي موعد مستمر ، للاشترال في العروض المميزة التي تقدمها المؤسسة علي كامل منتجاتها من مظلات و سواتر ، بمختلف الانواع

لمزيد من التفاصيل من خلال موقع

http://goo.gl/hjhYmj
0504809994

carriermaintenance said...

الان افضل انواع قطع غيار تتمتع بجودة عالية ، اشتريها من مركز صيانة كاريير ، لانك لن تجد مثلها و بتلك الاسعار المميزة في اي مكان اخر ، كما اننا نقدم خدمات التركيب مجانا

لمزيد من التفاصيل من خلال موقعنا الالكتروني

http://carriermaintenance.com/

Forsaan Al said...

تم انتخاب شركة مثلث الفرسان ، لتكن افضل شركة تنظيف شقق بجدة ، لذا عند الاختيار ، فلا تنسي اختيار الافضل ، لتستمتع بنظافة منزلك ، كما لم تكن من قبل
لمزيد من المعلومات زوروا موقعنا الالكتروني

http://goo.gl/VwKnJb
0556777614

swaqny Co said...

مع شركة سوقني ، صمم موقعك الالكتروني سواء كان طبي او عقاري او تجاري ، او ايا كان مضمونه ، باقل وقت ، و بتكاليف مميزة ، و مصمم بمهارة عالية ، كما ان سوقني ستقدم لك خدمات اشهار و تسويق الموقع عبر الانترنت
لمزيد من التفاصيل من خلال موقع

http://www.swaqny.com/
002_01008745590

شركة التفوق said...

التفوق ، ليست شركة عزل خزانات بالرياض ، و حسب ، بل انها ماهرة ايضا في تنفيذ خدمات عزل الاسطح ، و المسابح ، و خدمات نقل العفش و تسليك المجاري ، و تقديم خدمات التنظيف للمنازل ، بمهارة عالية

لمزيد من المعلومات زوروا موقعنا الالكتروني

http://goo.gl/eUj8xf
0550074416

نقل عفش said...

مع الاخلاص و الامانة ، لا تحمل هم النقل ، و الخوف علي سلامة الاثاث ، لاننا ماهرون في تنفيذ اعمال نقل عفش بمكة ، و نضمن لك السلامة و الامان لكافة مقتنياتك ، حتي و لو كانت سهلة الكسر

لمزيد من المعلومات زوروا موقعنا الالكتروني

http://goo.gl/JeO3cI
0550018083

نقل عفش جدة said...

خدمات نقل عفش بجدة ، التي تتم عبر مؤسسة الهامة العالمية ، تجد عليها باستمرار ، اقبالا كثيفا من قبل العملاء ، لانهم يريدون ضمان سلامة مقتنياتهم ، و وصولها بأمان و بسرعة ، و نحن الوحيدون من نوفر لهم خدمات نقل بمثل تلك المواصفات

لمزيد من المعلومات زوروا موقعنا الالكتروني

http://goo.gl/j1VkpV
0553121777

Pest Control said...

Customers prefer to deal with the MC company, because it offers better bed bug treatment service, high quality, and the prices are very suitable for them

http://www.pestcontrolabudhabi.com/Bed-Bug-Control.html

0501107579
024419074

مؤسسه الحرمين said...



شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة عزل اسطح بالاحساء
شركة عزل خزانات المياه بالاحساء
شركه عزل مائى بالاحساء
شركة عزل حرارى بالاحساء
شركة ترميم منازل بالاحساء
شركة مكافحة حشرات بالاحساء
شركة رش مبيدات بالاحساء
شركة تسليك مجارى بالاحساء
شركة ترميم منازل بالاحساء

مؤسسه الحرمين said...

شركة كشف تسربات المياه بالجبيل
كشف تسربات المياه بالجبيل
شركة عزل اسطح بالجبيل
شركة عزل خزانات المياه بالجبيل
شركه عزل مائى بالجبيل
شركة عزل حرارى بالجبيل
شركة ترميم منازل بالجبيل
شركة مكافحة حشرات بالجبيل
شركة رش مبيدات بالجبيل
شركة تسليك مجارى بالجبيل شركة كشف تسربات المياه بالقصيم
كشف تسربات المياه بالقصيم
شركة عزل اسطح بالقصيم
شركة عزل خزانات المياه بالقصيم
شركه عزل مائى بالقصيم
شركة عزل حرارى بالقصيم
شركة ترميم منازل بالقصيم
شركة مكافحة حشرات بالقصيم
شركة رش مبيدات بالقصيم
شركة تسليك مجارى بالقصيم

Moner Adel said...

شركة تنظيف بالرياض
شركة نظافة بالرياض
شركات تنظيف بالرياض
شركات نظافة بالرياض
شركة تنظيف منازل بالرياض
شركة نظافة منازل بالرياض
شركات تنظيف منازل بالرياض
شركة تنظيف شقق بالرياض
شركة نظافة شقق بالرياض
شركات تنظيف شقق بالرياض
شركة تنظيف خزانات بالرياض
شركات تنظيف خزانات بالرياض
شركة نظافة خزانات بالرياض
شركات نظافة خزانات بالرياض
شركة رش مبيدات بالرياض
شركة مكافحة حشرات بالرياض
شركة كشف تسربات المياه بالرياض

محمد الخطيب said...



شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة عزل خزنات بالاحساء
شركة عزل خزانات المياه بالاحساء
شركه عزل مائى بالاحساء
شركة عزل حرارى بالاحساء
شركة ترميم منازل بالاحساء
شركة مكافحة حشرات بالاحساء
شركة رش مبيدات بالاحساء
شركة تسليك مجارى بالاحساء
شركة ترميم منازل بالاحساء
شركة عزل اسطح بالاحساء

شركة عزل اسطح بالاحساء

mohamed gamal said...


شركة نقل اثاث بالرياض
شركة نقل عفش بالرياض
نقل اثاث داخل الرياض
نقل اثاث خارج الرياض
ارقام شركات نقل اثاث بالرياض
شركات نقل اثاث بالرياض
افضل شركة نقل اثاث بالرياض
افضل شركة نقل عفش بالرياض
شركات نقل عفش
شركات نقل عفش بالرياض
نقل عفش داخل وخارج الرياض
نقل عفش خارج الرياض

Mie Helal said...

it was very enlightening




نقل عفش ابها








نقل عفش بالرياض 300 ريال/






ارخص وافضل مؤسسة نقل عفش بالرياض/





شركة طيبة لنقل العفش/






ارخص وافضل شركات لنقل عفش حفر الباطن/






نقل عفش حائل/






بيزات نقل عفش/






هل تريد نقل عفش بالخرج/
-

Kareem Ahmed said...

شركة تنظيف بالرياض
شركة مكافحة حشرات بالرياض
شركة نقل اثاث بالرياض
شركة نقل عفش بالرياض
شركة كشف تسربات المياه باارياض
شركة تنظيف فلل بالرياض
شركة تخزين اثاث بالرياض
شركة عزل خزانات بالرياض
شركة تسليك المجاري بالرياض
شركة تنظيف شقق بالرياض

Kareem Ahmed said...

شركة تنظيف بالدمام
شركة تنظيف منازل بالدمام
شركة تنظيف فلل بالدمام
شركة تنظيف مجالس بالدمام
شركة تنظيف بيوت بالدمام
شركة تنظيف شقق بالدمام
شركة نقل اثاث بالدمام
شركة نقل عفش بالدمام
شركة تنظيف موكيت بالدمام
شركة تنظيف كنب بالدمام

Kareem Ahmed said...

شركة جلي بلاط بالدمام
شركة رش مبيدات بالدمام
شركة تسليك مجاري بالدمام
شركة مكافحة حشرات بالدمام
شركة كشف تسربات المياه بالرياض
شركة تنظيف بيارات بالدمام
شركة مكافحة حشرات بجدة
شركة رش مبيدات بالرياض

Mie Helal said...





I'm going to highly recommend this web site
https://decor-ksa.com/doors-gallery/
https://decor-ksa.com/windows-gallery/
https://decor-ksa.com/railings-staircase-gallery/http://mchaabaty.com/dawadmi/
http://mchaabaty.com/templates/
http://mchaabaty.com/riyadh/
http://mchaabaty.com/stone/

Pregnant Baby said...

احصل ايضا على خصم كبير جدا افضل شركات نقل عفش بجدة اذا كنت تريد نقل اثاث منزلك شركة نقل الاثاث بجدة من مكان اى اخر حيث لدينا الكثير من العروضة والخصومات الكبيرة من على موقعنا افضل شركة نقل الاثاث بجدة اعمال رائعة جدا وخدمات شركة نقل العفش بجدة كبيرة تجدوها الان على موقعنا.

furnituretransferdammam company said...


شركة ال صالح لديها افضل شاحنات نقل الاثاث فهى
افضل شركة نقل عفش بالدمام
, تقوم بنقل اثاث منزلك بطريقه امنه وسلسه ,تقدم اليكم افضل خدمة نقل اثاث بالدمام,فنحن افضل شركة نقل اثاث بالدمام لا تتردد فى الاتصال ويسعدنا خدمتكم .

furnituretransferdammam company said...

ال صالح لنقل الاثاث لديها الافضل دائما فى مجال نقل العفش والاثاث فهى
افضل شركة نقل عفش بالدمام
ال صالح لديها ايضا الكثير من الخدمات التى تسعدكم دائما مثل النظافه العامه ومكافحة الحشرات وجلى السيراميك والرخام وتنظيف الخزانات وعزل الاسطح انها حقا
افضل شركة نقل اثاث بالدمام
تقدم خدماتها ويسعدنا اتصالكم.

نانا الخطيب said...

تعتمد شركة الحرمين على احدث الاجهزة وافضل الخدمات الاساسية التى تساعد فى التعرف على مكان التسرب والتعرف على الاسباب التى ادتت الى حدوثها فلا تتردد فى التعاون مع
شركة كشف تسربات المياه بالاحساء

شركة كشف تسربات المياه بالاحساء

شركة كشف تسربات المياه براس تنورة


شركة عزل اسطح بالاحساء


شركةالمثالية العالمية للتنظيف



كشف تسربات
المياه بالاحساء



شركة كشف تسربات المياه بعنيزه

almyaa almyaa said...

ويمكنك الان المبادرة بلتواصل معنا للحصول علي ضمان معتمد من الشركة الام عن طريق صيانة فريجيدير التوكيل المعتمد من الشركة الام نسعي دائما لخدمتكم