Languages like python and julia allow the user to use different packages for plotting:
python
- matplotlib
- seaborn
- pylab
- GR
- plot.ly
- ggplot
- etc.
Julia:
- Gadfly
- PyPlot
- Plots
- GR
- etc.
Octave
- Gnuplot
- FLTK
- Qt
At the moment Cantor hard-codes the usage of PyLab for python and of GR for julia when creating a plot via the Plot2D/Plot3D menu entries ("plotting extensions"). These packages might not be available on the system or are not the packages which the user wants to be used. Ideally we should make this configurable for the user in the settings for each specific language and to use the propper and library specific syntax in the implentations of Extension::plotFunction2d/3d() functions.
To further improve the user experience we should:
- check internally for the presence of some well-known and widely used plotting packages like the ones mentioned above
- in the settings dialog provide a list/combobox with all found packages for easier selection of the package to be used
- use a reasonble default package - define an order of popularity of packages and use the first one found in this list
- in case no known/supported packages are found, don't show the plot menu entries.