Getting started with Gnuplot
Installation or Setup
Gnuplot is a portable command-line driven graphing utility. This example will show how to setup gnuplot in the various platforms.
Download the latest version of the installer from gnuplot site.
Run the downloaded file and allow it to run as administrator if requested
On the setup window select the language and follow the instructions on screen.
(optional) During the installation you may select the gnuplot to be added to the PATH that will allow you to run commands from anywhere on the command line. If you choose not to do so you may add it manually later or
cdto the gnuplot installed directory prior to running commands.
The default installation location of gnuplot on Windows is
C:\Program Files (x86)\gnuplot
NOTE: the filename will be of the format:
The installation on Linux can be done through the different package managers as follows.
$ sudo pacman -S gnuplot
Debian and Ubuntu
$ sudo apt-get update $ sudo apt-get install gnuplot
CentOS / RedHat
$ sudo yum check-update $ sudo yum install gnuplot
$ sudo dnf check-update $ sudo dns install gnuplot
$ brew install gnuplot
$ sudo port install gnuplot
Test the installation
After installing gnuplot it’s a good idea to run a simple example to ensure all is working fine.
- Open your terminal
- Your prompt should now change to
If all is well you should see now a sin(x) graphic generated by gnuplot.
Note: if you are on Windows and have not added
gnuplot to your
PATH you’ ll need to navigate to the
<gnuplot_install_path>\bin folder. The default location is:
C:\Program Files (x86)\gnuplot\bin
1: https://www.wikiod.com/gnuplot/getting-started-with-gnuplot#Installation or Setup
Basic introduction to programming language’s rules
From the gnuplot 5.0 official online documentation:
The command language of gnuplot is case sensitive, i.e. commands and function names written in lowercase are not the same as those written in capitals. All command names may be abbreviated as long as the abbreviation is not ambiguous. Any number of commands may appear on a line, separated by semicolons
;. (T. Williams, C. Kelley - gnuplot 5.0, An Interactive Plotting Program)
Some examples of these basic rules are
1. A case sensitive language
Typing lowercase-defined commands in uppercase will generate an
invalid command warning.
gnuplot> set xlabel "x" gnuplot> Set xlabel "x" ^ invalid command
N variable will be different from the
You can find an almost complete list of abbreviations here. Anyway the first three letters of any command in gnuplot work always as abbreviations. Some commands allows also a more powerful contraction. A little example is given below.
gnuplot> p sin(x) gnuplot> rep gnuplot> q
p stands for
The symbol used to separate commands on a singe line is
set title "My First Plot"; plot 'data'; print "all done!"
Comments are supported as follows: a
#may appear in most places in a line and gnuplot will ignore the rest of the line. It will not have this effect inside quotes, inside numbers (including complex numbers), inside command substitutions, etc. In short, it works anywhere it makes sense to work. (Ibidem)
Just remember the simple “anywhere it makes sense to work” rule.
gnuplot> # this is a comment, nothing will happen gnuplot> plot sin(x) # another valid comment gnuplot> plot sin(#x) ^ invalid expression
4. Extending commands
Commands may extend over several input lines by ending each line but the last with a backslash (
\). The backslash must be the last character on each line. The effect is as if the backslash and newline were not there. That is, no white space is implied, nor is a comment terminated. Therefore, commenting out a continued line comments out the entire command. (Ibidem)
For example, to split
plot command on multiple lines,
plot\ sin(x),\ cos(x)
will plot the same as
plot sin(x), cos(x)
A little note on “commenting out a continued line comments out the entire command”. If you type the command
plot\ sin(x),\ # I would like to comment here cos(x)
an error will occur:
gnuplot> plot\ > sin(x),\ # I would like to comment here ^ invalid character \
So it’s better to be careful and respect the rule “anywhere it makes sense to work” while using