Subscribe:   RSS icon   twitter icon

gnuplot

What is it?

gnuplot is a widely used scientific plotting program from the unix world that is free and open source. It can produce most of the types of plots that a scientist might require on a dazzling array of output devices.

gnuplot News

gnuplot 5 2nd Edition by Lee Phillips, on sale now: the new edition covers v.5.4, that introduced many new features, including voxel plotting.

6/11/2020 11:37 Gnuplot 5 Book Available in Jupyter Form: Purchasers get access to a live gnuplot and Python notebook server loaded with the Jupyter version of the book.
12/6/2020 11:16 Release notes for gnuplot v.5.4.rc2: First release candidate 5.4.rc2
10/4/2020 18:15 Announcing Gnuplot v1.1.0 - A Julia interface to gnuplot: “the first production ready version of Gnuplot.jl, a package to drive an external gnuplot 16 process from Julia.”
29/7/2016 14:18 PyGnuplot: A lightweight Python wrapper around gnuplot.
11/6/2016 8:36 Gnuplot vs Matplotlib: A speed comparison shows no contest: if you need to plot large datasets, gnuplot is the choice.
11/5/2015 12:38 Caca terminal: A dumb terminal that’s not so dumb.
10/1/2015 10:28 xkcd in gnuplot: How to make gnuplot create graphs in the style of xkcd.
16/6/2014 10:28 How to Make a Cube Plot with Gnuplot: Another example that shows how you can make gnuplot do anything.
25/2/2014 11:24 gnuplot 4.6.5 Released: A handful of significant bugfixes and several interesting new features, including a new terminal and new smoothing modes.
23/2/2014 11:50 Arrow with T-shaped head in gnuplot: “For the measurement of distances T-shaped arrows are often used to highlight the length. In gnuplot there is an easy way to achieve this.”
9/4/2013 14:03 F# Wrapper for gnuplot: Control gnuplot with the F# language.
21/3/2013 10:17 gnuplot 4.7.0 for Ubuntu: Matt Joyce has packaged a development version of gnuplot in a PPA for Ubuntu. I haven’t tried it myself, and know nothing further.
18/3/2013 10:16 gnuplot 4.6.2 Released: Many improvements and bug fixes to make gnuplot more convenient, including better 3D plots using pm3d.
10/1/2013 14:42 gnuplot in the Browser: gnuplot compiled to javascript — surprisingly fast.
4/10/2012 10:27 Autocomplete in Gnuplot on Ubuntu: If you’ve installed gnuplot from the Ubuntu repositories and filename autocompletion is not working, try this.
12/8/2012 20:34 Airy Function in gnuplot Not Critically Accurate: If your use of gnuplot involves dealing with its implementation of the Airy function, read this.
30/7/2012 10:28 Problem installing gnuplot with MacPorts: If, after upgrading to Mountain Lion, installing gnuplot through MacPorts fails when building AquaTerm, check this page for a possible (and unexpected) solution.
16/7/2012 9:29 Recreating Gnuplot within Minecraft: Not much to do with gnuplot per se, but undeniably wild.
15/5/2012 11:31 Demo of gnuplot patch supporting hypertext: gnuplot continues to grow towards the web. This patch, by one of gnuplot’s developers, is in the CVS version and may make it into a release one day. It allows labels to appear upon pointer-hover in SVG and HTML Canvas plots.

gnuplot and [La]TeX

pgfplots: Extensive graphing package compatible with LaTeX, plain TeX, and ConTEXt, built on pgf and tikz. It can plot beautiful graphs all by itself or use gnuplot as a calculator to generate coordinates.
gnuplottex: Still in early versions (as of January 2012), Lars Kotthoff’s gnuplottex package for LaTeX automates the process of running a gnuplot script and including the resulting plot into the document. The integration between gnuplot and TeX is not very intimate; an environment is defined in which you put your gnuplot commands, but there is no facility to include TeX typesetting in the graph.

gnuplot and Macintosh

MacPython and Gnuplot in MacOS X: “These instructions are for MacOS 10.2 (Jaguar) and as of September 2004 are out of date.”
MacResearch: A lot about doing science with OS X.
Gnuplot 4.4.4 is out: Of particular interest to my readers is that the wxt terminal now works on “some flavors” of OS X. wxt is an interactive terminal that works like the x11 terminal, but does not require X windows and uses the cairo library for superior drawing and text handling (it’s more capable than Aquaterm).
Notes on installing gnuplot on OSX: From the “Bucket of Sloths” website.
Problem installing gnuplot with MacPorts: If, after upgrading to Mountain Lion, installing gnuplot through MacPorts fails when building AquaTerm, check this page for a possible (and unexpected) solution.
Install Gnuplot on Mac OS X: Brief guide, recommending using the Octave installation strategy.
Did gnuplot stop working when upgrading to OSX 10.7.3?: If your gnuplot fails to run on your Macintosh after upgrading to 10.7.3, giving you errors about incompatible libraries, you might want to look here to see if this is the problem. This is the same issue that is addressed on this Octave repository page.

