Visualization Frameworks – A List

Visualize Your Visualizations

Visualization has come into vogue in the past years.  Historically this was the world of straight reporting and key performance indicators.  This is not the case now.  FlowingData has brought interactive data analysis to the forefront.   This is due to the ability for us to process massive amounts of data and the uptake in what I like to call fluid  data systems.  If you have seen the books Beautiful Visualization, Data Analysis or Visualize This then you know there are several choices of frameworks and libraries to choose from in this area.  As of late I have been asked a ton of questions about what/why/when of these libraries so I decided to put them all in one place.  While no means comprehensive (e.g. I didn’t include Haskell, MATLAB,’R” et al) Here is the list.  Hit me up if you find something else as I will keep a running list.

Axiis

http://www.axiis.org/index.html

Although Axiis claims open source Flex is not open source. Axiis is an open source data visualization framework designed for beginner and expert developers alike.  Whether you are building elegant charts for executive briefings or exploring the boundaries of advanced data visualization research, Axiis has something for you. Axiis provides both pre-built visualization components as well as abstract layout patterns and rendering classes that allow you to create your own unique visualizations.

Axiis is built upon the Degrafa graphics framework and Adobe Flex 3.

Prefuse:

We have used prefuse in the past and it is very flexible.  JAVA based and can be modified to run extremely efficient.  That said one must have a programming background.

Prefuse is a set of software tools for creating rich interactive data visualizations. The original prefuse toolkit provides a visualization framework for the Java programming language. The prefuse flare toolkit provides visualization and animation tools for ActionScript and the Adobe Flash Player.

Prefuse supports a rich set of features for data modeling, visualization, and interaction. It provides optimized data structures for tables, graphs, and trees, a host of layout and visual encoding techniques, and support for animation, dynamic queries, integrated search, and database connectivity. Prefuse is written in Java, using the Java 2D graphics library, and is easily integrated into Java Swing applications or web applets. Prefuse is licensed under the terms of a BSD license, and can be freely used for both commercial and non-commercial purposes.

The visualization gallery and demonstration video provide numerous examples of the types of applications that can be built with the prefuse toolkit.

http://prefuse.org/

Protovis:

Protovis composes custom views of data with simple marks such as bars and dots. Unlike low-level graphics libraries that quickly become tedious for visualization, Protovis defines marks through dynamic properties that encode data, allowing inheritancescales and layouts to simplify construction.

Protovis is free and open-source, provided under the BSD License. It uses JavaScript and SVG for web-native visualizations; no plugin required (though you will need a modern web browser)! Although programming experience is helpful, Protovis is mostly declarative and designed to be learned by example.

http://mbostock.github.com/protovis/

JavaScript InfoVis Toolkit:

The JavaScript InfoVis Toolkit provides tools for creating Interactive Data Visualizations for the Web.

The toolkit implements advanced features of information visualization like TreeMaps, an adapted visualization of trees based on theSpaceTree, a focus+context technique to plot Hyperbolic Trees, a radial layout of trees with advanced animations -called RGraph and other visualizations.

In November 2010 the toolkit was acquired by the Sencha Labs Foundation.

http://thejit.org/

Processing:

Processing.js is the sister project of the popular Processing visual programming language, designed for the web. Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins. You write code using the Processing language, include it in your web page, and Processing.js does the rest. It’s not magic, but almost.

http://processingjs.org/

JGraph:

While more of a diagraming solution than a visualization mxGraph/JGraph is used in conjunction with the Swing library.  JGraph has been providing leading diagramming software components since 2001, first with ever popular JGraph Swing library, then in 2006 with the leading edge development of mxGraph.  The libraries are designed to drop in and offer you the complete range of functionality required to add complex diagramming to your application or web site.

http://www.jgraph.com/mxgraph.html

Flot:

We have had good experiences with Flot. It is fast and flexible with low overhead.  Flot is a pure Javascript plotting library for jQuery. It produces graphical plots of arbitrary datasets on-the-fly client-side.  The focus is on simple usage (all settings are optional), attractive looks and interactive features like zooming and mouse tracking.  The plugin works with Internet Explorer 6+, Firefox 2.x+, Safari 3.0+, Opera 9.5+ and Konqueror 4.x+ with the HTML canvas tag (the excanvasJavascript emulation helper is used for IE < 9).

http://code.google.com/p/flot/

MatPlotLib:

If your into snake charming and use Python then MatPlotLib is for you.  While the installation is not straightforward the flexibility is there from a user perspective.  I see a huge uptake in this library and personally use it.

http://matplotlib.sourceforge.net/

CorePlot

This library works extremely well for development on the iPhone.  If you need a complete graphing functionality that is cost effective download this lib.

Core Plot is a plotting framework for Mac OS X and iOS. It provides 2D visualization of data, and is tightly integrated with Apple technologies like Core Animation, Core Data, and Cocoa Bindings.

http://code.google.com/p/core-plot/

philoGL:

This is a derivative of the InfoViz libs from sencha .  I do not know much about them but it looks very useful.

http://senchalabs.github.com/philogl/

Tulip:

Written in C++ the framework enables the development of algorithms, visual encodings, interaction techniques, data models, and domain-specific visualizations. One of the goal of Tulip is to facilitates the reuse of components and allows the developers to focus on programming their application. This development pipeline makes the framework efficient for research prototyping as well as the development of end-user applications.  They have libraries for several implementations (Python,Open GL etc).

http://tulip.labri.fr/TulipDrupal/

GGOBI:

