Outline:

Range
Border
Zero axes
Key
Tics
  Major tics
  Minor tics
  Nomirror and second tics
  Other options for tics
Grid
Want only the plot?
Title, key title, and lable
  Title
  Key title
  Label
  Arrow
Resolution
3D Plot general
Scaling
  Size ratio
  Tics level
  Log scale
Parameterizing
  Parametric
  Polar


Other tips

Define a function

In order to define your own function, enter as follows:
gnuplot> f(a,b,c,x)=a*x**3+b*x+c
gnuplot> a = 2
gnuplot> b = 5
gnuplot> c = 7
gnuplot> plot f(a,b,c,x)
gnuplot hirophysics
You can also define the constants that you would use.

Plot with complex variables

Complex variables are expressed with curly brackets. For instance, the imaginary number is: i = {0, 1}; and 3.0 + 2.0i can be {3.0, 2.0}. Let's plot an example.
gnuplot> i = {0, 1}
gnuplot> splot real(exp(x+i*y)), imag(exp(x+i*y))
gnuplot hirophysics
The commands, "real()" and "imag()" take the real part and the imaginary part of the function.

Tertiary operator

This command can be seen in other programming languages. It is usually expressed as "(condition) ? (command 1) : (command 2)." Command 1 is executed when the condition is true; otherwise, command 2 is executed. Let's do this with gnuplot.
gnuplot> plot x>0 ? x : -x
This means that if x is greater than 0, plot f(x) = x; otherwise, plot f(x) = -x.
gnuplot hirophysics

Skip data values

You can skip the data values and the data blocks with a gnuplot command, "every." For example, here is a set of data, skip.d
1 2   # line 0
2 3   # line 1
3 4   # line 2   block 0
4 5   # line 3
5 6   # line 4

6 3   # line 0
7 4   # line 1
8 5   # line 2  block 1
9 6   # line 3
10 7   # line 4

11 4   # line 0
12 5   # line 1
13 6   # line 2  block 2
14 7   # line 3
15 8   # line 4
Each line and block number is indicated as above. The "every" command controls each of them by taking 6 arguments. For example,
gnuplot> plot 'skip.d' every 2:1:2:4:0:1
Here is the explanation of each argument.
1st arg.2nd arg.3rd arg. 4th arg.5th arg.6th arg.
Skip the line "every #ed or #th." (0 and 1 do nothing for this part.) Skip the block "every #ed or #th." (0 and 1 do nothing for this part.) Specify the start line "labeled." Specify the start block "labeled." Specify the end line "labeled." Specify the end block "labeled."

Choosing numbers is a little tricky. In the above table, "every #ed or #th" means that if you choose 2, it will skip every 2nd data line or block. You may try and get used to the manipulation by yourself.

Gnuplot as a calculator

Gnuplot can also return a calculated values. Use "print" command.
gnuplot> print atan(0.6)/sin(3.0)
3.829503042838
You can use any built-in functions and operators to calculate with plugged-in values.

Timestamp

If you use the following command, you can have a timestamp for the output.
gnuplot> set time
gnuplot> plot cos(x**3)
gnuplot hirophysics

Data fitting

Gnuplot can also generate data fitting parameters. Let's try an interesting example. Here is numerical data from the error function, erf.d. We attempt to fit them with a function, atan(x)/a + b, which a and b are parameters to be obtained. Enter as follows:
gnuplot> f(x)=atan(x)/a+b
gnuplot> fit f(x) 'erf.d' via a,b
Then, you will have the following output:
gnuplot hirophysics
The parameters are calculated as a = 2.36667 and b = 0.5 with a certain error to fit. In order to make sure, plot the data and the provided function:
gnuplot> plot 'erf.d', atan(x)/2.36667+0.5
gnuplot hirophysics
You can see that the result approximates the function well.

NOTE: If you have a set of data separated by commas, you need to type this on gnuplot:
gnuplot> set datafile separator ","
If the data are separated by tabs, you will use the following setting to read the file:
gnuplot> set datafile separator "\t"

Previous page