Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/20/16 15:28:14 (7 years ago)
Author:
pfleck
Message:

#2709

  • Added Check Inputs/All/None buttons instead of showing disabled buttons of the ItemCollectionView.
  • Removed the PreprocessingCheckedItemListView. A standard ListView is used instead.
  • Fixed slow updating when simultaneously (un-)checking multiple variables in the chart views. (currently only works by using the new buttons)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/LineChartView.cs

    r14473 r14511  
    6262
    6363      allInOneDataTable.Rows.Clear();
    64       foreach (var variable in Content.VariableItemList.CheckedItems) {
    65         allInOneDataTable.Rows.Add(allInOneDataRows[variable.Value.Value]);
    66       }
     64      var rows = Content.VariableItemList.CheckedItems.Select(v => allInOneDataRows[v.Value.Value]);
     65      allInOneDataTable.Rows.AddRange(rows);
    6766    }
    6867
     
    8382      dt.Rows.Add(row);
    8483
    85       try {
    86         double axisMin, axisMax, axisInterval;
    87         ChartUtil.CalculateOptimalAxisInterval(row.Values.Min(), row.Values.Max(), out axisMin, out axisMax, out axisInterval);
    88         dt.VisualProperties.YAxisMinimumAuto = false;
    89         dt.VisualProperties.YAxisMaximumAuto = false;
    90         dt.VisualProperties.YAxisMinimumFixedValue = axisMin;
    91         dt.VisualProperties.YAxisMaximumFixedValue = axisMax;
    92       } catch (ArgumentOutOfRangeException) { } // missing values lead to NaNs
     84      var validValues = row.Values.Where(x => !double.IsNaN(x) && !double.IsInfinity(x)).ToList();
     85      if (validValues.Any()) {
     86        try {
     87          double axisMin, axisMax, axisInterval;
     88          ChartUtil.CalculateOptimalAxisInterval(validValues.Min(), validValues.Max(), out axisMin, out axisMax, out axisInterval);
     89          dt.VisualProperties.YAxisMinimumAuto = false;
     90          dt.VisualProperties.YAxisMaximumAuto = false;
     91          dt.VisualProperties.YAxisMinimumFixedValue = axisMin;
     92          dt.VisualProperties.YAxisMaximumFixedValue = axisMax;
     93        } catch (ArgumentOutOfRangeException) { }
     94      }
    9395      return dt;
    9496    }
     
    116118          // ToDo: avoid clearing all rows, but how?
    117119          allInOneDataTable.Rows.Clear();
    118           foreach (var variable in Content.VariableItemList.CheckedItems) {
    119             allInOneDataTable.Rows.Add(allInOneDataRows[variable.Value.Value]);
    120           }
     120          var rows = Content.VariableItemList.CheckedItems.Select(r => allInOneDataRows[r.Value.Value]);
     121          allInOneDataTable.Rows.AddRange(rows);
    121122        } else {
    122123          allInOneDataTable.Rows.Remove(variableName);
Note: See TracChangeset for help on using the changeset viewer.