5 ms·
I use gnuplot heavily. It was good 20 years ago, and it's good today. The problem with people rewriting the wheel, is that every new wheel misses lots of featur
by dima55 10y ago
I use gnuplot heavily. It was good 20 years ago, and it's good today. The problem with people rewriting the wheel, is that every new wheel misses lots of features from the tool they're trying to replace, and does many things differently for no good reason. The efforts of the matlotlib, ggplot2 (and so on) would have been much more usefully spent contributing to gnuplot. Instead we have a large number of half-assed tools instead of 1 truly great one.
- cvwright 10y agoI guess I have to disagree. > It was good 20 years ago, and it's good today. I wasn't using such things 20 years ago, but 10 years ago gnuplot was a crufty relic and a right pain in the bum to use for anything beyond the most basic of plots. Together with LaTeX, it was one of the things that made getting into CS research much more difficult than necessary. We need fewer barriers to entry in this field, not more. Also, a fun fact: gnuplot is not GNU. It has this weird custom license that disallows distribution of modified versions and is incompatible with the GPL. http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright?view=markup http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright... I used to wonder how something so old could be so bad, and how newer projects like matplotlib managed to race ahead of it. I think the license explains a lot. Edit: I should add - if gnuplot works for you, more power to you! Use what works. But I've been much happier since I discovered matplotlib in about 2006.
- dima55 10y agoYou can distribute the modifications in patches; i.e. what all the distros already do anyway. As for matplotlib, there's no reason at all for it to be making plots. It just needed to provide a plotting interface to numpy, and the backend is almost irrelevant. They could EASILY have reused existing tools for the backend, and contributed upstream to fix whatever deficiencies they thought existed.
- jofer 10y agoNo. The whole point of matplotlib is interactivity and embedability in GUI toolkits. There was nothing else that meet those criteria in Python at the time, and the other options were GUI toolkit specific. Try finding something else that you can seamlessly embed in Tk, Gtk, Qt, Wx, etc with full interactivity that still creates publication quality static plots.
- deleted 10y ago[deleted]
- nzjrs 10y agoNope. For reference the whole point of mpl was a numpy backed plotting library which was easy to switch to from matlab - hence the gross plt.xxx api for matlab compatibility. That it was relatively toolkit agnostic was a choice to help it's adoption, but as matlab interactivity was basically only hover showing values, so was mpls initially.
- exDM69 10y ago> Together with LaTeX, it was one of the things that made getting into CS research much more difficult than necessary I'm sad you feel this way because I've really enjoyed working with GNUplot and Latex. Sure it has some warts but it generally works well. I might have a test or benchmark that produces results, a GNUplot script to plot it and a Latex document it's embedded to. The whole process from source code to PDF is automated, change the benchmarks, run make and you have a report. Sure there are more user friendly alternatives, or apps that work better in interactive mode, but imagine doing the workflow above using, say, Excel and Word. Or Matplotlib and Google Docs.
- dash2 10y agoOr R and knitr. Oh, wait...
- _Wintermute 10y agoThen you're tied to R, I can see the appeal of language agnostic tools.
- cvwright 10y agoMy experience is very different for LaTeX. The learning curve was huge, but it's totally paid off. I can't imagine writing papers in anything else. 10 years ago I was running experiments using Python code that wrote gnuplot scripts and LaTeX tables. Now I cut out the middle man, and the Python scripts make the graphs themselves.
- srean 10y agoThis another demonstration how people can differ. A specific reason I liked gnuplot was the ease with which I could integrate it in my code, latex and xfig workflow. In fact that was perhaps the only thing that I liked about it.
- scott_s 10y agoI switched to matplotlib a few years after you, but I agree. Once I did, I never wanted to go back. I find matplotlib a pleasure to use, whereas I felt like I was always fighting gnuplot.
- has2k1 10y agoGnuplot interface is a little dated, so custom visualisations are not so easy yet many disciplines today have a bunch of them. This should not have been a problem but it is because the gnuplot licence makes it unforkable and that discourages contributions. Contributions -- that would allow it to evolve, e.g into a base package (API) onto which other plotting packages could be built. I think this would be an irresistible allure since gnuplot is in my experience the fastest plotting package out there.
- capnrefsmmat 10y agoggplot2 does things differently for several good reasons -- for example, by rebuilding the interface around the grammar of graphics, making construction and composition of plots much more coherent. http://vita.had.co.nz/papers/layered-grammar.pdf http://vita.had.co.nz/papers/layered-grammar.pdf
- julienchastang 10y agoGood points, but the thing about matplotlib is it's Python so you have an integrated solution for scientific data analysis and visualization. Instead of having 10 different tools, you have one. Still, I find the plots on the gnuplotting site to be quite impressive -- at least as good as matplotlib. (I end up using both, gnuplot -- b/c of emacs integration -- and matplotlib.)