Changeset 14467 for branches/DataPreprocessing Enhancements
- Timestamp:
- 12/09/16 11:35:42 (8 years ago)
- Location:
- branches/DataPreprocessing Enhancements
- Files:
-
- 1 deleted
- 11 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs
r14462 r14467 61 61 new LineChartContent(data), 62 62 new HistogramContent(data), 63 new S catterPlotContent(data),63 new SingleScatterPlotContent(data), 64 64 new MultiScatterPlotContent(data), 65 65 new CorrelationMatrixContent(Content), -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotMultiView.cs
r14462 r14467 7 7 using HeuristicLab.Analysis.Views; 8 8 using HeuristicLab.Collections; 9 using HeuristicLab.Common;10 9 using HeuristicLab.Data; 11 10 using HeuristicLab.MainForm; … … 347 346 private void ScatterPlotDoubleClick(object sender, EventArgs e) { 348 347 var scatterPlotControl = (ScatterPlotControl)sender; 349 ScatterPlotContent scatterContent = new ScatterPlotContent(Content, new Cloner()); // create new content348 var scatterContent = new SingleScatterPlotContent(Content.PreprocessingData); 350 349 ScatterPlot scatterPlot = scatterPlotControl.Content; 351 350 -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.Designer.cs
r14446 r14467 50 50 this.label2 = new System.Windows.Forms.Label(); 51 51 this.label1 = new System.Windows.Forms.Label(); 52 this.comboBox Color= new System.Windows.Forms.ComboBox();52 this.comboBoxGroup = new System.Windows.Forms.ComboBox(); 53 53 this.comboBoxYVariable = new System.Windows.Forms.ComboBox(); 54 54 this.comboBoxXVariable = new System.Windows.Forms.ComboBox(); … … 72 72 this.groupBox1.Controls.Add(this.label2); 73 73 this.groupBox1.Controls.Add(this.label1); 74 this.groupBox1.Controls.Add(this.comboBox Color);74 this.groupBox1.Controls.Add(this.comboBoxGroup); 75 75 this.groupBox1.Controls.Add(this.comboBoxYVariable); 76 76 this.groupBox1.Controls.Add(this.comboBoxXVariable); … … 87 87 this.label3.Location = new System.Drawing.Point(17, 141); 88 88 this.label3.Name = "label3"; 89 this.label3.Size = new System.Drawing.Size(3 1, 13);89 this.label3.Size = new System.Drawing.Size(36, 13); 90 90 this.label3.TabIndex = 3; 91 this.label3.Text = " Color";91 this.label3.Text = "Group"; 92 92 // 93 93 // label2 … … 109 109 this.label1.Text = "X Variable"; 110 110 // 111 // comboBox Color111 // comboBoxGroup 112 112 // 113 this.comboBox Color.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;114 this.comboBox Color.FormattingEnabled = true;115 this.comboBox Color.Location = new System.Drawing.Point(20, 164);116 this.comboBox Color.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);117 this.comboBox Color.Name = "comboBoxColor";118 this.comboBox Color.Size = new System.Drawing.Size(121, 21);119 this.comboBox Color.TabIndex = 1;120 this.comboBox Color.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged);113 this.comboBoxGroup.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 114 this.comboBoxGroup.FormattingEnabled = true; 115 this.comboBoxGroup.Location = new System.Drawing.Point(20, 164); 116 this.comboBoxGroup.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3); 117 this.comboBoxGroup.Name = "comboBoxGroup"; 118 this.comboBoxGroup.Size = new System.Drawing.Size(121, 21); 119 this.comboBoxGroup.TabIndex = 1; 120 this.comboBoxGroup.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged); 121 121 // 122 122 // comboBoxYVariable … … 164 164 private System.Windows.Forms.ComboBox comboBoxYVariable; 165 165 private System.Windows.Forms.ComboBox comboBoxXVariable; 166 private System.Windows.Forms.ComboBox comboBox Color;166 private System.Windows.Forms.ComboBox comboBoxGroup; 167 167 private System.Windows.Forms.Label label3; 168 168 } -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.cs
r14446 r14467 30 30 31 31 [View("Scatter Plot Single View")] 32 [Content(typeof(S catterPlotContent), true)]32 [Content(typeof(SingleScatterPlotContent), true)] 33 33 public partial class ScatterPlotSingleView : ItemView { 34 34 35 public new S catterPlotContent Content {36 get { return (S catterPlotContent)base.Content; }35 public new SingleScatterPlotContent Content { 36 get { return (SingleScatterPlotContent)base.Content; } 37 37 set { base.Content = value; } 38 38 } … … 48 48 comboBoxXVariable.Items.Clear(); 49 49 comboBoxYVariable.Items.Clear(); 50 comboBox Color.Items.Clear();50 comboBoxGroup.Items.Clear(); 51 51 comboBoxXVariable.Items.AddRange(variables.ToArray()); 52 52 comboBoxYVariable.Items.AddRange(variables.ToArray()); 53 comboBox Color.Items.Add("-");53 comboBoxGroup.Items.Add("-"); 54 54 for (int i = 0; i < Content.PreprocessingData.Columns; ++i) { 55 55 if (Content.PreprocessingData.VariableHasType<double>(i)) { 56 56 double distinctValueCount = Content.PreprocessingData.GetValues<double>(i).GroupBy(x => x).Count(); 57 57 if (distinctValueCount <= 20) 58 comboBox Color.Items.Add(Content.PreprocessingData.GetVariableName(i));58 comboBoxGroup.Items.Add(Content.PreprocessingData.GetVariableName(i)); 59 59 } 60 60 } 61 61 62 62 // use x and y variable from content 63 if (Content.SelectedXVariable != null && Content.SelectedYVariable != null && Content.Selected ColorVariable != null) {63 if (Content.SelectedXVariable != null && Content.SelectedYVariable != null && Content.SelectedGroupVariable != null) { 64 64 comboBoxXVariable.SelectedItem = Content.SelectedXVariable; 65 65 comboBoxYVariable.SelectedItem = Content.SelectedYVariable; 66 comboBox Color.SelectedItem = Content.SelectedColorVariable;66 comboBoxGroup.SelectedItem = Content.SelectedGroupVariable; 67 67 } else { 68 68 if (variables.Count() >= 2) { 69 69 comboBoxXVariable.SelectedIndex = 0; 70 70 comboBoxYVariable.SelectedIndex = 1; 71 comboBox Color.SelectedIndex = 0;71 comboBoxGroup.SelectedIndex = 0; 72 72 UpdateScatterPlot(); 73 73 } … … 87 87 88 88 private void UpdateScatterPlot() { 89 if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null && comboBox Color.SelectedItem != null) {89 if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null && comboBoxGroup.SelectedItem != null) { 90 90 var xVariable = (string)comboBoxXVariable.SelectedItem; 91 91 var yVariable = (string)comboBoxYVariable.SelectedItem; 92 var colorVariable = (string)comboBoxColor.SelectedItem;93 ScatterPlot scatterPlot = Content.CreateScatterPlot(xVariable, yVariable, colorVariable);92 var groupVariable = (string)comboBoxGroup.SelectedItem; 93 ScatterPlot scatterPlot = Content.CreateScatterPlot(xVariable, yVariable, groupVariable); 94 94 var vp = scatterPlot.VisualProperties; 95 95 vp.Title = string.Empty; … … 98 98 99 99 scatterPlotControl.Content = scatterPlot; 100 100 101 101 //save selected x and y variable in content 102 102 this.Content.SelectedXVariable = (string)comboBoxXVariable.SelectedItem; 103 103 this.Content.SelectedYVariable = (string)comboBoxYVariable.SelectedItem; 104 this.Content.Selected ColorVariable = (string)comboBoxColor.SelectedItem;104 this.Content.SelectedGroupVariable = (string)comboBoxGroup.SelectedItem; 105 105 } 106 106 } -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.Designer.cs
r14462 r14467 53 53 this.SuspendLayout(); 54 54 // 55 // splitContainer56 //57 this.splitContainer.Size = new System.Drawing.Size(526, 364);58 //59 // itemsGroupBox60 //61 this.itemsGroupBox.Size = new System.Drawing.Size(532, 383);62 //63 55 // itemsListView 64 56 // 65 this.itemsListView.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)));66 57 this.itemsListView.Dock = System.Windows.Forms.DockStyle.Fill; 67 this.itemsListView.Location = new System.Drawing.Point(0, 0);68 this.itemsListView.Size = new System.Drawing.Size(200, 364);69 //70 // detailsGroupBox71 //72 this.detailsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)));73 this.detailsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;74 this.detailsGroupBox.Location = new System.Drawing.Point(0, 0);75 this.detailsGroupBox.Size = new System.Drawing.Size(322, 364);76 //77 // addButton78 //79 this.toolTip.SetToolTip(this.addButton, "Add");80 this.addButton.Visible = false;81 //82 // removeButton83 //84 this.toolTip.SetToolTip(this.removeButton, "Remove");85 this.removeButton.Visible = false;86 //87 // moveUpButton88 //89 this.toolTip.SetToolTip(this.moveUpButton, "Move Up");90 this.moveUpButton.Visible = false;91 //92 // moveDownButton93 //94 this.toolTip.SetToolTip(this.moveDownButton, "Move Down");95 this.moveDownButton.Visible = false;96 58 // 97 59 // viewHost 98 60 // 99 this.viewHost. Size = new System.Drawing.Size(310, 339);61 this.viewHost.Dock = System.Windows.Forms.DockStyle.Fill; 100 62 this.viewHost.ViewsLabelVisible = false; 101 63 // -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.cs
r14185 r14467 21 21 22 22 using System; 23 using HeuristicLab.Common;24 23 using HeuristicLab.Core; 25 24 using HeuristicLab.Core.Views; … … 33 32 public ViewShortcutListView() { 34 33 InitializeComponent(); 35 itemsGroupBox.Text = "View Shortcuts"; 34 Controls.Clear(); 35 Controls.Add(splitContainer); 36 splitContainer.Panel1.Controls.Clear(); 37 splitContainer.Panel1.Controls.Add(itemsListView); 38 splitContainer.Panel2.Controls.Clear(); 39 splitContainer.Panel2.Controls.Add(viewHost); 36 40 } 37 41 … … 42 46 IViewShortcut item = itemsListView.SelectedItems[0].Tag as IViewShortcut; 43 47 if (item != null) { 48 item = (IViewShortcut)item.Clone(); 44 49 45 if (item is IViewChartShortcut) 46 item = (IViewChartShortcut)item.Clone(new Cloner()); 47 48 IContentView view = MainFormManager.MainForm.ShowContent(item); 50 var view = MainFormManager.MainForm.ShowContent(item); 49 51 if (view != null) { 50 52 view.ReadOnly = ReadOnly; -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/CorrelationMatrixContent.cs
r14185 r14467 27 27 namespace HeuristicLab.DataPreprocessing { 28 28 [Item("Feature Correlation Matrix", "Represents the feature correlation matrix.")] 29 public class CorrelationMatrixContent : Item, IView ChartShortcut {29 public class CorrelationMatrixContent : Item, IViewShortcut { 30 30 public static new Image StaticItemImage { 31 31 get { return HeuristicLab.Common.Resources.VSImageLibrary.Gradient; } -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/DataCompletenessChartContent.cs
r13508 r14467 6 6 [Item("DataCompletenessChart", "Represents a datacompleteness chart.")] 7 7 8 public class DataCompletenessChartContent : Item, IView ChartShortcut {8 public class DataCompletenessChartContent : Item, IViewShortcut { 9 9 public static new Image StaticItemImage { 10 10 get { return HeuristicLab.Common.Resources.VSImageLibrary.EditBrightnessContrast; } -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs
r14459 r14467 29 29 namespace HeuristicLab.DataPreprocessing { 30 30 [Item("PreprocessingChart", "Represents a preprocessing chart.")] 31 public class PreprocessingChartContent : Item, IView ChartShortcut {31 public class PreprocessingChartContent : Item, IViewShortcut { 32 32 public static new Image StaticItemImage { 33 33 get { return HeuristicLab.Common.Resources.VSImageLibrary.PieChart; } -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/ScatterPlotContent.cs
r14446 r14467 21 21 22 22 using System.Collections.Generic; 23 using System.Drawing;24 23 using System.Linq; 25 24 using HeuristicLab.Analysis; 26 25 using HeuristicLab.Common; 27 using HeuristicLab.Core;28 26 29 27 namespace HeuristicLab.DataPreprocessing { 30 28 31 [Item("ScatterPlot", "Represents a scatter plot.")] 32 public class ScatterPlotContent : PreprocessingChartContent { 33 34 public string SelectedXVariable { get; set; } 35 public string SelectedYVariable { get; set; } 36 public string SelectedColorVariable { get; set; } 37 38 public ScatterPlotContent(IFilteredPreprocessingData preprocessingData) 29 public abstract class ScatterPlotContent : PreprocessingChartContent { 30 protected ScatterPlotContent(IFilteredPreprocessingData preprocessingData) 39 31 : base(preprocessingData) { 40 32 } 41 33 42 p ublicScatterPlotContent(ScatterPlotContent content, Cloner cloner)34 protected ScatterPlotContent(ScatterPlotContent content, Cloner cloner) 43 35 : base(content, cloner) { 44 this.SelectedXVariable = content.SelectedXVariable;45 this.SelectedYVariable = content.SelectedYVariable;46 this.SelectedColorVariable = content.SelectedColorVariable;47 }48 49 public static new Image StaticItemImage {50 get { return HeuristicLab.Common.Resources.VSImageLibrary.Performance; }51 }52 53 public override IDeepCloneable Clone(Cloner cloner) {54 return new ScatterPlotContent(this, cloner);55 36 } 56 37 -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/SingleScatterPlotContent.cs
r14452 r14467 20 20 #endregion 21 21 22 using System.Collections.Generic;23 22 using System.Drawing; 24 using System.Linq;25 using HeuristicLab.Analysis;26 23 using HeuristicLab.Common; 27 24 using HeuristicLab.Core; … … 30 27 31 28 [Item("ScatterPlot", "Represents a scatter plot.")] 32 public class S catterPlotContent : PreprocessingChartContent {29 public class SingleScatterPlotContent : ScatterPlotContent { 33 30 34 31 public string SelectedXVariable { get; set; } 35 32 public string SelectedYVariable { get; set; } 36 public string Selected ColorVariable { get; set; }33 public string SelectedGroupVariable { get; set; } 37 34 38 public S catterPlotContent(IFilteredPreprocessingData preprocessingData)35 public SingleScatterPlotContent(IFilteredPreprocessingData preprocessingData) 39 36 : base(preprocessingData) { 40 37 } 41 38 42 public S catterPlotContent(ScatterPlotContent content, Cloner cloner)39 public SingleScatterPlotContent(SingleScatterPlotContent content, Cloner cloner) 43 40 : base(content, cloner) { 44 41 this.SelectedXVariable = content.SelectedXVariable; 45 42 this.SelectedYVariable = content.SelectedYVariable; 46 this.Selected ColorVariable = content.SelectedColorVariable;43 this.SelectedGroupVariable = content.SelectedGroupVariable; 47 44 } 48 45 … … 52 49 53 50 public override IDeepCloneable Clone(Cloner cloner) { 54 return new ScatterPlotContent(this, cloner); 55 } 56 57 public ScatterPlot CreateScatterPlot(string variableNameX, string variableNameY, string variableNameColor = "-") { 58 ScatterPlot scatterPlot = new ScatterPlot(); 59 60 IList<double> xValues = PreprocessingData.GetValues<double>(PreprocessingData.GetColumnIndex(variableNameX)); 61 IList<double> yValues = PreprocessingData.GetValues<double>(PreprocessingData.GetColumnIndex(variableNameY)); 62 if (variableNameColor == null || variableNameColor == "-") { 63 List<Point2D<double>> points = new List<Point2D<double>>(); 64 65 for (int i = 0; i < xValues.Count; i++) { 66 Point2D<double> point = new Point2D<double>(xValues[i], yValues[i]); 67 points.Add(point); 68 } 69 70 ScatterPlotDataRow scdr = new ScatterPlotDataRow(variableNameX + " - " + variableNameY, "", points); 71 scdr.VisualProperties.IsVisibleInLegend = false; 72 scatterPlot.Rows.Add(scdr); 73 74 } else { 75 var colorValues = PreprocessingData.GetValues<double>(PreprocessingData.GetColumnIndex(variableNameColor)); 76 var data = xValues.Zip(yValues, (x, y) => new { x, y }).Zip(colorValues, (v, c) => new { v.x, v.y, c }).ToList(); 77 var gradients = ColorGradient.Colors; 78 int curGradient = 0; 79 int numColors = colorValues.Distinct().Count(); 80 foreach (var colorValue in colorValues.Distinct()) { 81 var values = data.Where(x => x.c == colorValue); 82 var row = new ScatterPlotDataRow( 83 variableNameX + " - " + variableNameY + " (" + colorValue + ")", 84 "", 85 values.Select(v => new Point2D<double>(v.x, v.y)), 86 new ScatterPlotDataRowVisualProperties() { Color = gradients[curGradient] }); 87 curGradient += gradients.Count / numColors; 88 scatterPlot.Rows.Add(row); 89 } 90 } 91 return scatterPlot; 51 return new SingleScatterPlotContent(this, cloner); 92 52 } 93 53 } -
branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/HeuristicLab.DataPreprocessing-3.4.csproj
r14462 r14467 121 121 <ItemGroup> 122 122 <Compile Include="Content\MultiScatterPlotContent.cs" /> 123 <Compile Include="Content\SingleScatterPlotContent.cs" /> 123 124 <Compile Include="Content\ScatterPlotContent.cs" /> 124 125 <Compile Include="Content\DataCompletenessChartContent.cs" /> … … 127 128 <Compile Include="Content\PreprocessingChartContent.cs" /> 128 129 <Compile Include="Data\PreprocessingData.cs" /> 129 <Compile Include="Content\IViewChartShortcut.cs" />130 130 <Compile Include="Data\IFilteredPreprocessingData.cs" /> 131 131 <Compile Include="Content\CorrelationMatrixContent.cs" />
Note: See TracChangeset
for help on using the changeset viewer.