Data visualisation

From pro-iBiosphere Wiki
Jump to: navigation, search

Background

See our task group entry for the background to this task.

Log

Day 2, Tuesday

Serrano is looking at Piwik that comes with a great data visualization dashboard, which includes interactive Javascript and HTML5 canvas based graphs and charts. Piwik uses jqPlot to display these plots, which is a free (MIT and GPL2 licensed) jQuery plugin. It should be possible to load data from CSV files and display this data with jqPlot.

Serrano and David started testing jqPlot to see what it is capable of. So far it seems that jqPlot can do most of the plotting that is required to implement the dashboard design that Jeremy shared in the slideshow. Freely available JavaScript libraries like OpenLayers or Leaflet could be used to plot data on a map.

Guido has been busy, quickly building a proof-of-concept statistics view for GoldenGATE. As a web page, http://plazi.cs.umb.edu/GgServer/srsStats?groupingField=taxonomicNameFamily&groupingField=checkinYear , and as a downloadable CSV, http://plazi.cs.umb.edu/GgServer/srsStats?groupingField=taxonomicNameFamily&groupingField=checkinYear&resultFormat=csv&separator=%2C .

Day 3, Wednesday

09:15

  1. Guido progressing ever more views of the statistical data, especially adding enhancements to the basic query options to enable grouping and ordering of results. Having to make some design decisions in Jeremy’s absence, so here will be one line comments at the appropriate place in the code where such decisions have been made.
  2. Serrano completed first draft of dashboard UI using sample, static data covering most of Jeremy's design choices. Only the map to do now, and then we'll have a complete front-end.

09:45 - Another jQuery plug-in seems to be the answer to delivering maps in the dashboard: jVectorMap.

10:20 - Serrano and David having some time out helping Ross with his question about inverting images. See http://t.co/VOpzJ0UTzt.

15:00 - Working on reading remote data only JavaScript files as a means of moving results around across domains.

end of day - We have a mock up of the dashboard meeting all of Jeremy's requests albeit with static data. Meanwhile the export options continue to grow: not only to more than cover Jeremy's requests but more fields too, and the data will be exported in a variety of formats from formal Excel for personal visualisation to JSON format for direct use in the dashboard. Our primary goal now is to link these two components.

Note This dashboard will find a home at Plazi after the hackathon. We have sustainability.

Day 4, Thursday

Like most, an interrupted day owing to internet issues, a special concern when trying to download several megabytes of data from GoldenGATE servers. Ho hum!

By the end of the day we have:

  • a complete download service with the necessary grouping and aggregation options to meet Jeremy's requirements where that data is available within GoldenGATE
  • pending data availability, more deployment options so that the graphs can be run locally using AJAX to retrieve data or remotely using a hack to read remote javascript files for their javascript object contents.

Day 5, Friday

Tidying up day:

  • Testing and tweaking the statistics queries.
  • Testing and tweaking the data visualisation component (i.e. dashboard) now we have real data to use. The dashboard now uses CURL from a PHP script to obtain JSON data from the Plazi server. This JSON data is processed by the PHP script, which then returns JSON data in the format that jqPlot understands.
  • Documenting the outputs and how to use them.