Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/14/16 22:38:23 (8 years ago)
Author:
mkommend
Message:

#2559: Merged r13502, r13504, r13507, r13508, r13512, r13514, r13517 into stable.

Location:
stable
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.DataPreprocessing.Views

  • stable/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.cs

    r10998 r14075  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System;
    223using System.Collections.Generic;
    324using System.Linq;
    4 using System.Windows.Forms;
    525using HeuristicLab.Analysis;
    626using HeuristicLab.Core.Views;
     
    1838    }
    1939
    20     public ScatterPlotSingleView()
    21     {
     40    public ScatterPlotSingleView() {
    2241      InitializeComponent();
    2342    }
    2443
    2544    public void InitData() {
    26 
    2745      IEnumerable<string> variables = Content.PreprocessingData.GetDoubleVariableNames();
    2846
     
    3048      comboBoxXVariable.Items.Clear();
    3149      comboBoxYVariable.Items.Clear();
     50      comboBoxColor.Items.Clear();
    3251      comboBoxXVariable.Items.AddRange(variables.ToArray());
    3352      comboBoxYVariable.Items.AddRange(variables.ToArray());
     53      comboBoxColor.Items.Add("-");
     54      for (int i = 0; i < Content.PreprocessingData.Columns; ++i) {
     55        if (Content.PreprocessingData.VariableHasType<double>(i)) {
     56          double distinctValueCount = Content.PreprocessingData.GetValues<double>(i).GroupBy(x => x).Count();
     57          if (distinctValueCount <= 20)
     58            comboBoxColor.Items.Add(Content.PreprocessingData.GetVariableName(i));
     59        }
     60      }
    3461
    3562      // use x and y variable from content
    36       if (Content.SelectedXVariable != null && Content.SelectedYVariable != null) {
     63      if (Content.SelectedXVariable != null && Content.SelectedYVariable != null && Content.SelectedColorVariable != null) {
    3764        comboBoxXVariable.SelectedItem = Content.SelectedXVariable;
    3865        comboBoxYVariable.SelectedItem = Content.SelectedYVariable;
     66        comboBoxColor.SelectedItem = Content.SelectedColorVariable;
    3967      } else {
    4068        if (variables.Count() >= 2) {
    4169          comboBoxXVariable.SelectedIndex = 0;
    4270          comboBoxYVariable.SelectedIndex = 1;
     71          comboBoxColor.SelectedIndex = 0;
    4372          UpdateScatterPlot();
    44 
    4573        }
    4674      }
     
    5987
    6088    private void UpdateScatterPlot() {
    61       if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null) {
     89      if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null && comboBoxColor.SelectedItem != null) {
    6290        //get scatter plot with selected x and y variable
    63         ScatterPlot scatterPlot = Content.CreateScatterPlot((string)comboBoxXVariable.SelectedItem, (string)comboBoxYVariable.SelectedItem);
     91        ScatterPlot scatterPlot = Content.CreateScatterPlot(
     92          (string)comboBoxXVariable.SelectedItem,
     93          (string)comboBoxYVariable.SelectedItem,
     94          (string)comboBoxColor.SelectedItem);
    6495        scatterPlotView.Content = scatterPlot;
    6596
     
    6798        this.Content.SelectedXVariable = (string)comboBoxXVariable.SelectedItem;
    6899        this.Content.SelectedYVariable = (string)comboBoxYVariable.SelectedItem;
     100        this.Content.SelectedColorVariable = (string)comboBoxColor.SelectedItem;
    69101      }
    70102    }
    71 
    72103  }
    73 
    74 
    75104}
Note: See TracChangeset for help on using the changeset viewer.