Biodiversity Information Science and Standards :
Conference Abstract
|
Corresponding author: Tomer Gueta (tomer.gu@gmail.com)
Received: 23 Sep 2021 | Published: 27 Sep 2021
© 2021 Tomer Gueta, Rahul Chauhan, Thiloshon Nagarajah, Vijay Barve, Povilas Gibas, Martynas Jočys, Rahul Saxena, Sunny Dhoke, Yohay Carmel
This is an open access article distributed under the terms of the Creative Commons Attribution License (CC BY 4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
Citation:
Gueta T, Chauhan R, Nagarajah T, Barve V, Gibas P, Jočys M, Saxena R, Dhoke S, Carmel Y (2021) bddashboard: An infrastructure for biodiversity dashboards in R. Biodiversity Information Science and Standards 5: e75684. https://doi.org/10.3897/biss.5.75684
|
The bdverse is a collection of packages that form a general framework for facilitating biodiversity science in R (programming language). Exploratory and diagnostic visualization can unveil hidden patterns and anomalies in data and allow quick and efficient exploration of massive datasets. The development of an interactive yet flexible dashboard that can be easily deployed locally or remotely is a highly valuable biodiversity informatics tool. To this end, we have developed 'bddashboard', which serves as an agile framework for biodiversity dashboard development. This project is built in R, using the Shiny package (
Core Interactive Components The basic building blocks of every dashboard are interactive plots, maps, and tables. We have explored all major visualization libraries in R and have concluded that 'plotly' (
Field Selector The field selector is a unique module that makes each interactive component much more versatile. Users have different data and needs; thus, every combination or selection of fields can tell a different story. The field selector allows users to change the X and Y axis on plots, to choose the columns that are visible on a table, and to easily control map settings. All that in real-time, without reloading the page or disturbing the reactivity. The field selector automatically detects how many columns a plot needs and what type of columns can be passed to the X-axis or Y-axis. The field selector also displays the completeness of each field.
Plot Navigation We developed the plot navigation module to prevent unwanted extreme cases. Technically, drawing 1,000 bars on a single bar plot is possible, but this visualization is not human-friendly. Navigation allows users to decide how many values they want to see on a single plot. This technique allows for fast drawing of extensive datasets without affecting page reactivity, dramatically improving performance and functioning as a fail-safe mechanism.
Reactivity Reactivity creates the connection between different components. The changes in input values automatically flow to the plots, text, maps, and tables that use the input, and cause them to update. Reactivity facilitates drilling down functionality, which enhances the user’s ability to explore and investigate the data. We developed a novel and robust reactivity technique that allows us to add a new component and effectively connect it with all existing components within a dashboard tab, using only one line of code.
Generic Biodiversity Tabs We developed five useful dashboard tabs (Fig.
bddashboard's five generic tabs: (i) Data Summary; (ii) Data Completeness; (iii) Spatial; (iv) Taxonomic; and (v) Temporal.
Performance and Agility To make a dashboard work smoothly and react quickly, hundreds of small and large modules, functions, and techniques must work together. Our goal was to minimize dashboard latency and maximize its data capacity. We used asynchronous modules to write non-blocking code, clusters in map components, and preprocessing and filtering data before passing it to plots to reduce the load. The 'bddashboard' package modularized architecture allows us to develop completely different interactive and reactive dashboards within mere minutes.
biodiversity informatics, Shiny, bdverse
Tomer Gueta
TDWG 2021
Israel Science Foundation (grant 127/16)
Technion’s Blumenstein family fund
Google Summer of Code program