Monday 3 December 2012

Point and click "Tableau-like" visuals in Mathematica

Tableau is a dominant software for data visualisation. Since about 2009 I have been suggesting Wolfram Research offer a Tableau-like interface for data visualisation. Tableau comes in many forms but includes a web plug-in and an iPad version. Some examples of the visuals can be found here.

As nice as the visuals are there doesn't seem to be anything that couldn't be built with Mathematica. The point lost on many seems to be that commercial users are time poor and do not want to be spending enormous time creating these things -- particularly when an off-the-shelf alternative like Tableau or Spotfire exists. Nevertheless, for the curious, some crude "Tableau-like" functionality can be put together fairly quickly.

Below is a video showing one such feature. The user (left) clicks on a point and a navigation box appears from which they can exclude the point, keep only the point or open a window showing all the data. This window with the data is very crude-- for this exercise I didn't see any point in styling it. Right clicking anywhere in the plot reverts to the original set of data. This sort of feature could be applied to bars, columns, lines and so on.

I didn't take any time to adjust the color function so you will see that as points are excluded the colours change. These sorts of things can easily be corrected. Additionally the navigation box can include functions which link to other coupled plots but for now that is as far as I have gone. I might have a go at making a complete Mathematica version of one of the Tableau examples one of these days.

The video is best viewed as full screen.

  And another video:

Saturday 24 November 2012

Railfreight analysis

A slightly better quality video of my interface to my North American rail freight (MySQL) database described here. I have since changed the graphics and now use interactiveDateListPlot.

Note that the recording was made on a 7 year old 32 bit computer (running Mathematica V8) and some of the operations shown were slowed down by having to run the recording.

Best viewed in full screen mode.

Wednesday 7 November 2012

Dynamic Grids

I've been developing some grids that have some dynamic features that make them more useful than static grids. In the video below you will see a grid that behaves similarly to an Excel spreadsheet with frozen panes. The main difference is the use of openers to nest line item categories. In the video I have replaced actual data with random line item names and random numbers. The actual usage is for each nested child category to add to its parents total. The parent totals are displayed and when you click on the openers the child line items are displayed.

Best viewed in full screen mode.

Wednesday 27 June 2012

Easy button to switch between `Working` and `SlideShow` Screen Environments

There was a question here about having a button in a docked cell to switch between the Working and SlideShow environments in Mathematica. In the notebook linked at the bottom there is code to generate a docked cell that allows you to toggle between the Working and SlideShow environments and also allows to to run the Working environments in full screen mode.

There are instructions on how to turn this into a stylesheet. You can download the Mathematica notebook here.

Legend positioning

Problem: I want to be able to fine tune the positioning of my plot legends.

Solution: Use the legends as a Locator in Mathematica.

Second problem: I want to position the legend outside the graphic. It is easier to use scaled points for locator positioning and these work within the plot.

Solution: Surround your actual plot with an empty graphic that acts as a canvas

Below is an example using a toy legend.

The Mathematica notebook can be downloaded here.

Thursday 7 June 2012

Tabbed content

TabView is good for prototyping interfaces but when deploying you ideally want to make things look a bit better. Here is an example of Mathematica tabs built from the ground up from graphics primitives and event handlers. The application is the creation of a step by step wizard.

(note that the compression used in the video creation hasn't done the crispness of this interface any favours)

Thursday 5 April 2012

Digitizing plots

I recently replied to a question on Mathematica Stack Exchange about digitizing plots. I've added a bit more code to that answer and created a tabbed interface for digitizing plots.

You can download it here. Feel free to make modifications.