Index: trunk/sources/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.Designer.cs	(revision 14561)
+++ trunk/sources/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.Designer.cs	(revision 14582)
@@ -54,4 +54,5 @@
       this.label3 = new System.Windows.Forms.Label();
       this.commonGroupBox = new System.Windows.Forms.GroupBox();
+      this.clearColorButton = new System.Windows.Forms.Button();
       this.isVisibleInLegendCheckBox = new System.Windows.Forms.CheckBox();
       this.label10 = new System.Windows.Forms.Label();
@@ -70,4 +71,6 @@
       this.binsExactRadioButton = new System.Windows.Forms.RadioButton();
       this.binsApproximatelyRadioButton = new System.Windows.Forms.RadioButton();
+      this.label11 = new System.Windows.Forms.Label();
+      this.aggregationComboBox = new System.Windows.Forms.ComboBox();
       this.lineChartGroupBox = new System.Windows.Forms.GroupBox();
       this.lineWidthNumericUpDown = new System.Windows.Forms.NumericUpDown();
@@ -88,5 +91,5 @@
       // chartTypeComboBox
       // 
-      this.chartTypeComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.chartTypeComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.chartTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
@@ -125,7 +128,7 @@
       // binsNumericUpDown
       // 
-      this.binsNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.binsNumericUpDown.Location = new System.Drawing.Point(57, 19);
+      this.binsNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.binsNumericUpDown.Location = new System.Drawing.Point(82, 19);
       this.binsNumericUpDown.Minimum = new decimal(new int[] {
             1,
@@ -134,5 +137,5 @@
             0});
       this.binsNumericUpDown.Name = "binsNumericUpDown";
