I love Matlab's plotting functionality, and its open-source clone (Octave) has horrible plotting capabilities.<p>Any other tools out there? How good is something like SciPy for this sort of thing?
I use R (www.r-project.org/) and am generally happy with its plots. The graphing commands have a few quirks, and a lot of non-orthogonal inputs, but it lets you dig in and do things at a pretty low level, in case you want to fine-tune your graphs.<p>One thing I remember fondly from Matlab days, that R isn't so good at, was the ability to grab a handle to a graph axis, and rescale the axis, without starting a new plot. R pretty much forces you to know, from the start, what limits each axis should have.<p>A colleague uses SciPy and is similarly very happy. However, I can't speak about it from personal experience.<p>I've used gnuplot (www.gnuplot.info/) for small tasks (one or two lines on an x-y plot). My general impression is I would find it too constricting for bigger jobs. In particular, R allows me to do a full-fledged analysis and then plot results, while gnuplot pretty much requires you to generate the results externally.
matplotlib (python) is quite good:
<a href="http://matplotlib.sourceforge.net/gallery.html" rel="nofollow">http://matplotlib.sourceforge.net/gallery.html</a><p>another python tool to consider is chaco:
<a href="http://code.enthought.com/projects/chaco/gallery.php" rel="nofollow">http://code.enthought.com/projects/chaco/gallery.php</a><p>matplotlib is ideal for matlab-style iterative plotting. chaco is considerably faster (at least ~1 year ago) as it is specifically designed for creating interactive plots.<p>if you need 3d graphics, consider the mlab library used in mayavi and some other projects. the commands are matlab-like, and it produces very nice graphics using vtk:
<a href="http://github.enthought.com/mayavi/mayavi/auto/examples.html" rel="nofollow">http://github.enthought.com/mayavi/mayavi/auto/examples.html</a>