Index: stable/HeuristicLab.Analysis.Views/3.3/DataTableView.cs
===================================================================
--- trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableView.cs	(revision 14982)
+++ stable/HeuristicLab.Analysis.Views/3.3/DataTableView.cs	(revision 15097)
@@ -36,4 +36,5 @@
     protected List<Series> invisibleSeries;
     protected Dictionary<IObservableList<double>, DataRow> valuesRowsTable;
+    protected bool showChartOnly = false;
 
     public new DataTable Content {
@@ -42,13 +43,10 @@
     }
 
-    public bool ShowName {
-      get { return nameTextBox.Visible; }
+    public bool ShowChartOnly {
+      get { return showChartOnly; }
       set {
-        if (nameTextBox.Visible != value) {
-          foreach (Control c in Controls) {
-            if (c == chart) continue;
-            c.Visible = value;
-          }
-          chart.Dock = value ? DockStyle.None : DockStyle.Fill;
+        if (showChartOnly != value) {
+          showChartOnly = value;
+          UpdateControlsVisibility();
         }
       }
@@ -133,4 +131,17 @@
       } else MessageBox.Show("Nothing to configure.");
     }
+
+    protected void UpdateControlsVisibility() {
+      if (InvokeRequired)
+        Invoke(new Action(UpdateControlsVisibility));
+      else {
+        foreach (Control c in Controls) {
+          if (c == chart) continue;
+          c.Visible = !showChartOnly;
+        }
+        chart.Dock = showChartOnly ? DockStyle.Fill : DockStyle.None;
+      }
+    }
+
     protected virtual void AddDataRows(IEnumerable<DataRow> rows) {
       foreach (var row in rows) {
@@ -195,7 +206,7 @@
           break;
         case DataRowVisualProperties.DataRowChartType.Histogram:
-          bool stacked = row.VisualProperties.Aggregation == DataRowVisualProperties.DataRowHistogramAggregation.Stacked;
+          bool stacked = Content.VisualProperties.HistogramAggregation == DataTableVisualProperties.DataTableHistogramAggregation.Stacked;
           series.ChartType = stacked ? SeriesChartType.StackedColumn : SeriesChartType.Column;
-          bool sideBySide = row.VisualProperties.Aggregation == DataRowVisualProperties.DataRowHistogramAggregation.SideBySide;
+          bool sideBySide = Content.VisualProperties.HistogramAggregation == DataTableVisualProperties.DataTableHistogramAggregation.SideBySide;
           series.SetCustomProperty("DrawSideBySide", sideBySide ? "True" : "False");
           series.SetCustomProperty("PointWidth", "1");
@@ -319,5 +330,5 @@
     private bool RequiresTransparency(DataRow row) {
       return row.VisualProperties.ChartType == DataRowVisualProperties.DataRowChartType.Histogram
-             && row.VisualProperties.Aggregation == DataRowVisualProperties.DataRowHistogramAggregation.Overlapping;
+             && Content.VisualProperties.HistogramAggregation == DataTableVisualProperties.DataTableHistogramAggregation.Overlapping;
     }
 
@@ -338,4 +349,9 @@
         ConfigureChartArea(chart.ChartAreas[0]);
         RecalculateAxesScale(chart.ChartAreas[0]); // axes min/max could have changed
+
+        chart.Update(); // side-by-side and stacked histograms are not always correctly displayed without an update
+        // (chart update is required before the series are updated, otherwise the widths of the bars are updated incorrectly)
+        foreach (var row in Content.Rows.Where(r => r.VisualProperties.ChartType == DataRowVisualProperties.DataRowChartType.Histogram))
+          Row_VisualPropertiesChanged(row, EventArgs.Empty); // Histogram properties could have changed
       }
     }
@@ -551,5 +567,5 @@
       switch (row.VisualProperties.ChartType) {
         case DataRowVisualProperties.DataRowChartType.Histogram:
-          // when a single histogram is updated, all histograms must be updated. otherwise the value ranges and bin sizes may not be equal.
+          // when a single histogram is updated, all histograms must be updated. otherwise the value ranges may not be equal.
           var histograms = Content.Rows
             .Where(r => r.VisualProperties.ChartType == DataRowVisualProperties.DataRowChartType.Histogram)
@@ -595,5 +611,5 @@
       if (!validValues.Any()) return;
 
-      int bins = histogramRows.Max(r => r.VisualProperties.Bins);
+      int bins = Content.VisualProperties.HistogramBins;
       decimal minValue = (decimal)validValues.Min();
       decimal maxValue = (decimal)validValues.Max();
@@ -605,5 +621,5 @@
       }
 
-      if (!histogramRows.Any(r => r.VisualProperties.ExactBins)) {
+      if (!Content.VisualProperties.HistogramExactBins) {
         intervalWidth = (decimal)HumanRoundRange((double)intervalWidth);
         minValue = Math.Floor(minValue / intervalWidth) * intervalWidth;
