I wanted to have a discussion regarding recommendations for plotting backends for web UIs for Octave, such as octave-online.net (which I develop).
Currently, we’re using the Gnuplot graphics toolkit in Octave, and we instruct Gnuplot to print the plot to an SVG file. We then send the SVG file across the network to the client. Currentlythe SVG is static, but newer versions of Gnuplot support mouse events in the SVG, which I hope to add in Octave Online (example: Demos for gnuplot Version 5.4 (SVG terminal)). Another advantage of Gnuplot is that there is no communication necessary between the client and the server after the plot is finished.
However, newer versions of GNU Octave print a warning saying that the Gnuplot toolkit is not actively maintained. So, I wanted to discuss:
- Can you elaborate on the status of the Gnuplot support in Octave? Does it remain an officially supported toolkit with regression tests, or is there a risk that the toolkit will become unusable if no one steps up to support it?
- What other tech stacks do you envision for how to render plots for web users?
The Octave Online Server source code is published under AGPL at the following URL. I’m happy to point to the parts of the code base relevant to plotting.