Index: /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/DataTableHelper.cs
===================================================================
--- /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/DataTableHelper.cs	(revision 9058)
+++ /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/DataTableHelper.cs	(revision 9059)
@@ -20,5 +20,5 @@
 #endregion
 
-using System.Collections.Generic;
+using HeuristicLab.Collections;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
@@ -75,4 +75,8 @@
       dt.Rows[dataRowNames[0]].Values.Add(point);
     }
+
+    public ObservableList<double> GetFirstDataRow() {
+      return dt.Rows[dataRowNames[0]].Values;
+    }
   }
 }
Index: /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/ScatterPlotHelper.cs
===================================================================
--- /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/ScatterPlotHelper.cs	(revision 9058)
+++ /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/ScatterPlotHelper.cs	(revision 9059)
@@ -45,7 +45,15 @@
     public bool CreateDataTable { get; set; }
     [Storable]
-    public DataTableHelper dataTableHelper;
+    public DataTableHelper dataTableHelper, minMaxDataTableHelper;
     [Storable]
     private string lastRowName;
+    [Storable]
+    private bool trackMinMaxValues;
+    [Storable]
+    private double min;
+    [Storable]
+    private double max;
+    [Storable]
+    private ResultCollection Results;
 
     [Storable]
@@ -68,10 +76,15 @@
       StoreHistory = true;
       CreateDataTable = false;
+      min = double.MaxValue;
+      max = double.MinValue;
     }
 
-    public ScatterPlotHelper(bool storeHistory, bool createDataTable)
+    public ScatterPlotHelper(bool storeHistory, bool createDataTable, bool trackMinMax = false)
       : base() {
       StoreHistory = storeHistory;
       CreateDataTable = createDataTable;
+      trackMinMaxValues = trackMinMax;
+      min = double.MaxValue;
+      max = double.MinValue;
     }
 
@@ -81,9 +94,12 @@
 
     public void InitializePlot(ResultCollection results, string chartName, string xAxisTitle, string yAxisTitle) {
+      Results = results;
       if (CreateDataTable) {
         if (dataTableHelper == null) {
           dataTableHelper = new DataTableHelper();
+          minMaxDataTableHelper = new DataTableHelper();
         }
         dataTableHelper.InitializeChart(results, chartName + " Chart", new string[] { yAxisTitle });
+
       }
 
@@ -104,4 +120,9 @@
 
     public void AddPoint(string rowName, Point2D<double> point) {
+      if (point.Y > max)
+        max = point.Y;
+      if (point.Y < min)
+        min = point.Y;
+
       if (!Plot.Rows.ContainsKey(rowName)) {
         if (StoreHistory)
@@ -135,4 +156,9 @@
 
     public void CleanUp() {
+      if (CreateDataTable && trackMinMaxValues) {
+        minMaxDataTableHelper.InitializeChart(Results, chartName + " Scaled Chart", new string[] { yAxisTitle });
+        dataTableHelper.GetFirstDataRow().ForEach(x => minMaxDataTableHelper.AddPoint((x - min) / (max - min)));
+      }
+
       if (!StoreHistory && CreateDataTable) {
         resultsCol[chartName].Value = null;
Index: /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/SolutionToPopulationAnalyzer.cs
===================================================================
--- /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/SolutionToPopulationAnalyzer.cs	(revision 9058)
+++ /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/SolutionToPopulationAnalyzer.cs	(revision 9059)
@@ -101,6 +101,6 @@
 
       populationDiversityPlot = new ScatterPlotHelper(false, true);
-      populationQualityPlot = new ScatterPlotHelper(false, true);
-      qualityPlot = new ScatterPlotHelper(false, true);
+      populationQualityPlot = new ScatterPlotHelper(false, true, true);
+      qualityPlot = new ScatterPlotHelper(false, true, true);
     }
 
