[ Skip to content]

Science and Engineering at The University of Edinburgh

School of GeoSciences

Personal Home Pages

Scientific graphics languages

The team I work in has used IDL for processing and displaying data for many years. IDL is good, but is not Free Software and costs a lot of money. There is no free direct substitute for IDL, but there are various packages which will do some of the things that IDL does.

Stand-alone scientific graphics languages

  • The R language -- a free implementation of the S language popular with statisticians.
  • Yorick Nice little language, like interpreted C with graphics. Interesting graphics model. Development was static between 2002 and 2005 but has since moved to sourceforge and got re-started.
  • GDL An embryonic free clone of IDL
  • ANA More IDL-like than the others (except GDL). This link is sometimes down and ANA has not been updated since 25 September 2000, so the future of ANA is a bit unclear.
  • Octave A free clone of Matlab
  • Freemat New kid on the block and another Matlab clone
  • Rlab

I think that R and Yorick are the best of this bunch: I compare them in more detail.

Scientific classes for Java

I'm just starting to learn java, so I don't yet have an opinion about these. Suggestions for additions welcome.

Scientific add-ons for popular scripting languages

  • PDL 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. Annoyingly, the 2-D graphs are based on the not-very-free PGPlot package.
  • SciPy is an open source library of scientific tools for Python.

Other alternatives which are not quite Free Software

Graphics tools that are not scripting languages

  • plplot A plotting libary callable from Fortran or C.

HDF5 Support

It is important for us to have a language which can read HDF5 files directly. To my knowledge, this means

  • R. The hdf5 module is under active development. You may be able to get an unreleased beta from ftp://ftp.santafe.edu/pub/swarm/src/testing/hdf5_x.x.x.tar.gz. I'm working on this myself -- you can find my latest effort here
  • Octave. You need to build the latest version from the 2.1 series to get HDF5 support (it was added at version 2.1.31).

Maps

IDL has the ability to put points, contour plots etc. on maps of the world (or parts thereof). None of the free tools can do this mentioned above can do this (although I have tried to hack something together for Yorick).

A free tool which can produce such maps (and produce them beautifully ) is GMT. GMT is not a data language like R, Yorick etc. It is set of programs that you run from the shell prompt or a shell script. A quick hack to get maps from R is to have it write out a suitable shell script that calls some GMT programs. GMT can produce only one sort of output: postscript. If you want anything else (on-screen included) , you have to use ghostscript/ghostview/gv.

Another free tool that does maps, but has a rather different set of aims is Tkgeomap. This is a set of geographical and cartographical extensions to Tcl scripting language and the associated Tk GUI toolkit.

© School of GeoSciences --- Last modified: 13 Mar, 2009 --- Page contact: