Important to note is the ability of a package to transform data from your program.
For instance, many plotters also include a spreadsheet with macros. When a program
makes a figure, can you interact with it by rotating it or change colors in an interactive
way? How could your program send data directly to the visualization? There is often
little sense in storing hundreds of data files or hitting the Open button a thousand
times.
Ease-of-use is something everyone looks for. The simplest package can be the best
choice. The most rough compartmentalizing of visualization packages might put them
in five categories:
- Turnkey - Point and click graphing
-
These are applications whose user-interface is either point-and-click with windows
or a simple command-line. There is little or no programming involved, and you interact
with the data as scientific information, not graphics entities.
- Spreadsheets - Surprising power and ease
-
Excel and others can solve differential equations and perform complex transformations
while documenting data sources.
- Symbolic Math - Keep calculations with graphs
-
These applications are built to perform standard calculus functions and more, but
they often can integrate compiled code and take guesswork out of data transformation
and display.
- Application builder - Graphical languages for custom applications
-
These are windowed applications within which you create pipelines to process your
data. The application offers you a set of modules which transform their inputs to
outputs, and you string them together to make the display you want. These are some
of the most powerful tools available because they offer both speed and expressiveness.
- Libraries - Roll your own, control theirs
-
There are two kinds of libraries for visualization. There is a variety called scene
graphs where you program in C++, typically, and build a tree of objects which are
then displayed for you. The lowest-level graphics libraries are OpenGL and DirectX
where you draw every shape yourself.
Most applications now seem to want to do it all, so they rarely fall squarely in
one of these categories. Turnkey plotters include spreadsheets with macros or their
own command languages. Low-level libraries often have slightly more high-level libraries
on top which provide powerful interfaces to scripting tools. This module will categorize
visualization tools with their strongest suit, where possible.