4 ms·
From using gnuplot of a few versions ago for tasks involving rather many plot generation, I felt that the gnuplot syntax and commands are rather unintutive and
by billfruit 6y ago
From using gnuplot of a few versions ago for tasks involving rather many plot generation, I felt that the gnuplot syntax and commands are rather unintutive and hard to remember, perhaps in some way aesthetically jarring. Also the interactive plots it generated was rather barebones.
Plotting from a pandas dataframe seems more convenient way than using gnuplot presently.
- smabie 6y agoYeah, I agree. Though actually I like plotting from Julia the best. You see software like gnuplot a lot: started its life just doing one thing and then slowly growing. The end result is an unholy mess of a system. All things eventually end of being Turing complete, so let's just eliminate the middle man and use a programming language. Other examples of this are html/js, excel, vim, and bc. A much better result can be achieved if you first design then language (or use an existing one) and just implement libraries to do what you want. A good example of this is Emacs. Greenspun's tenth rule: Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp. Incidentally, I haven't encountered much gnuplot use nowadays. Maybe 10 years ago it was pretty popular in academia, but most have moved onto using Python and matplotlib for plotting, even if the models are written in something else. Matplotlib is truly terrible, but at least it comes with a sort of acceptable programming language.
- marmaduke 6y ago> haven't encountered much gnuplot use nowadays when I run top on a login server on HPC systems, there's always a few gnuplots doing something. > Matplotlib is truly terrible If Matplotlib is now considered terrible, then at least it has advanced the standard expectation. When I started plotting stuff, choosing among plplot, plotutil, latex, gnuplot etc, Matplotlib was and remains a great choice. And it does what you prescribe: > first design then language (or use an existing one) and just implement libraries to do what you want
- cosmic_quanta 6y agoTangentially related: I've been working on a plotting tool (https://github.com/LaurentRDC/pandoc-plot https://github.com/LaurentRDC/pandoc-plot) that supports many plotting toolkits. I recently added support for Plots.jl. I can't believe how SLOW it is to get from running a script to getting output. 10x slower than matplotlib, 100x slower than Gnuplot.
- leephillips 6y agoThe first time you plot using Plots.jl it will take a long time as it compiles the package, and maybe even has to download things. But subsequent plots should be fast. Unless each time you run the script you are starting over again—but that's not the best way to use Julia.
- smabie 6y agoYou should try compiling an image with PackageCompiler: https://github.com/JuliaLang/PackageCompiler.jl https://github.com/JuliaLang/PackageCompiler.jl.
- hendry 6y agoHow do you actually plot the dataframe? mathplotlib?
- billfruit 6y agoYes, from matplotlib, but much of the work of massaging the data into the right form is done with the dataframe, before calling matplotlib for plotting.
- dima55 6y agoYou can use gnuplotlib to use gnuplot as a plotting backend to visualize numpy data