More gnuplot

Gnuplot copyright terms: Gnuplot’s source license.
Visualize real-time data streams with Gnuplot: “For the last couple of years, I’ve been working on European Space Agency (ESA) projects […] In the ESA project I am currently working on, I am also the technical lead; and I recently faced the need to (quickly) provide real-time plotting of streaming data. […] Gnuplot follows the powerful paradigm that UNIX established: it comes with an easy to use scripting language, thus allowing its users to prescribe actions and ‘glue’ Gnuplot together with other applications - and form powerful combinations. […] it took me 30min to code this, and another 30 to debug it. Using pipes […] we are able to do something that would require one or maybe two orders of magnitude more effort in any conventional programming language (yes, even accounting for custom graph libraries - you do have to learn their API”.
Gnuplot 5 Book Available in Jupyter Form: Purchasers get access to a live gnuplot and Python notebook server loaded with the Jupyter version of the book.
Release notes for gnuplot v.5.4.rc2: First release candidate 5.4.rc2
How to Make a Cube Plot with Gnuplot: Another example that shows how you can make gnuplot do anything.
Gnuplotting: An excellent gnuplot site demonstrating a handful of techniques and tricks for overcoming some of gnuplot’s quirks and producing truly appealing plots.
DomTerm: A web-based rich terminal emulator: an “attempt to modernize and extend the terminal emulator using the web platform.”
Airy Function in gnuplot Not Critically Accurate: If your use of gnuplot involves dealing with its implementation of the Airy function, read this.
Gnuplot display on DomTerm: DomTerm is terminal emulator that uses web technologies, so can display graphs inline with gnuplot repl commands.
Gnuplot vs Matplotlib: A speed comparison shows no contest: if you need to plot large datasets, gnuplot is the choice.
New features in gnuplot 5.4: My article appeared today in LWN. I take a look at five major new capabilities in gnuplot, including voxel plotting, for visualizing 3D data.
Color palettes for gnuplot: A nice collection.
xkcd in gnuplot: How to make gnuplot create graphs in the style of xkcd.
Plotting tools for Linux: gnuplot: My piece in LWN about gnuplot, the first in a series about plotting tools for Linux.
The gnuplot license and its history: An announcement of v. 4.6 of gnuplot leads to an informative discussion of the implications and history of its copyright and license.
gnuplot Cookbook: My gnuplot book is available for purchase. Amazon has the paperback and Kindle editions, and the publisher has, in addition to those, PDF and ePub versions.
gnuplot FAQ: FAQ including name and origin.
Forcing font embedding in PDFs generated by gnuplot: Hugh Anchor solves this problem: you are using the PDF terminal in gnuplot but you are submitting a manuscript to a journal that requires a PDF with all fonts, even the base fonts, to be embedded.
rlwrap: I have not tried this yet, but others have found it useful in, for example, wrapping the gnuplot command line if you happen to be using a version compiled without readline support: “rlwrap is a ‘readline wrapper’ that uses the GNU readline library to allow the editing of keyboard input for any other command. Input history is remembered across invocations, separately for each command; history completion and search work as in bash and completion word lists can be specified on the command line.”
Gnuplot.py: “Gnuplot.py is a Python package that interfaces to gnuplot […] It allows you to use gnuplot from within Python to plot arrays of data from memory, data files, or mathematical functions.”
Jupyter: notebooks for education and collaboration: My article on the browser-based interface to Python and more in LWN.
BART Strike Remarks: James Brown uses numbers and clear analysis to call into question some of the mainstream media reporting on the strike.
Arrow with T-shaped head in gnuplot: “For the measurement of distances T-shaped arrows are often used to highlight the length. In gnuplot there is an easy way to achieve this.”
Plotting raster data from Natural Earth: Technique for producing much nicer than typical Earth maps in gnuplot.
“Gnuplot In Action” by Philipp K. Janert: Wesley R. Elsberry reminds us that our old friend Gnuplot is still one of the best choices for certain hairy plotting tasks, especially those involving surface plots. Along the way he alerts us to the new book mentioned in the title.
Gaston: An interface to gnuplot.
Labels with white background in LaTeX terminals: How to make your curve labels more legible.
gnuplot Cookbook “Earns Out”: [From 2015]: My Gnuplot Cookbook published by Packt has earned back its advance and is now generating a quarterly royalty payment. It’s just pizza money, but a pleasant milestone nevertheless, and a source of pride, because 70% of books never earn back their advances. So a hearty thanks to my readers. I hope you found the book useful.
What’s new in gnuplot 5.2: My article in LWN appeared today. Please consider subscribing to LWN, a wonderful resource for the free software world.
Simple Fence Plots in gnuplot: Quick and dirty way to get a “fence plot” in gnuplot from a collection of 2d datasets.
Gnuplot 5: Gnuplot, a free and open-source program, is the preeminent graphics system for scientists, engineers, and analysts. It integrates seamlessly with LaTeX to produce beautiful and professional technical documents. Gnuplot also makes interactive graphs on the web and visualizes live data streams; it can be used standalone or plugged into any programming language.
PyGnuplot: A lightweight Python wrapper around gnuplot.
gnuplot: Greek Letters in Labels Using PNG: The easiest way is to use Unicode directly.
Matplotlib and the Future of Visualization in Python: Very thoughtful article with historical perspective. From March, but new to me.
gnuplot in the Browser: gnuplot compiled to javascript — surprisingly fast.
clojure-gnuplot: “clojure-gnuplot is a simple clojure interface to gnuplot. It allows interaction using lispy syntax.” Briefly described in the gnuplot Cookbook.
Manipulating Data on Linux: Quite a compendious reference.
F# Wrapper for gnuplot: Control gnuplot with the F# language.
Gnuplot Writeup in LWN: My article introducing the famed open-source plotting system appeared today.
gnuplot5: the book: My ebook, with versions for laptops and tablets, free of DRM.
Surrey Physics Plotters: “Gnuplot tips and tricks from University of Surrey Physicists.”
Forum question: gnuplot writing to a file: “kelvin490” asks how to save his gnuplot plot to a bmp or other file, and “can I massively (and automatically) do this so that I’ll have a set of bmp files (say, 100 of them) to make movie?” It’s simple: just tell gnuplot to “set term bmp”, which will work if bmp support is compliled in to your version; if not, you need to pick something else. A good choice for bitmapped output is png. Then say “set output file”, substituting your desired filename for “file”. Then “replot”, and you’re done. To automate this, either use the recently added iteration commands (see the manual) or control gnuplot from python using gnuplot.py, etc.
gnuplot 4.6: gnuplot version 4.6.0 was officially announced on March 8, 2012.
Autocomplete in Gnuplot on Ubuntu: If you’ve installed gnuplot from the Ubuntu repositories and filename autocompletion is not working, try this.
3D bargraphs in gnuplot, one more time: Although I don’t approve of 3D bargraphs, this is worth looking at because of the techniques.
Voxel Plots in gnuplot: Part II of my article about the new features in gnuplot v.5.4.
Gnuplot: A chapter of the online book Programming in Modern Fortran showing how to talk to gnuplot from Fortran using a pipe or with call execute_command_line.
Gnuplot 4.2 Tutorial: Concise and useful.
Announcing Gnuplot v1.1.0 - A Julia interface to gnuplot: “the first production ready version of Gnuplot.jl, a package to drive an external gnuplot 16 process from Julia.”
Some Advice on How gnuplot’s Curve Fitting Can Go Wrong.: Actually a general caution about linear regression, but using gnuplot as an example.
Calculating histograms in gnuplot: Describes a useful technique.
Hiro’s Soliloquy: Animations made with gnuplot, illustrating all kinds of things from mathematics and physics. A wonderful site, whether your interest is gnuplot techniques, computer animation, or educational visualizations.
DomTerm: The headquarters.
Gnuplot 5.0 Reference Manual: A paperback version of the reference manual, coauthored by one of the gnuplot developers.
Caca terminal: A dumb terminal that’s not so dumb.
Feedgnuplot: Tool to plot realtime and stored data from the commandline, using gnuplot.
Numerical bug in some versions of gnuplot: A bug in the the precompiled versions of gnuplot that are distributed with recent releases of Debian Linux and some Linux-derived distributions affects anything involving numbers smaller than 1E-9.
Danse evaluation: Review of several plotting packages by a team at the Danse project. Most of them have some kind of interface with the python scripting language.
Self-defined linestyle under gnuplot svg terminal: Define an arbitrary linestyle by editing the generated SVG directly.
Gnuplot tricks: Broken axis: If you would like to make broken axes plots using gnuplot, like the one shown here, this article will show you how.
Gnuplot patches and demos: Enhancements by a member of the gnuplot development team.
Demo of gnuplot patch supporting hypertext: gnuplot continues to grow towards the web. This patch, by one of gnuplot’s developers, is in the CVS version and may make it into a release one day. It allows labels to appear upon pointer-hover in SVG and HTML Canvas plots.
CBfortran interface to gnuplot: If you use fortran with Code::Blocks (I don’t) and gnuplot you might be interested in this new project.

Some Fun with GNUPLOT — Interesting 3d surfaces (but not much about gnuplot per se).

Gnuplot Tips (not so FAQ) — Very useful, well organized tutorial information in English and Japanese.

Ruby Gnuplot – “Ruby Gnuplot is a pipe-based interface to […] gnuplot […]. Through this interface almost every capability of gnuplot is useable from within Ruby.” (Ruby is an increasingly popular scripting language.)

Gnuplot Demonstrations

Gnuplot Tricks — nice examples, some using new v. 4.4 features.

Examples of gnuplot in physics.

Very readable introduction to date/time plotting.


Share with Facebook Share with Twitter Share with Reddit Share with StumbleUpon Share with Digg Share with Slashdot
▶ Comment
lee-phillips.org is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com.
Quotilizer ... loading ...

Tenuously related:

The best tool for CVs with publication lists.