Gnuplot doesn't really shine for speed, or even for being particularly elegant - though I tried to encapsulate and regularize the horror. To be honest, if you're going for speed Prima is a better bet, and in the long run its prospects are pretty darned good. That's why we need to make sure it's present and advertised in the next few releases, IMHO.
On the other hand, Gnuplot isn't horribly slow either. Here are some Q&D benchmarks on my c. 2011 macbook with the fast-pipe patch to gnuplot 4.6. I ran the below subroutine in a loop to collect the data. The green crosshairs is the performance at a million points (about 2.5 sec); the blue crosshairs is the performance at 1 sec (380,000 points).
sub plot_n_points { my $n = shift; use Time::HiRes q/time/; $x = random($n); $y = random($n); $w=gpwin(x11); $t0 = time; $w->plot(with=>'dots',$x,$y); $t1 = time; return $t1-$t0; }

If GNUplot can plot a million points or a 4096^2 image with a delay < 1s and no memory disaster then that would be fast enough for me.
I wish there was a better solution
Karl
On 04/03/2013, at 2:04 AM, Henning Glawe wrote:
On Sun, Mar 03, 2013 at 10:04:45PM +1100, Karl Glazebrook wrote:
I don't know how 'modern' PLplot is. The documentation still talks about Tektronix terminals!
I did some googling, DISLIN seemed the closest but is only semi-frree.
In astronomy people really only use pgplot at the c/f77 level. (At a higher level they use language specific graphics, e.g. IDL, IRAF, Python, sm (!), gnuplot, MMA).
What about other scientific fields? What do people you know use?
In my field (computational quantum physics/chemistry), computation and visualization are usually treated separately. Typically, the actual numerical simulations are very heavy (taking CPU-days or even CPU-weeks on current HPC-Clusters). The visualization is performed in a separate step, where different "classes" of tools are employed: * Special purpuse tools for molecule/crystal visualization, which show: - crystal structures - densities either on cutting planes or as equipotential surfaces Tools belonging to this class are: - xcrysden http://www.xcrysden.org/ - v-sim http://www-drfmc.cea.fr/L_Sim/V_Sim/index.en.html * General-purpose plotting tools with a focus on 2D-visualization: - gnuplot http://gnuplot.sourceforge.net/ - grace http://plasma-gate.weizmann.ac.il/Grace/ * General-purpose plotting tools with more focus on 3D-visualization: - OpenDX http://en.wikipedia.org/wiki/IBM_OpenDX (Official website seems to be down) Learning curve is quite steep, interface is a bit awkward to use (for modern standards) - paraview http://www.paraview.org/ Easier to use than OpenDX; very powerful visualization tool, integrated python scripting support for - sources (data generation) - filters (data processing) - general-purpose macros
Looks dismal. Perhaps the moral is people who put significant effort in to visuals tend to go commercial?
I don't think so. You can get quite good results out of free visualization tools, altough sometimes you may have to tweak the settings a bit. One very good example for this is gnuplot; the default settings have not changed much in the past 20 years (think backwards compatibility), but with some modifications in your gnuplot scripts, plots may look a lot more attractive. This is one of the websites showing how to do this: http://www.gnuplotting.org
For paraview, there are some good examples in the image gallery: http://www.paraview.org/paraview/project/imagegallery.php
Maybe we have to go back to the question what _kind_ of visualization support we need to have available directly within PDL.
In my opinion, a very simple plotting interface used mainly for debugging/development is enough. For anything beyond this, there are really good plotting tools available also as free software, we just need to be able to export data in a format readable by them.
-- c u henning
_______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
|