Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/16/16 14:31:36 (7 years ago)
Author:
pfleck
Message:

#2713 Added option in the ScatterPlotControl to show a regression curve for a ScatterPlotDataRow (linear, poly, exp, log, pow).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Analysis/3.3/DataVisualization/ScatterPlotDataRowVisualProperties.cs

    r14185 r14493  
    4545    }
    4646    #endregion
     47    #region
     48    public enum ScatterPlotDataRowRegressionType {
     49      None,
     50      Linear,
     51      Polynomial,
     52      Exponential,
     53      Logarithmic,
     54      Power
     55    }
     56    #endregion
    4757
    4858    private Color color;
     
    101111      }
    102112    }
     113    private ScatterPlotDataRowRegressionType regressionType;
     114    public ScatterPlotDataRowRegressionType RegressionType {
     115      get { return regressionType; }
     116      set {
     117        if (regressionType != value) {
     118          regressionType = value;
     119          OnPropertyChanged("RegressionType");
     120        }
     121      }
     122    }
     123    private int polynomialRegressionOrder;
     124    public int PolynomialRegressionOrder {
     125      get { return polynomialRegressionOrder; }
     126      set {
     127        if (polynomialRegressionOrder != value) {
     128          polynomialRegressionOrder = value;
     129          OnPropertyChanged("PolynomialRegressionOrder");
     130        }
     131      }
     132    }
     133    private bool isRegressionVisibleInLegend;
     134    public bool IsRegressionVisibleInLegend {
     135      get { return isRegressionVisibleInLegend; }
     136      set {
     137        if (isRegressionVisibleInLegend != value) {
     138          isRegressionVisibleInLegend = value;
     139          OnPropertyChanged("IsRegressionVisibleInLegend");
     140        }
     141      }
     142    }
     143    private string regressionDisplayName;
     144    public string RegressionDisplayName {
     145      get { return regressionDisplayName ?? string.Empty; }
     146      set {
     147        if (regressionDisplayName != value) {
     148          if (value == null && regressionDisplayName != string.Empty) {
     149            regressionDisplayName = string.Empty;
     150            OnPropertyChanged("RegressionDisplayName");
     151          } else if (value != null) {
     152            regressionDisplayName = value;
     153            OnPropertyChanged("RegressionDisplayName");
     154          }
     155        }
     156      }
     157    }
    103158
    104159    #region Persistence Properties
     
    127182      get { return displayName; }
    128183      set { displayName = value; }
     184    }
     185    [Storable(Name = "RegressionType")]
     186    private ScatterPlotDataRowRegressionType StorableRegressionType {
     187      get { return regressionType; }
     188      set { regressionType = value; }
     189    }
     190    [Storable(Name = "PolynomialRegressionOrder", DefaultValue = 2)]
     191    private int StorablePolynomialRegressionOrder {
     192      get { return polynomialRegressionOrder; }
     193      set { polynomialRegressionOrder = value; }
     194    }
     195    [Storable(Name = "IsRegressionVisibleInLegend", DefaultValue = true)]
     196    private bool StorableIsRegressionVisibleInLegend {
     197      get { return isRegressionVisibleInLegend; }
     198      set { isRegressionVisibleInLegend = value; }
     199    }
     200    [Storable(Name = "RegressionDisplayName")]
     201    private string StorableRegressionDisplayName {
     202      get { return regressionDisplayName; }
     203      set { regressionDisplayName = value; }
    129204    }
    130205    #endregion
     
    139214      this.displayName = original.displayName;
    140215      this.isVisibleInLegend = original.isVisibleInLegend;
     216      this.regressionType = original.regressionType;
     217      this.polynomialRegressionOrder = original.polynomialRegressionOrder;
     218      this.isRegressionVisibleInLegend = original.isRegressionVisibleInLegend;
     219      this.regressionDisplayName = original.regressionDisplayName;
    141220    }
    142221    public ScatterPlotDataRowVisualProperties() {
     
    146225      displayName = String.Empty;
    147226      isVisibleInLegend = true;
     227      regressionType = ScatterPlotDataRowRegressionType.None;
     228      polynomialRegressionOrder = 2;
     229      isRegressionVisibleInLegend = true;
     230      regressionDisplayName = string.Empty;
    148231    }
    149232    public ScatterPlotDataRowVisualProperties(string displayName)
Note: See TracChangeset for help on using the changeset viewer.