Gnuplot, a perfect tool for datascience?
I'm a graduate student beginning Torch7 and Lua for training a convolutional neural network on a large number of images. During this process, I have to monitor some learning curves. Thereby I searched on google some libs able to plot easily many things (for instance covariance matrix). The only tool I found in torch was https://github.com/torch/gnuplot
Obviously gnuplot is crossplatform able to generate professional diagrams (even to latex). Otherwise, I have a pythonic background and I was using matplotlib instead of some gnuplot wrappers such as http://gnuplot-py.sourceforge.net/
Do you think that using gnuplot as a main lib to plot things is a good idea ? It is a major pain. Try "R". It is nearly entirely engineered toward proper handling of data. Exploratory Data Analysis (EDA) is so fundamental to the stats folks who make R that NIST dedicated a good chunk of their manual to it. (http://www.itl.nist.gov/div898/handbook/eda/eda.htm) Rstudio is nice. ggplot2 is excellent. That is 6 years old. Some of the comments describe how matplotlib was only just then getting 3D support. Matplotlib has of course had a lot of development since then. Also, the tools do not stand alone. The integration between pandas, matplotlib, and ipython is much greater than using gnuplot instead of matplotlib for the same situation. Even if matplotlib doesn't handle a specific task (http://glowingpython.blogspot.com/2012/10/visualizing-correl... shows an example of plotting a correlation matrix, and one of the commenters points to http://wiki.scipy.org/Cookbook/Matplotlib/HintonDiagrams ; "Hinton diagrams are a way of visualizing numerical values in a matrix/vector, popular in the neural networks and machine learning literature"), it's important to evaluate how hard is it to add that task to have the advantage of being on the well-trodden paths of Python tools. Use whatever's most convenient and good enough, sometimes that's gnuplot, sometimes that's matplotlib, sometimes that's ggplot, sometimes that's some javascript thing.