-      this.binsNumericUpDown.Size = new System.Drawing.Size(97, 20);
+      this.binsNumericUpDown.Size = new System.Drawing.Size(72, 20);
       this.binsNumericUpDown.TabIndex = 1;
       this.binsNumericUpDown.Value = new decimal(new int[] {
@@ -172,6 +175,7 @@
       // commonGroupBox
       // 
-      this.commonGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
+      this.commonGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.commonGroupBox.Controls.Add(this.clearColorButton);
       this.commonGroupBox.Controls.Add(this.isVisibleInLegendCheckBox);
       this.commonGroupBox.Controls.Add(this.label10);
@@ -190,4 +194,20 @@
       this.commonGroupBox.Text = "Common";
       // 
+      // clearColorButton
+      // 
+      this.clearColorButton.BackColor = System.Drawing.SystemColors.ActiveCaption;
+      this.clearColorButton.Cursor = System.Windows.Forms.Cursors.Default;
+      this.clearColorButton.FlatAppearance.BorderSize = 0;
+      this.clearColorButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+      this.clearColorButton.ForeColor = System.Drawing.Color.Transparent;
+      this.clearColorButton.Location = new System.Drawing.Point(128, 76);
+      this.clearColorButton.Margin = new System.Windows.Forms.Padding(0);
+      this.clearColorButton.Name = "clearColorButton";
+      this.clearColorButton.Size = new System.Drawing.Size(15, 16);
+      this.clearColorButton.TabIndex = 10;
+      this.clearColorButton.TabStop = false;
+      this.clearColorButton.UseVisualStyleBackColor = false;
+      this.clearColorButton.Click += new System.EventHandler(this.clearColorButton_Click);
+      // 
       // isVisibleInLegendCheckBox
       // 
@@ -212,5 +232,5 @@
       // displayNameTextBox
       // 
-      this.displayNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.displayNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.displayNameTextBox.Location = new System.Drawing.Point(102, 19);
@@ -222,6 +242,6 @@
       // axisGroupBox
       // 
-      this.axisGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-            | System.Windows.Forms.AnchorStyles.Left) 
+      this.axisGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.axisGroupBox.Controls.Add(this.panel2);
@@ -238,5 +258,5 @@
       // panel2
       // 
-      this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.panel2.Controls.Add(this.yAxisSecondaryRadioButton);
@@ -273,5 +293,5 @@
       // panel1
       // 
-      this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.panel1.Controls.Add(this.xAxisPrimaryRadioButton);
@@ -335,13 +355,15 @@
       // histoGramGroupBox
       // 
-      this.histoGramGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.histoGramGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.histoGramGroupBox.Controls.Add(this.binsExactRadioButton);
       this.histoGramGroupBox.Controls.Add(this.binsApproximatelyRadioButton);
       this.histoGramGroupBox.Controls.Add(this.binsNumericUpDown);
+      this.histoGramGroupBox.Controls.Add(this.label11);
       this.histoGramGroupBox.Controls.Add(this.label3);
+      this.histoGramGroupBox.Controls.Add(this.aggregationComboBox);
       this.histoGramGroupBox.Location = new System.Drawing.Point(0, 305);
       this.histoGramGroupBox.Name = "histoGramGroupBox";
-      this.histoGramGroupBox.Size = new System.Drawing.Size(327, 47);
+      this.histoGramGroupBox.Size = new System.Drawing.Size(327, 75);
       this.histoGramGroupBox.TabIndex = 2;
       this.histoGramGroupBox.TabStop = false;
@@ -374,7 +396,28 @@
       this.binsApproximatelyRadioButton.CheckedChanged += new System.EventHandler(this.binNumberRadioButton_CheckedChanged);
       // 
+      // label11
+      // 
+      this.label11.AutoSize = true;
+      this.label11.Location = new System.Drawing.Point(6, 49);
+      this.label11.Name = "label11";
+      this.label11.Size = new System.Drawing.Size(67, 13);
+      this.label11.TabIndex = 0;
+      this.label11.Text = "Aggregation:";
+      // 
+      // aggregationComboBox
+      // 
+      this.aggregationComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.aggregationComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.aggregationComboBox.FormattingEnabled = true;
+      this.aggregationComboBox.Location = new System.Drawing.Point(82, 45);
+      this.aggregationComboBox.Name = "aggregationComboBox";
+      this.aggregationComboBox.Size = new System.Drawing.Size(239, 21);
+      this.aggregationComboBox.TabIndex = 3;
+      this.aggregationComboBox.SelectedValueChanged += new System.EventHandler(this.aggregationComboBox_SelectedValueChanged);
+      // 
       // lineChartGroupBox
       // 
-      this.lineChartGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.lineChartGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.lineChartGroupBox.Controls.Add(this.lineWidthNumericUpDown);
@@ -393,5 +436,5 @@
       // lineWidthNumericUpDown
       // 
-      this.lineWidthNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.lineWidthNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.lineWidthNumericUpDown.Location = new System.Drawing.Point(82, 66);
@@ -431,5 +474,5 @@
       // lineStyleComboBox
       // 
-      this.lineStyleComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.lineStyleComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.lineStyleComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
@@ -457,5 +500,5 @@
       this.Controls.Add(this.commonGroupBox);
       this.Name = "DataRowVisualPropertiesControl";
-      this.Size = new System.Drawing.Size(327, 356);
+      this.Size = new System.Drawing.Size(327, 382);
       ((System.ComponentModel.ISupportInitialize)(this.binsNumericUpDown)).EndInit();
       this.commonGroupBox.ResumeLayout(false);
@@ -509,4 +552,7 @@
     private System.Windows.Forms.Label label10;
     private System.Windows.Forms.CheckBox isVisibleInLegendCheckBox;
+    private System.Windows.Forms.Label label11;
+    private System.Windows.Forms.ComboBox aggregationComboBox;
+    private System.Windows.Forms.Button clearColorButton;
   }
 }
Index: trunk/sources/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.cs
===================================================================
--- trunk/sources/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.cs	(revision 14561)
+++ trunk/sources/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.cs	(revision 14582)
@@ -23,4 +23,5 @@
 using System.Drawing;
 using System.Windows.Forms;
