fair-acc / chart-fx

A scientific charting library focused on performance optimised real-time data visualisation at 25 Hz update rates for data sets with a few 10 thousand up to 5 million data points.
GNU Lesser General Public License v3.0
504 stars 93 forks source link

ParameterMeasurement: Reuse Indicators for charts with multiple axes/renderers #204

Open wirew0rm opened 4 years ago

wirew0rm commented 4 years ago

If axes have multiple axes the DataSet measurements have to determine, which one belongs to the selected DataSet and generate the corresponding indicators. Until recently only the first global axes where used so it was impossible to have indicators/measurements for multiple renderers/axes. For now this is mitigated by disabling the re-use of indicators by default when more than 2 axes are present:

image

This intermediate solution has some limitations and drawbacks:

~The proposed change is be to return the values for all axes of the same orientation as the indicator.~

wirew0rm commented 4 years ago

New Problem: how to map DataSets to axes? A ChartMeasurement knows its DataSet(s), but not the axis which is used to render it.

filter for DataSet selector: disable all datasets whose renderer has the wrong axis in the dimension needend by the measurements filter for Indicator selector: disable all indicators which are not using the axis used by the dataset's renderer(s) validation method in Measurement::handle: check if there is only one axis for all renderers containing the dataset(s) and all indicators. If this is not the case, disable the measurement until it is reconfigured correctly.