RiverWare Plotting Enhancement Suggestions -- February 2013 -- Phil Weinstein
edit 2-1-2013 (minor updates 3-23-2013).

Note: Some of these changes might require re-implementation of the plot legend panel in our own code, in place of using the native Qwt legend panel.

Dynamic Presentation Enhancements

(1) Dynamic highlighting of traces when hovering over slot legend. Drawing the selected trace with a thicker line would be an effective technique. The "hovered" slot legend item should also be highlighted. This feature would be useful just in general to discern data in the plot, and also for public demonstrations and presentations.

(2) Global Time Range Selection/Scroll -- similar to the current Global (time) Scroll -- dynamic common time range selections in all series displays: plots (along a time axis) and series data displays (open slot dialogs, SCT, edit account dialogs). In plots having a time axis, the selected time range could hopefully be shown with a different background color (if that can be done in Qwt).

(3) Dynamically movable markers:

(4) Interactive visible time-scope slider. Basically a horizontal slider along the top or bottom indicating the horizontal range and position of the visible area in the plot with respect to the full horizontal (time) range of the data. The precisely drawn "thumb" should be draggable to support time scrolling. This could also be supported on the vertical axis, but would be less important there.

Other Presentation Enhancements

(1) When both vertical axis are used (for different unit types), there is no indication of which axis corresponds to each particular trace. Perhaps a right-or-left pointing triangle-arrow with each legend item would do the trick.

(2) Temporary edit mode to expose basic (very-narrow) trace configuration controls with each legend (slot) item.

(3) Minor issues:

Scope

(1) Plotting scalar slots as horizontal markers

(2) Better support for Table Series Slot Columns. There are non-fundamental reasons why this is not well supported.

Scaling and Navigation

(1) General re-analysis of provided controls. For one thing, single-dimension zooming is currently a little tricky. Also, there should be a "hand-drag" scroll mode.

(2) [Suggested by Mitch, 2-1-2013 e-mail]: "an option to always scale the time range of a plot to the current run period. Currently you have to manually scale to the run period each time you open a plot. If you are frequently changing the run period in the model, this can be inconvenient."

Numerical Issues

(1) Fix vertical axis-units anomaly: Different units of the same unit type are treated as unrelated entities. They shouldn't be. For example, in a plot containing multiple slots, "cms" and "cfs" could be assigned to the left and right axis, respectively -- with uncorrelated values. These should at least be numerically correlated, if not collapsed into a single unit representation of any unit type. (But we should entirely avoid presenting the two vertical axis with a mix of units having regular and irregular "per-time" factors. Those cannot be reconciled if the data's time range spans multiple months or years).

--- (end) ---