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.