Slashdot Mirror


Data Visualization using Perl/Tk

Idean writes "Generating a visual representation is often the best way to understand large data sets, but standard tools such as gnuplot often fall short. This article shows how to use Perl/Tk, the standard GUI toolkit for Perl, to quickly build custom plotting and graphing tools."

4 of 14 comments (clear)

  1. Use plotting software instead by CompVisGuy · · Score: 2, Informative

    I don't see the point in using Perl and Tk to write you own scientific plotting software. There is already plenty of software out there to do this, and it's better written and tested than anything one would produce in an afternoon with Perl and Tk.

    The last thing you need when exploring large and complex data sets is to find that the code you are using to visualise the data is buggy! Don't roll your own!

    I use Matlab for my work, and it has a fantastic range of scientific plotting features. It's not cheap, but there are some good free/OS packages too:

    Look at:

    gnuplot (http://www.gnuplot.info/)
    KMatplot (http://kmatplot.sourceforge.net/)
    GGobi (http://www.ggobi.org/)
    Gri (http://gri.sourceforge.net/)

    There are others, too.

    I do not consider the data that was used in the example to be complex or large, and I don't see how Perl could help, as numerical processing is certainly not its strength!

    Perl may be useful for massaging data into a form that is accepted by a scientific visualisation package, however.

    --


    "The noble art of losing face will one day save the human race"---Hans Blix
    1. Re:Use plotting software instead by acaird · · Score: 3, Informative
      Another entry in the "good free software for plotting that is like Matlab" catagory (yes, very specific), is Octave.

      From their web site: "GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language."

      --
      Power corrupts. PowerPoint corrupts absolutely. E. Tufte
  2. See also: PDL by bill_mcgonigle · · Score: 3, Informative
    I'll just copy what their homepage says:
    PDL ("Perl Data Language") gives standard Perl the ability to compactly store and speedily manipulate the large N-dimensional data arrays which are the bread and butter of scientific computing.

    PDL turns perl in to a free, array-oriented, numerical language similar to such commerical packages as IDL and MatLab. One can write simple perl expressions to manipulate entire numerical arrays all at once. For example, using PDL the perl variable $a can hold a 1024x1024 floating point image, it only takes 4MB of memory to store it and expressions like $a=sqrt($a)+2 manipulate the whole image in a few seconds.
    It offers both 2D and 3D visualization.
    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  3. much better choices around by penguin7of9 · · Score: 3, Informative

    If you want statistically sound data analysis and graphing, look no further than the R Project. It's a complete programming environment and is extensively used by working statisticians.

    Python, Numerical Python, various Python plot packages, and VTK also make for very powerful visualizations if you want something more do-it-yourself.