New aggregated visualization #13

Closed
alexprengere opened this Issue Mar 15, 2013 · 3 comments

Projects

None yet

1 participant

@alexprengere
Member

Currently we have two visualizations using the browser:

  • the map display with --map, which also triggers a visualization using dataTables
  • the graph display with --graph

The map display uses every single element in the data to draw lines and icons, and so does the table view with dataTables.
The graph display computes nodes and edges given the node fields.

It would be nice to have a general aggregated view of the data. We could use highcharts or d3 to display information on each field.
This could be integrated as a new option, of just added as a new tab triggered with --map, just like the table view.

This visualization could look at the data and display a bar chart for every available field at first. A more complex solution could detect numeric fields and provide a specific chart for those.

@alexprengere
Member

I pushed a first draft for this idea. I called it the dashboard. You can access it with -d/--dashboard.

$ GeoBase --dashboard

What it does

It displays field information with a bar chart for the considered keys. Currently the chart height is the number of elements, but it is possible to define a custom weight using the Python API, for example the page_rank.

For those interested, I used:

  • bootstrap to produce this grid layout
  • d3 and nvd3 to handle the bar charts

Simple example

Like any other display, you can use it as a frontend for queries.

$ GeoBase --near ROM --dashboard

image

Example with data from stdin

Like any other frontend, you can combine it with data from stdin.

$ cat edges.csv
A,B
A,C
D,A
$ cat edges.csv | GeoBase --dashboard # try --graph :)

example_dashboard

@alexprengere
Member

This may the right opportunity to say this :). You may now configure the output directory for temporary files with the output_dir option for any visualization method like visualize(), graphVisualize(), dashboardVisualize().

From the command line interface, use -D/--output-dir. For the version 5 (already released), the default is still None, meaning temporary files are created in the local directory, but for the next version, the temporary files will always be located in a separate directory.

This has already been implemented in the develop branch, where temporary files are stored in a local tmp/ directory (this may change again before the official release).

@alexprengere
Member

Some news on the dashboard front.

Output directory configuration

You may now configure the dashboard with -D/--dashboard-options. Output directory for temporary files is now -o/--output-dir.

Densities

The dashboard now automatically detects numerical columns and display appropriate densities.

$ cat data.csv
A 1
B 2
A 2
$ cat data.csv | GeoBase --dashboard

density_example

Time series

Columns containing time stamps are also detected, and time series are displayed.

$ cat data.csv
2012-12-10 A
2012-12-17 B
2012-12-19 B
$ cat data.csv | GeoBase --dashboard

time_series_example

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment