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;
}



On Mar 4, 2013, at 7:58 PM, Karl Glazebrook <[email protected]> wrote:

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


_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to