+using HeuristicLab.Common.Resources;
 using HeuristicLab.MainForm;
 using HeuristicLab.MainForm.WindowsForms;
@@ -45,4 +46,7 @@
       chartTypeComboBox.DataSource = Enum.GetValues(typeof(DataRowVisualProperties.DataRowChartType));
       lineStyleComboBox.DataSource = Enum.GetValues(typeof(DataRowVisualProperties.DataRowLineStyle));
+      aggregationComboBox.DataSource = Enum.GetValues(typeof(DataRowVisualProperties.DataRowHistogramAggregation));
+      clearColorButton.BackColor = Color.Transparent;
+      clearColorButton.BackgroundImage = VSImageLibrary.Delete;
       SetEnabledStateOfControls();
     }
@@ -65,4 +69,5 @@
           binsApproximatelyRadioButton.Checked = false;
           binsExactRadioButton.Checked = false;
+          aggregationComboBox.SelectedIndex = -1;
           displayNameTextBox.Text = String.Empty;
         } else {
@@ -93,4 +98,5 @@
           binsApproximatelyRadioButton.Checked = !Content.ExactBins;
           binsExactRadioButton.Checked = Content.ExactBins;
+          aggregationComboBox.SelectedItem = Content.Aggregation;
           displayNameTextBox.Text = Content.DisplayName;
           isVisibleInLegendCheckBox.Checked = Content.IsVisibleInLegend;
@@ -102,4 +108,5 @@
     protected virtual void SetEnabledStateOfControls() {
       commonGroupBox.Enabled = Content != null;
+      clearColorButton.Visible = Content != null && !Content.Color.IsEmpty;
       lineChartGroupBox.Enabled = Content != null && Content.ChartType == DataRowVisualProperties.DataRowChartType.Line;
       histoGramGroupBox.Enabled = Content != null && Content.ChartType == DataRowVisualProperties.DataRowChartType.Histogram;
@@ -128,4 +135,17 @@
         colorButton.BackColor = Content.Color;
         colorButton.Text = String.Empty;
+        clearColorButton.Visible = true;
+      }
+    }
+
+    private void clearColorButton_Click(object sender, EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        SuppressEvents = true;
+        try {
+          Content.Color = Color.Empty;
+          colorButton.BackColor = SystemColors.Control;
+          colorButton.Text = "?";
+          clearColorButton.Visible = false;
+        } finally { SuppressEvents = false; }
       }
     }
@@ -178,4 +198,13 @@
         try {
           Content.ExactBins = binsExactRadioButton.Checked;
+        } finally { SuppressEvents = false; }
+      }
+    }
+
+    private void aggregationComboBox_SelectedValueChanged(object sender, EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        SuppressEvents = true;
+        try {
+          Content.Aggregation = (DataRowVisualProperties.DataRowHistogramAggregation)aggregationComboBox.SelectedValue;
         } finally { SuppressEvents = false; }
       }
Index: trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableControl.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableControl.Designer.cs	(revision 14561)
+++ trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableControl.Designer.cs	(revision 14582)
@@ -71,4 +71,5 @@
       legend1.Alignment = System.Drawing.StringAlignment.Center;
       legend1.Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Top;
+      legend1.LegendItemOrder = System.Windows.Forms.DataVisualization.Charting.LegendItemOrder.ReversedSeriesOrder;
       legend1.Name = "Default";
       this.chart.Legends.Add(legend1);
Index: trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableControl.cs
===================================================================
--- trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableControl.cs	(revision 14561)
+++ trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableControl.cs	(revision 14582)
@@ -118,5 +118,7 @@
       foreach (var row in rows) {
         RegisterDataRowEvents(row);
-        var series = new Series(row.Name);
+        var series = new Series(row.Name) {
+          Tag = row
+        };
         if (row.VisualProperties.DisplayName.Trim() != String.Empty) series.LegendText = row.VisualProperties.DisplayName;
         else series.LegendText = row.Name;
@@ -128,4 +130,5 @@
       RecalculateAxesScale(chart.ChartAreas[0]);
       UpdateYCursorInterval();
+      UpdateHistogramTransparency();
     }
 
