A plotting framework will be integrated within the webapp to visualize the experimental data. Initially, this will handle single variables from one experiment, but it will be designed to be easily expandable in the future with new functionality. This task will code all the relevant backend to easily create plots and deploy them in the public front end on demand.
Tools
Dash/Plotly will be used for this as it offers a rich set of options for interacting with the plots.
~Django-Dash seems likes a nice and simple way of doing this, but its features will need to be reviewed in detail. It is also GPL/LGPL, so we need to check the licence they want to give to Liionsden.~
~Django-Plotly-Dash also looks appropriate, and it is MIT, so potentially more convenient.~
Individual tasks
Implement the relevant business logic to create the relevant plots. This will be broken down into sub-tasks below of individual issues here once we know what is required.
Individual issues:
[x] Voltage/Time and Current/Time on the same plot.
[x] Need logic to detect which columns are which.
[x] Need add voltage tick marks on one end of the y axis and current on the other end.
[x] Voltage/Time and Temperature/Time on the same plot.
[x] Need logic to detect which columns are which.
[x] Need add voltage tick marks on one end of the y axis and current on the other end.
~Capacity vs cycle number is a "nice to have" so shouldn't be tackled at the same time as the above. Requires some extra processing to detect the data points to plot from the data.~ Moved to separate issue.
Potential blockers
[x] Needs investigating: In the current view, tables have different headings for different the same parameter depending on the parser. e.g. Volts vs Ecell/V for maccor vs biologic. These are mapped to common parameters when parsed so is this information retained? Is the parser needed again to map the ts_columns field back to parameters?
Background
A plotting framework will be integrated within the webapp to visualize the experimental data. Initially, this will handle single variables from one experiment, but it will be designed to be easily expandable in the future with new functionality. This task will code all the relevant backend to easily create plots and deploy them in the public front end on demand.
Tools
Dash/Plotly will be used for this as it offers a rich set of options for interacting with the plots. ~Django-Dash seems likes a nice and simple way of doing this, but its features will need to be reviewed in detail. It is also GPL/LGPL, so we need to check the licence they want to give to Liionsden.~ ~Django-Plotly-Dash also looks appropriate, and it is MIT, so potentially more convenient.~
Individual tasks
Individual issues:
Potential blockers
ts_columns
field back to parameters?