OpenWaterFoundation / owf-app-dev-ng

Open Water Foundation Angular application to develop common libraries
0 stars 1 forks source link

Dashboard chart widget - legend formatting can be improved #44

Open smalers opened 2 years ago

smalers commented 2 years ago

The chart widget should closely implement formatting based on the TSTool time series product JSON file. This allows charts to be prototyped in TSTool and then published to the web. Below are some recommendations for improvements, based on recent experience.

  1. Need documentation that maps TSTool property to the InfoMapper. The TSView appendix in the TSTool documentation lists all possible properties. I think I've commented on this in the past. Now that charts are being used more, it is important to fill out this documentation. The table(s) could also indicate which properties are implemented (or not) and whether anything is different from the TSTool implementation. The documentation should also link to the latest OpenCDSS TSTool documentation and provide an explanation of how TSTool is used to generate the template files. I can contribute to that. Filling out the documentation and confirming behavior will likely lead to many smaller changes. For example, I notice that the Plotly charts always are whole numbers even when the plot configuration file indicates a non-zero number for precision.
  2. Generally, the legends are often overlapping the chart data area, which obscures the chart. This lessens the effectiveness of the visualization and in some cases looks really bad. The web charts may need to fit into a smaller area than TSTool desktop windows, and that is something that visualization architects need to account for.
  3. It may be necessary for the InfoMapper legend to be different from TSTool, for example to use the screen space more effectively. This is something that needs to be discussed.
  4. Does there need to be an optional "show legend" feature that would use a popup so that the chart can fill the area?
  5. If we use sparkline graphs, would we use plotly or something else?