@@ -174,5 +177,8 @@
           break;
         case DataRowVisualProperties.DataRowChartType.Histogram:
-          series.ChartType = SeriesChartType.StackedColumn;
+          bool stacked = row.VisualProperties.Aggregation == DataRowVisualProperties.DataRowHistogramAggregation.Stacked;
+          series.ChartType = stacked ? SeriesChartType.StackedColumn : SeriesChartType.Column;
+          bool sideBySide = row.VisualProperties.Aggregation == DataRowVisualProperties.DataRowHistogramAggregation.SideBySide;
+          series.SetCustomProperty("DrawSideBySide", sideBySide ? "True" : "False");
           series.SetCustomProperty("PointWidth", "1");
           if (!series.Color.IsEmpty && series.Color.GetBrightness() < 0.25)
@@ -275,4 +281,27 @@
     }
 
+    protected void UpdateHistogramTransparency() {
+      if (Content.Rows.Any(r => RequiresTransparency(r) && r.VisualProperties.Color.IsEmpty)) {
+        foreach (var series in chart.Series) // sync colors before applying palette colors
+          series.Color = ((DataRow)series.Tag).VisualProperties.Color;
+        chart.ApplyPaletteColors();
+      }
+
+      var numTransparent = Content.Rows.Count(RequiresTransparency);
+      if (numTransparent <= 1) return;
+      foreach (var series in chart.Series) {
+        var row = (DataRow)series.Tag;
+        if (!RequiresTransparency(row))
+          continue;
+        var baseColor = row.VisualProperties.Color;
+        if (baseColor.IsEmpty) baseColor = series.Color;
+        series.Color = Color.FromArgb(180, baseColor);
+      }
+    }
+    private bool RequiresTransparency(DataRow row) {
+      return row.VisualProperties.ChartType == DataRowVisualProperties.DataRowChartType.Histogram
+             && row.VisualProperties.Aggregation == DataRowVisualProperties.DataRowHistogramAggregation.Overlapping;
+    }
+
     #region Event Handlers
     #region Content Event Handlers
@@ -327,6 +356,9 @@
         series.Points.Clear();
         ConfigureSeries(series, row);
-        FillSeriesWithRowValues(series, row);
-        RecalculateAxesScale(chart.ChartAreas[0]);
+        if (!invisibleSeries.Contains(series)) {
+          FillSeriesWithRowValues(series, row);
+          RecalculateAxesScale(chart.ChartAreas[0]);
+          UpdateHistogramTransparency();
+        }
       }
     }
Index: trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.Designer.cs	(revision 14561)
+++ trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.Designer.cs	(revision 14582)
@@ -69,5 +69,5 @@
       this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
       this.okButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-      this.okButton.Location = new System.Drawing.Point(325, 425);
+      this.okButton.Location = new System.Drawing.Point(325, 454);
       this.okButton.Name = "okButton";
       this.okButton.Size = new System.Drawing.Size(75, 23);
@@ -81,5 +81,5 @@
       this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
       this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
-      this.cancelButton.Location = new System.Drawing.Point(406, 425);
+      this.cancelButton.Location = new System.Drawing.Point(406, 454);
       this.cancelButton.Name = "cancelButton";
       this.cancelButton.Size = new System.Drawing.Size(75, 23);
@@ -99,5 +99,5 @@
       this.tabControl.Name = "tabControl";
       this.tabControl.SelectedIndex = 0;
-      this.tabControl.Size = new System.Drawing.Size(469, 407);
+      this.tabControl.Size = new System.Drawing.Size(469, 436);
       this.tabControl.TabIndex = 2;
       // 
@@ -108,5 +108,5 @@
       this.seriesTabPage.Name = "seriesTabPage";
       this.seriesTabPage.Padding = new System.Windows.Forms.Padding(3);
