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."

8 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 spencerogden · · Score: 3, Insightful

      "and I don't see how Perl could help, as numerical processing is certainly not its strength!"

      Have you explored PDL (piddle)? I find it to be a very powerful way to manipulated datasets.

    2. 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. Re:Perl or Line Noise by Phillup · · Score: 3, Insightful

    And how did your control group do?

    What language was Perl compared to using this methodology?

    Did the test subjects have experience with Perl? And, what of the control group?

    Perl is different, no doubt about it. But, it doesn't *have* to look like line noise.

    --

    --Phillip

    Can you say BIRTH TAX
  3. 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)
  4. Re:Perl or Line Noise by el-spectre · · Score: 2, Insightful

    If you're a good programmer, you can read the line noise.

    At the same time, a good perl hack wouldn't write unreadable code. I often rewrite a complex operation, breaking it into 3 or 4 step, out of courtesy to the poor schmuck who has to maintain the code.

    --
    "Faith: Belief without evidence in what is told by one who speaks without knowledge, of things without parallel." - A.B.
  5. Statistical Data by neglige · · Score: 4, Interesting

    Examples of complicated graphs include specialized bar-and-whiskers plots

    I had to cope with box-and-whisker plots to visualize data gathered from a statistical survey. Frankly, Perl/Tk was nothing I looked into (and I love Perl & Tk!). I entered the data into an OpenOffice spreadsheet (which made the statistical calculation very easy!) and googled for a solution. There are many commercial packages available for Excel, but this article was really helpful. I managed to create a similar solution for OO (I'm not sure if the result is of interest to anyone - if so, msg me or something).

    Does anyone know a repository for statistical analysis programs? Because if you only need to run an analysis once, you think twice about hacking a Perl/Tk program (the 'clean' approach) unless you are a true Perl wiz - the time needed to write the program is (with my programming abilites) two or three times longer than looking for another one shot solution (the 'practical' approach).

    If there was a central repository for this, you a) knew where to look first and b) had an incentive to write the program to save someone else the time. Yes, I know I could put it up to some website, but I really doubt anyone would find it or even look for it...

    --
    My cats ate my karma. They also wrote this comment.
  6. 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.