//---- // обрезаем данные по Х с перемасшбированием по 2-м осям private void TrimmingData_X(CollectionGraphicElementsChart _chartElements, InitialDataChartList _initialDataChartList, ScaleValue _scaleValue, ref double _countElement) { if (_countElement > SettingsCharts.maxCountValueCharts.Count) { dispatcher.Invoke(() => { for (int i = 0; i < SettingsCharts.countDelete.Count; i++) { _chartElements.RemoveAt(0); } }); _initialDataChartList.RemoveRange(0, SettingsCharts.countDelete.Count); _countElement = _chartElements.Count; double countElem = _countElement; dispatcher.Invoke(() => { for (int i = 0; i < countElem; i++) { Canvas.SetLeft(_chartElements[i], X_Set(i, _scaleValue.X_scale)); } }, DispatcherPriority.Background); } }
//---------------------------------------------------------- // обрезаем данные по Х с перемасшбированием по 2-м осям private void TrimmingData_X(CollectionGraphicElementsChart _chartElements, InitialDataChartList _initialDataChartList, Size _sizeChart, Action <Rectangle, double> _setBottomAction, ref ScaleValue _scaleValue, ref ExtremumValue _extremumValue, ref double _countElement) { if (_countElement > SettingsCharts.maxCountValueCharts.Count) { dispatcher.Invoke(() => { for (int i = 0; i < SettingsCharts.countDelete.Count; i++) { _chartElements.RemoveAt(0); } }); _initialDataChartList.RemoveRange(0, SettingsCharts.countDelete.Count); _countElement = _chartElements.Count; //_extremumValue.Min = _initialDataChartList.Min(x => x.Value); //_extremumValue.Max = _initialDataChartList.Max(x => x.Value); _extremumValue = new ExtremumValue(_initialDataChartList.Min(x => x.Value), _initialDataChartList.Max(x => x.Value)); _scaleValue.Y_scale = Y_ScaleValueCalc(_extremumValue, _sizeChart); double countElem = _countElement; double y_scl = _scaleValue.Y_scale; double minVal = _extremumValue.Min; ScaleValue scalval = _scaleValue; dispatcher.Invoke(() => { for (int i = 0; i < countElem; i++) { _setBottomAction(_chartElements[i], Y_Set(_initialDataChartList[i], minVal, y_scl)); Canvas.SetLeft(_chartElements[i], X_Set(i, scalval.X_scale)); } }, DispatcherPriority.Background); } }