-      this.seriesTabPage.Size = new System.Drawing.Size(461, 381);
+      this.seriesTabPage.Size = new System.Drawing.Size(461, 410);
       this.seriesTabPage.TabIndex = 0;
       this.seriesTabPage.Text = "Series";
@@ -133,5 +133,5 @@
       this.splitContainer.Panel2.Controls.Add(this.dataRowVisualPropertiesControl);
       this.splitContainer.Panel2MinSize = 50;
-      this.splitContainer.Size = new System.Drawing.Size(461, 381);
+      this.splitContainer.Size = new System.Drawing.Size(461, 410);
       this.splitContainer.SplitterDistance = 125;
       this.splitContainer.TabIndex = 0;
@@ -169,5 +169,5 @@
       this.seriesListView.Name = "seriesListView";
       this.seriesListView.ShowGroups = false;
-      this.seriesListView.Size = new System.Drawing.Size(119, 346);
+      this.seriesListView.Size = new System.Drawing.Size(119, 375);
       this.seriesListView.TabIndex = 2;
       this.seriesListView.UseCompatibleStateImageBehavior = false;
@@ -183,5 +183,5 @@
       this.dataRowVisualPropertiesControl.Location = new System.Drawing.Point(3, 26);
       this.dataRowVisualPropertiesControl.Name = "dataRowVisualPropertiesControl";
-      this.dataRowVisualPropertiesControl.Size = new System.Drawing.Size(326, 352);
+      this.dataRowVisualPropertiesControl.Size = new System.Drawing.Size(326, 381);
       this.dataRowVisualPropertiesControl.TabIndex = 0;
       // 
@@ -213,5 +213,5 @@
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
       this.CancelButton = this.cancelButton;
-      this.ClientSize = new System.Drawing.Size(493, 460);
+      this.ClientSize = new System.Drawing.Size(493, 489);
       this.Controls.Add(this.tabControl);
       this.Controls.Add(this.cancelButton);
Index: trunk/sources/HeuristicLab.Analysis/3.3/DataVisualization/DataRowVisualProperties.cs
===================================================================
--- trunk/sources/HeuristicLab.Analysis/3.3/DataVisualization/DataRowVisualProperties.cs	(revision 14561)
+++ trunk/sources/HeuristicLab.Analysis/3.3/DataVisualization/DataRowVisualProperties.cs	(revision 14582)
@@ -52,4 +52,11 @@
     }
     #endregion
+    #region Histogram Aggregation
+    public enum DataRowHistogramAggregation {
+      Overlapping,
+      SideBySide,
+      Stacked
+    }
+    #endregion
 
     private DataRowChartType chartType;
@@ -140,4 +147,14 @@
           exactBins = value;
           OnPropertyChanged("ExactBins");
+        }
+      }
+    }
+    private DataRowHistogramAggregation aggregation;
+    public DataRowHistogramAggregation Aggregation {
+      get { return aggregation; }
+      set {
+        if (aggregation != value) {
+          aggregation = value;
+          OnPropertyChanged("Aggregation");
         }
       }
@@ -224,4 +241,9 @@
       get { return exactBins; }
       set { exactBins = value; }
+    }
+    [Storable(Name = "Aggregation", DefaultValue = DataRowHistogramAggregation.Overlapping)]
+    private DataRowHistogramAggregation StorableAggregation {
+      get { return aggregation; }
+      set { aggregation = value; }
     }
     [Storable(Name = "ScaleFactor")]
@@ -255,4 +277,5 @@
       this.bins = original.bins;
       this.exactBins = original.exactBins;
+      this.aggregation = original.aggregation;
       this.scaleFactor = original.scaleFactor;
       this.displayName = original.displayName;
@@ -269,4 +292,5 @@
       bins = 10;
       exactBins = false;
+      aggregation = DataRowHistogramAggregation.Overlapping;
       scaleFactor = 1.0;
       displayName = String.Empty;
