- Timestamp:
- 11/26/16 23:21:50 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionLineChartView.cs
r14255 r14422 57 57 } 58 58 59 protected virtual void GetTrainingSeries(out int[] x, out double[] y) { 60 x = Content.ProblemData.TrainingIndices.ToArray(); 61 y = Content.EstimatedTrainingValues.ToArray(); 62 } 63 64 protected virtual void GetTestSeries(out int[] x, out double[] y) { 65 x = Content.ProblemData.TestIndices.ToArray(); 66 y = Content.EstimatedTestValues.ToArray(); 67 } 68 69 protected virtual void GetAllValuesSeries(out int[] x, out double[] y) { 70 x = Enumerable.Range(0, Content.ProblemData.Dataset.Rows).Except(Content.ProblemData.TrainingIndices).Except(Content.ProblemData.TestIndices).ToArray(); 71 var tmp = Content.EstimatedValues.ToArray(); 72 y = x.Select(index => tmp[index]).ToArray(); 73 } 74 59 75 private void RedrawChart() { 60 76 this.chart.Series.Clear(); … … 73 89 this.chart.Series[ESTIMATEDVALUES_TRAINING_SERIES_NAME].ChartType = SeriesChartType.FastLine; 74 90 this.chart.Series[ESTIMATEDVALUES_TRAINING_SERIES_NAME].EmptyPointStyle.Color = this.chart.Series[ESTIMATEDVALUES_TRAINING_SERIES_NAME].Color; 75 this.chart.Series[ESTIMATEDVALUES_TRAINING_SERIES_NAME].Points.DataBindXY(Content.ProblemData.TrainingIndices.ToArray(), Content.EstimatedTrainingValues.ToArray()); 91 int[] trainingIdx; 92 double[] trainingY; 93 GetTrainingSeries(out trainingIdx, out trainingY); 94 this.chart.Series[ESTIMATEDVALUES_TRAINING_SERIES_NAME].Points.DataBindXY(trainingIdx, trainingY); 76 95 this.InsertEmptyPoints(this.chart.Series[ESTIMATEDVALUES_TRAINING_SERIES_NAME]); 77 96 this.chart.Series[ESTIMATEDVALUES_TRAINING_SERIES_NAME].Tag = Content; 97 78 98 // test series 79 99 this.chart.Series.Add(ESTIMATEDVALUES_TEST_SERIES_NAME); 80 100 this.chart.Series[ESTIMATEDVALUES_TEST_SERIES_NAME].LegendText = ESTIMATEDVALUES_TEST_SERIES_NAME; 81 101 this.chart.Series[ESTIMATEDVALUES_TEST_SERIES_NAME].ChartType = SeriesChartType.FastLine; 82 this.chart.Series[ESTIMATEDVALUES_TEST_SERIES_NAME].Points.DataBindXY(Content.ProblemData.TestIndices.ToArray(), Content.EstimatedTestValues.ToArray()); 102 int[] testIdx; 103 double[] testY; 104 GetTestSeries(out testIdx, out testY); 105 this.chart.Series[ESTIMATEDVALUES_TEST_SERIES_NAME].Points.DataBindXY(testIdx, testY); 83 106 this.InsertEmptyPoints(this.chart.Series[ESTIMATEDVALUES_TEST_SERIES_NAME]); 84 107 this.chart.Series[ESTIMATEDVALUES_TEST_SERIES_NAME].Tag = Content; 108 85 109 // series of remaining points 86 int[] allIndices = Enumerable.Range(0, Content.ProblemData.Dataset.Rows).Except(Content.ProblemData.TrainingIndices).Except(Content.ProblemData.TestIndices).ToArray(); 87 var estimatedValues = Content.EstimatedValues.ToArray(); 88 List<double> allEstimatedValues = allIndices.Select(index => estimatedValues[index]).ToList(); 110 int[] allIdx; 111 double[] allEstimatedValues; 112 GetAllValuesSeries(out allIdx, out allEstimatedValues); 113 89 114 this.chart.Series.Add(ESTIMATEDVALUES_ALL_SERIES_NAME); 90 115 this.chart.Series[ESTIMATEDVALUES_ALL_SERIES_NAME].LegendText = ESTIMATEDVALUES_ALL_SERIES_NAME; 91 116 this.chart.Series[ESTIMATEDVALUES_ALL_SERIES_NAME].ChartType = SeriesChartType.FastLine; 92 if (allEstimatedValues. Count> 0) {93 this.chart.Series[ESTIMATEDVALUES_ALL_SERIES_NAME].Points.DataBindXY(allI ndices, allEstimatedValues);117 if (allEstimatedValues.Length > 0) { 118 this.chart.Series[ESTIMATEDVALUES_ALL_SERIES_NAME].Points.DataBindXY(allIdx, allEstimatedValues); 94 119 this.InsertEmptyPoints(this.chart.Series[ESTIMATEDVALUES_ALL_SERIES_NAME]); 95 120 } … … 244 269 } 245 270 } else if (Content != null) { 246 string targetVariableName = Content.ProblemData.TargetVariable; 247 248 IEnumerable<int> indices = null; 271 272 int[] indices = null; 249 273 double[] predictedValues = null; 250 274 switch (series.Name) { 251 275 case ESTIMATEDVALUES_ALL_SERIES_NAME: 252 indices = Enumerable.Range(0, Content.ProblemData.Dataset.Rows).Except(Content.ProblemData.TrainingIndices).Except(Content.ProblemData.TestIndices).ToArray(); 253 var estimatedValues = Content.EstimatedValues.ToArray(); 254 predictedValues = indices.Select(index => estimatedValues[index]).ToArray(); 276 GetAllValuesSeries(out indices, out predictedValues); 255 277 break; 256 278 case ESTIMATEDVALUES_TRAINING_SERIES_NAME: 257 indices = Content.ProblemData.TrainingIndices.ToArray(); 258 predictedValues = Content.EstimatedTrainingValues.ToArray(); 279 GetTrainingSeries(out indices, out predictedValues); 259 280 break; 260 281 case ESTIMATEDVALUES_TEST_SERIES_NAME: 261 indices = Content.ProblemData.TestIndices.ToArray(); 262 predictedValues = Content.EstimatedTestValues.ToArray(); 282 GetTestSeries(out indices, out predictedValues); 263 283 break; 264 284 }
Note: See TracChangeset
for help on using the changeset viewer.