Gnuplot

Getting started with Gnuplot

Remarks#

This section provides an overview of what gnuplot is, and why a developer might want to use it.

It should also mention any large subjects within gnuplot, and link out to the related topics. Since the Documentation for gnuplot is new, you may need to create initial versions of those related topics.

Versions#

VersionLast patchlevelLast Release Date
5.0.x5.0.52016-10-09
4.6.x4.6.72015-04-28
4.4.x4.4.42011-11-13
4.2.x4.2.62007-07-01
4.0.x4.0.02004-04-01

Installation or Setup

Gnuplot is a portable command-line driven graphing utility. This example will show how to setup gnuplot in the various platforms.

Windows

  1. Download the latest version of the installer from gnuplot site.

  2. Run the downloaded file and allow it to run as administrator if requested

  3. On the setup window select the language and follow the instructions on screen.

  4. (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 cd to 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: gp<version>-win32-mingw.exe

Linux

The installation on Linux can be done through the different package managers as follows.

Arch

$ 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

Fedora

$ sudo dnf check-update
$ sudo dns install gnuplot

Mac OSX

Using Homebrew

$ brew install gnuplot

Using MacPorts

$ 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.

  1. Open your terminal
  2. Type gnuplot.
  3. Your prompt should now change to gnuplot>
  4. Type: plot sin(x)

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

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

Also the N variable will be different from the n one.

2. Abbreviations

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

where p stands for plot, rep for replot and q for quit.

3. Separators

The symbol used to separate commands on a singe line is ;

set title "My First Plot"; plot 'data'; print "all done!"

5. Comments

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 # comments.


This modified text is an extract of the original Stack Overflow Documentation created by the contributors and released under CC BY-SA 3.0 This website is not affiliated with Stack Overflow