Introduction
User Guide
Cookbook
Installation Guide
Sample Analysis Download Demos Blog

Dex : The Data Explorer


Dex

Introduction

Data Explorer, or Dex is a tool for exploring data.

Dex is a JavaFX application which aims to provide a general purpose framework for data visualization.  The basics are easy to learn, however Dex offers advanced capabilities in the form of SQL and groovy transformations.

Dex integrates many excellent visualization frameworks into one consistent GUI package.  This is an early release, so you are likely to find functional gaps for your particular problem space.  In such cases, you are free to extend Dex to suit your needs.

Alternately, you may also forward the request to me in the form of a feature request.  I can be reached at:

patrick145@msn.com

Hopefully you will find it simple to use and powerful enough to solve real world problems.

The Open Source friendly folks at ej-technologies have supplied the Dex project with a free JProfiler license so that we can help ensure that Dex performs well and is as bug-free as possible.  JProfiler is an excellent tool for CPU, thread and memory analysis.


Examples



World Literacy
This is a live demo which depicts the trends over time of the world's nations to achieve literacy.  Each country is represented as a bubble.  The size of the bubble indicates population and it's x/y location is determined by the literacy rates across males and females for the given year.
Life Expectancy
This depicts the lifespan of males and females across nations and across time.  This visualization made me rather sad.  If I were to live in Africa, I'd be nearing the end of my life, statistically speaking.
Trade Balance
This graphs % of GDP which are imports and exports.  Strangely enough, a number of countries exceed their GDP by a large percentage.  I am not sure if this is an error in the world data or not.  Bubble size is the GDP of that nation and the x and y axis are logarithmic to produce greater separation and clarity.
Urban Migration
I jokingly call this the "Hicks vs Slicks" graph.  Here you can see the world slowly migrating towards an urban societh.  I'm not sure where Burundi is, but you're not likely to get good cell phone reception.
Energy Migration
This charts kWh produced from coal versus natural gas, versus total production (bubble size).
The Arms of Nations
This charts military exports and imports versus GDP over time.  Some of the dramatic shifts are scary.
Square Matrix
This is some force layout eye candy.
Presidential Starburst
This starburst categorizes all of the presidents by State, then Party.  It is interesting to see which states have dominated.
Presidential Partition
A partition representation of the presidents.
Presidental Dendogram
A tree of the presidential data.
Presidential Force
A force layout using the presidential data.
Chord Example
This depicts presidents versus party affiliations.

Dex was initially something I wrote in my spare time to perform garbage collection analysis on the thousands of Java Virtual Machines across the company for which I work.  This graphing application was my hello world application to various languages and technologies, and I wrote the analysis program in a number of technology stacks.

Right now you are probably wondering, "Who cares?".  Justifiably so.  The reason that I mention all of this is that when I mapped this effort into a technology stack consisting of JavaFX, Groovy, Java and HTML5, something very special happened.  With a small change here and there, I found that I had created a workflow engine for data acquisition and visualization.  I didn't mean to, it was a kind of weird serendipity.  I could switch languages based on need and gained some very powerful and attractive UI controls from the virtue of having adopted JavaFX.  I started to envision a much larger space for this application to play in.  It was no longer a means to an end, learning new technology and solving specific GC analysis issues.  Rather it was an end unto itself providing value in unexpected places such as visualizations in powerpoint presentations as well as providing a powerful engine for producing what-if scenarios based on various input data.

Previously, I had some level of disdain for Javascript having first used it back in 1996.  However, when I saw the spectacular visualization technologies available to the platform, I knew I had to bridge the Dex application over to it so that I could wrap the brilliance of technologies such as Mike Bostock's D3 (Data Driven Documents), InfoVis and HighCharts just to name a few.