Monday, May 20, 2013

Best data visualization tools for the web

For the busy little guy - the recommended products for beginners to create web based visualization are - Tableau and Many Eyes. More details below.

There are many pre-built visualization tools available that one can use to visualize data on a web page. Google Chart Tools supports developing many different types of dynamic charts. It can visualize data from simple line graphs to complex hierarchical tree maps with extensibility to customize their style and look. By utilizing web technologies like SVG, HTML and Javascript, it helps to create interactive visualizations for desktop and mobile platforms. Flot is another Javascript library for building charts. It renders line and bar charts, and supports combining different charts that share data on the same axis. Raphael uses SVG and VML for drawing vectors graphics on a web page. D3 is another popular Javascript library for visualizing data using SVG, HTML and CSS. It supports different types of visualizations including scatter plots, parallel co-ordinates, cartograms, bubble charts and other types of charts. It provides dynamic interactions and animations. Highcharts is a specialized Javascript library for building interactive line, spline, column, pie, bar and other types of charts. It has an extensible API for drawing charts and can export to wide range of formats.

Apart from the web based visualization tools, there are frameworks available to build visualizations for a traditional desktop platform and deploy them on the web page. R is a popular statistical environment. It provides functionality to build complex graphics. RApache can be used to develop web applications based on R. Processing is another environment that is widely used to build visualization. It supports rendering 2D and 3D graphics with OpenGL integration. Projects built using Processing can be deployed to run on a desktop or as a Java applet embedded into web page . Processing.js was developed to allow code to run on any HTML compliant browser. Prefuse provides similar functionality. It offers various tools to build interactive visualizations and supports database connectivity, dynamic queries and animation. It was originally developed for Java but later released as Flare, an Actionscript library, to support deploying visualizations for Flash.

Many Eyes by IBM is another powerful tool to build visualizations. It provides extensibility regarding the format used to store the data, and uses Java and Flash to generate visualization images. It does need JRE to be installed for the browser like some of the other products. Tableau public is another visualization tool. (Note:  The Company recently went public.) It comes with many built-in charts, and provides drag and drop functionality to visualize data. Tableau Public can import data from multiple files or servers. It can automatically generate a visualization deployed on the web page that can be accessed directly by using its URL. It requires no coding for creating simple visualizations. If more advanced visualization technique is required with custom user interface, then Tableau Public may require extra effort.

Appendix
  • Sample done by Many Eyes - http://www-958.ibm.com/software/analytics/manyeyes/visualizations/ted-talk-titles-wordcloud
  • Sample done by Tableau Public- http://www.tableausoftware.com/public/gallery/taleof100