Closed hudson-newey closed 1 year ago
@atruskie I have looked into our options for graphing libraries and have decided that Plotly.js is my preferred library for graphs Angular GitHub repo
This is because:
My full justification and notes for and against each library can be found here
From a short time experimenting with both libraries I have found that from a technical stand point: Vega Lite is by far the best option except that we have to use @ViewChild
and it might not automatically update on change detection cycles (). It's downsides is that graphs will require some custom styling to match the theme.
However, plotly does have more benefits to users as it fits our theme more closely, and has UX features (e.g. users can scroll and zoom into plots) that Vega does not. However, I believe it is not worth the trade off as we can still style Vega Lite to match our theme, while we cannot remove the branding that comes with plotly, or style it in any meaningful way.
I've attached images of both libraries below
Vega-lite:
Plotly
The ecoacoustic summary reports now include graphs & timelines
As we do not currently have a library in the client to handle graphs, we should investigate and evaluate our options.
Evaluation metrics should be on:
Some potential options out of the gate (that need to be evaluated) are swimlanes ngx-charts
D3
Plotly.js
Chart.js