# Recommended visualization libraries for standalone applications

Which visualization libraries (plots, graphs, ...) would you suggest to use in a standalone application (Linux, .Net, Windows, whatever). Reasonable performance would be nice as well.

• What do you mean, standalone application? Jul 20, 2010 at 6:05
• By standalone application I mean an executable program. Jul 20, 2010 at 6:32

The Visualization Tool Kit VTK is pretty impressive for 3D visualizations of numerical data. Unfortunately, it is also pretty low level.

Graphviz is used pretty extensively for visualizing graphs and other tree-like data structures.

igraph can also be used for visualization of tree-like data structures. Contains nice interfaces to scripting languages such as R and Python along with a stand-alone C library.

The NCL (NCAR Command Language) library contains some pretty neat graphing routines- especially if you are looking at spatially distributed, multidimensional data such as wind fields. Which makes sense as NCAR is the National Center for Atmospheric Research.

If you are willing to relax the executable requirement, or try a tool like py2exe, there is the possibility of leveraging some neat Python libraries and applications such as:

• MayaVi: A higher level front-end to VTK developed by Enthought.

• Chaco: Another Enthought library focused on 2D graphs.

• Matplotlib: Another 2D plotting library. Has nice support for TeX-based mathematical annotation.

• Basemap: An add-on to Matplotlib for drawing maps and displaying geographic data (sexy examples here).

If we were to bend the concept of "standalone application" even further to include PDF files, there are some neat graphics libraries available to LaTeX users:

• Asymptote can generate a variety of graphs, but its crown jewel is definitely the ability to embed 3D graphs into PDF documents that can be manipulated (zoomed, rotated, animated, etc) by anyone using the Adobe Acrobat reader (example).

• PGF/TikZ provides a wonderful vector drawing language to TeX documents. The manual is hands-down the most well-written, comprehensive and beautiful piece of documentation I have ever seen in an open source project. PGFPlots provides an abstraction layer for drawing plots. A wondeful showcase can be found at TeXample.

• PSTricks served as an inspiration for TikZ and allows users to leverage the power of the PostScript language to create some neat graphics.

And for kicks, there's DISLIN, which has a native interface for Fortran! Not open source or free for commercial use though.

• I tend to use some more than others- the tool I use most often for visualization is R and associated packages, but I left it off of this list because there is no easy way to compile R scripts to stand-alone "executables" that the OP wanted. I can't really claim a single favorite- I would have to say it depends on 1) The task at hand and 2) The tools I am using Jul 25, 2010 at 20:26

There is always lovely gnuplot:

Gnuplot is a portable command-line driven graphing utility for linux, OS/2, MS Windows, OSX, VMS, and many other platforms. The source code is copyrighted but freely distributed (i.e., you don't have to pay for it). It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by third-party applications like Octave. Gnuplot has been supported and under active development since 1986.

Gnuplot supports many types of plots in either 2D and 3D. It can draw using lines, points, boxes, contours, vector fields, surfaces, and various associated text. It also supports various specialized plot types.

You could have a look at Processing: http://processing.org/

If you can use R try ggplot2.

For visualizing graphs in a Java/SWT environment, check out Zest: http://eclipse.org/gef/zest

There is also Gephi for plotting social networks.

(p.s: Here is how to connect it with R)

For javascript protovis (http://vis.stanford.edu/protovis/) is very nice.

Might be a bit narrow in scope, but if you're doing any work in Clojure on the JVM there's the excellent Incanter:

Incanter is a Clojure-based, R-like platform for statistical computing and graphics.

• More specifically, the asker may be interested in JFreeChart which powers a lot of Incanter graphics. Jul 22, 2010 at 3:23

I've used ZedGraph for .NET. It's open source, and supports all common 2D chart types.

Unfortunately, it only runs on macs, but otherwise a great application (basically Processing in python):

NodeBox is a Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie. NodeBox is free and well-documented.