We tried out ggobi a long time ago.  While it does appear noteworthy we opted not to utilize it on the respective project.  GGobi is an open source visualization program for exploring high-dimensional data. It provides highly dynamic and interactive graphics such as tours, as well as familiar graphics such as the scatterplot, barchart and parallel coordinates plots. Plots are interactive and linked with brushing and identification.

http://www.ggobi.org/

Mondarian:

Mondrian is a general purpose statistical data-visualization system. It features outstanding interactive visualization techniques for data of almost any kind, and has particular strengths, compared to other tools, for working with Categorical Data, Geographical Data and LARGE Data.

All plots in Mondrian are fully linked, and offer many interactions and queries. Any case selected in a plot in Mondrian is highlighted in all other plots.

Currently implemented plots comprise Histograms, Boxplots y by x, Scatterplots, Barcharts, Mosaicplots, Missing Value Plots, Parallel Coordinates/Boxplots, SPLOMs and Maps.

Mondrian works with data in standard tab-delimited or comma-separated ASCII files and can load data from R workspaces. There is basic support for working directly on data in Databases (please email for further info).

Mondrian is written in JAVA and is distributed as a native application (wrapper) for MacOS X and Windows. Linux users need to start the jar-file.  It is heavily used and leveraged against ‘R’.

http://rosuda.org/mondrian/

Once again while this is not a comprehensive list it is more than adequate to get your feet wet in the world of visualization and datascience.  One of the most salient things you can do for your self is a little scripting or programming.  Also a little math doesnt hurt either.  So do not be scared of a summation sign.  Dust off those old stat books and get to it then you can start delving into more advanced topics in BigData.

Until Then,

Go Big or Go Home,

@tctjr

In Memoriam – Steven Swenson March 13, 1967 – September 11, 2005

Sven To You


Most will consider 9/11  as remembrance of an atrocity that occurred within our nation.  Some cried.  Some died. Some cheered.  I think 9/11 as it is commonly known within the vernacular and as “The Event”, was a pathetic display of religion and government gone awry.  I personally know people who made it out of the towers – they are near and dear to me.  Their stories are gut wrenching.  Running till they puked with bodies flying like rain, splattering on pavement, with an additional hailstorm of aviation gas, fumes and concrete.   Yet in elite fashion the people that I know rebuilt their lives both in terms of monetary success, physical and mental performance.

That said I know September 11 as another day. Over the years since September 11, 2005  I continually think about my comrade at arms: Steven Swenson (aka Sven).   For those that do not know he died in a free diving accident in Costa Rica on this day in 2005.  Many will say that one should “move on” and forget.  Yet I say Time can be crystallized much like a wound that is cauterized with high heat.   Time is a construct –  we can stop time at a moment of our affinity – surrounding yourself with what you enjoy.  Many of you who “follow” my blog, tweets or facebook pages will have a succinct understanding of my views on life.  The elite perform.  There are no free lunches and the aspects of Lex Talionis are alive and well at certain echelons of life for those that love the game within the game.

I am continually asked about proverbial secrets of success and tales of certain times in my life  – especially when a group of us banded together during the hay day of silicon valley (then not now).

Loose lips sink ships and dead pirates tell no tales.  There are many tales that will never be told as half of them went to the watery abyss with Sven.   Given his favorite hobby was free diving his ‘relaxation’ was focused around pushing limits and boundaries.  Most of our copious free hobby time was usually spent in some discussion of philosophy, math,music or making money.  He was the most intense nihilist that loved life and living “the great indulgence” more than anyone I knew.  He continually said Schrodinger cat is eviscerated not just dead.  His computer science skills are now tales of valley folklore.  He read hexadecimal like a Dr. Suess book.  He was also a very well trained martial artist and an obvious waterman.

Yet I will tell a tale that I remember as it were last week.

Late one night we were involved in a marathon session of billiards  on the “purple monster” as we affectionately called my 9 foot purple tiger maple table.

We had a song list in rotation using some software that we created or were testing and laughing how stupid it was to be making money –  making something so stupid.  Yet I digress.  On the playlist came Jimmy Buffet’s “That’s What Living Is To Me” which is based on Following The Equator by Mark Twain,  of which both Sven and I would incessantly  discuss  how Mr. Samuel Clemmons was so beautifully scathing with pen and word.  We turned the song up extremely loud and he was screaming the following stanza:

“Be good and you will be lonesome

Be lonesome and you will be free

Live a lie and you will live to regret it

That’s what living is to me”

So while this isn’t some prurient, lurid or debauched tale, it reflects many salient aspects of why I miss my comrade.  He despised liars and loved life, as well as being extremely responsible.

One should never tell enemies anything, tell your friends everything and assume enemy until proven otherwise.  Sven proved himself a true friend of like mind and for me there are few  – as I prefer quality over quantity.

I recently had supper with his beautiful wife and two handsome sons.  Amazing the older one looked just like him and the younger one was asking me technical programming questions (still a youngster) in the same cadence as SVEN.  They were arguing with each other in the same point-counter point as their dad.  I answered patiently and as best I could intently looking and listening to both of them.

I was attempting to catch that cauterized timeline, that time crystallization and for a brief instance – a flash: my comrade was there.

With that I will leave with you a quote, a Sven assertion and a song dedicated to my comrade:

“With heart and hand I pledge you while I load my gun again, you will never be forgotten or the enemy forgiven, my good comrade.”

~ Dr. A. Lavey

 “Mediocrity is NOT an option!” ~ Steven Swenson

Comrade, by Blood Axis.

 [youtube=http://www.youtube.com/watch?v=mQAOAWD91sI]

ALL HAIL THE SVEN!