[ANN]: Gaston v0.7.0 - A package for plotting using gnuplot

I’m happy to announce that I have just released version 0.7.0 of the plotting package Gaston, which uses gnuplot as a backend. Its main features are:

  • Focus on fast and simple plotting both on screen and in a Jupyter notebook.
  • No dependencies outside of Base (except gnuplot itself); loads in a fraction of a second.
  • 2D, 3D, histogram and image plots are supported, including multiple plots on the screen at the same time.

Git repo/homepage: GitHub - mbaz/Gaston.jl: A julia front-end for gnuplot.

Tutorial: https://nbviewer.jupyter.org/github/mbaz/Gaston.jl/blob/master/doc/gaston-tutorial.ipynb

New in 0.7.0:

  • Revamped user-facing interface (the old one was really clunky)
  • All known bugs fixed
  • Lots of refactoring to make the code shorter, simpler and more robust

Interesting fact: Gaston’s first commit was back in March 2012. It is probably one of the oldest Julia packages around. Amazingly, some of that old code is still present in the current version.

Limitations:

  • Gaston is focused on speed and simplicity. I think plotting to the screen during data exploration should be fast and non-ugly (if possible). Once the data looks right, a publication-quality plot should be produced with appropriate tools, such as pgfplots.
  • gnuplot is designed as a command-line program, so Gaston has to write commands to gnuplot’s STDIN and read results back from STDOUT and STDERR. This interface is limited by its nature; for instance, gnuplot may crash or lockup and there’s no way for Gaston to find out.
  • Plot coordinates are fed to gnuplot through a file, which is written by Gaston and then read by gnuplot. This breaks down at large data sizes, a use case Gaston is not optimized for.
  • Gaston is not well tested on Windows and not at all on OS-X, which are platforms I don’t have ready access to (or much interest in).
  • Gaston has only one developer (me) and I have very limited time to devote to it.

Of course, bug reports, feedback, and contributions are welcome.

23 Likes

I was quite thrilled to see this in REPL on Windows / cygwin. Does not quite work yet, see issues on Github!

Awesome work! Works like a charm. Is there a way to show these plots inside the Juno/Atom plot pane?

(Sorry for the late reply – I’ve been too busy these past few days). Thanks for the kind words! And no, I have no idea how to use Gaston along with Juno/Atom, but I’d welcome a pull request if somebody figures it out, as long as it doesn’t add any dependencies and is not too intrusive.

Gaston works very well for the types of basic plots that a casual user of plotting needs. In my opinion, Gaston would be the perfect package to suggest to new users of Julia! Simple, fast, and convenient…

1 Like