Index: trunk/HeuristicLab.Analysis.Views/3.3/DataTableHistoryView.cs
===================================================================
--- trunk/HeuristicLab.Analysis.Views/3.3/DataTableHistoryView.cs	(revision 15682)
+++ trunk/HeuristicLab.Analysis.Views/3.3/DataTableHistoryView.cs	(revision 16527)
@@ -37,5 +37,5 @@
       DataTable current = viewHost.Content as DataTable;
       if (current == null) return;
-      using (DataTableVisualPropertiesDialog dialog = new DataTableVisualPropertiesDialog(current)) {
+      using (var dialog = new DataTableVisualPropertiesDialog<DataRow>(current)) {
         if (dialog.ShowDialog(this) != DialogResult.OK) return;
         HashSet<string> modifiedDisplayNames = new HashSet<string>(dialog.RowsWithModifiedDisplayNames);
Index: trunk/HeuristicLab.Analysis.Views/3.3/DataTableView.cs
===================================================================
--- trunk/HeuristicLab.Analysis.Views/3.3/DataTableView.cs	(revision 15682)
+++ trunk/HeuristicLab.Analysis.Views/3.3/DataTableView.cs	(revision 16527)
@@ -128,5 +128,5 @@
     public void ShowConfiguration() {
       if (Content != null) {
-        using (var dialog = new DataTableVisualPropertiesDialog(Content)) {
+        using (var dialog = new DataTableVisualPropertiesDialog<DataRow>(Content)) {
           dialog.ShowDialog(this);
         }
@@ -337,12 +337,4 @@
     #region Event Handlers
     #region Content Event Handlers
-    protected override void Content_NameChanged(object sender, EventArgs e) {
-      if (InvokeRequired)
-        Invoke(new EventHandler(Content_NameChanged), sender, e);
-      else {
-        Content.VisualProperties.Title = Content.Name;
-        base.Content_NameChanged(sender, e);
-      }
-    }
     private void Content_VisualPropertiesChanged(object sender, EventArgs e) {
       if (InvokeRequired)
Index: trunk/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.Designer.cs
===================================================================
--- trunk/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.Designer.cs	(revision 15682)
+++ trunk/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.Designer.cs	(revision 16527)
@@ -21,5 +21,5 @@
 
 namespace HeuristicLab.Analysis.Views {
-  partial class DataTableVisualPropertiesDialog {
+  partial class DataTableVisualPropertiesDialog<TDataRow> {
     /// <summary>
     /// Required designer variable.
Index: trunk/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.cs
===================================================================
--- trunk/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.cs	(revision 15682)
+++ trunk/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.cs	(revision 16527)
@@ -27,7 +27,7 @@
 
 namespace HeuristicLab.Analysis.Views {
-  public partial class DataTableVisualPropertiesDialog : Form {
+  public partial class DataTableVisualPropertiesDialog<TDataRow> : Form where TDataRow : class, IDataRow {
     protected bool SuppressEvents { get; set; }
-    protected DataTable Content { get; private set; }
+    protected IDataTable<TDataRow> Content { get; private set; }
     private DataTableVisualProperties originalDataTableVPs;
     private Dictionary<string, DataRowVisualProperties> originalDataRowVPs;
@@ -36,5 +36,5 @@
     public IEnumerable<string> RowsWithModifiedDisplayNames { get { return modifiedDisplayNames.AsEnumerable(); } }
 
-    public DataTableVisualPropertiesDialog(DataTable dataTable) {
+    public DataTableVisualPropertiesDialog(IDataTable<TDataRow> dataTable) {
       InitializeComponent();
       #region Prepare controls
@@ -51,5 +51,5 @@
       originalDataTableVPs = (DataTableVisualProperties)Content.VisualProperties.Clone();
       originalDataRowVPs = new Dictionary<string, DataRowVisualProperties>();
-      foreach (DataRow row in Content.Rows)
+      foreach (var row in Content.Rows)
         originalDataRowVPs.Add(row.Name, (DataRowVisualProperties)row.VisualProperties.Clone());
 
@@ -62,5 +62,5 @@
 
     private void RegisterContentEvents() {
-      foreach (DataRow row in Content.Rows) {
+      foreach (var row in Content.Rows) {
         row.VisualProperties.PropertyChanged += new PropertyChangedEventHandler(Row_VisualProperties_PropertyChanged);
       }
@@ -68,5 +68,5 @@
 
     private void DeregisterContentEvents() {
-      foreach (DataRow row in Content.Rows) {
+      foreach (var row in Content.Rows) {
         row.VisualProperties.PropertyChanged -= new PropertyChangedEventHandler(Row_VisualProperties_PropertyChanged);
       }
@@ -80,5 +80,5 @@
 
     private void Row_VisualProperties_PropertyChanged(object sender, PropertyChangedEventArgs e) {
-      foreach (DataRow row in Content.Rows) {
+      foreach (var row in Content.Rows) {
         if (e.PropertyName == "DisplayName" && row.VisualProperties == sender) {
           modifiedDisplayNames.Add(row.Name);
@@ -109,5 +109,5 @@
     private void cancelButton_Click(object sender, System.EventArgs e) {
       DialogResult = DialogResult.Cancel;
-      foreach (DataRow row in Content.Rows) {
+      foreach (var row in Content.Rows) {
         row.VisualProperties = originalDataRowVPs[row.Name];
       }
@@ -160,5 +160,5 @@
     private void FillSeriesListView() {
       seriesListView.SelectedIndices.Clear();
-      foreach (DataRow row in Content.Rows) {
+      foreach (var row in Content.Rows) {
         seriesListView.Items.Add(new ListViewItem(row.Name, 0));
       }
@@ -168,5 +168,5 @@
 
     private void UpdateAllSeriesPositions() {
-      Dictionary<string, DataRow> rows = Content.Rows.ToDictionary(x => x.Name);
+      var rows = Content.Rows.ToDictionary(x => x.Name);
       Content.Rows.Clear();
       for (int i = 0; i < seriesListView.Items.Count; i++) {
Index: trunk/HeuristicLab.Analysis.Views/3.3/IndexedDataTableView.Designer.cs
===================================================================
--- trunk/HeuristicLab.Analysis.Views/3.3/IndexedDataTableView.Designer.cs	(revision 15682)
+++ trunk/HeuristicLab.Analysis.Views/3.3/IndexedDataTableView.Designer.cs	(revision 16527)
@@ -50,4 +50,5 @@
       System.Windows.Forms.DataVisualization.Charting.Title title1 = new System.Windows.Forms.DataVisualization.Charting.Title();
       this.chart = new HeuristicLab.Visualization.ChartControlsExtensions.EnhancedChart();
+      this.configureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       ((System.ComponentModel.ISupportInitialize)(this.chart)).BeginInit();
@@ -100,4 +101,11 @@
       this.chart.MouseMove += new System.Windows.Forms.MouseEventHandler(this.chart_MouseMove);
       // 
+      // configureToolStripMenuItem
+      // 
+      this.configureToolStripMenuItem.Name = "configureToolStripMenuItem";
+      this.configureToolStripMenuItem.Size = new System.Drawing.Size(256, 22);
+      this.configureToolStripMenuItem.Text = "Configure Chart...";
+      this.configureToolStripMenuItem.Click += new System.EventHandler(this.configureToolStripMenuItem_Click);
+      // 
       // DataTableView
       // 
@@ -121,5 +129,5 @@
 
     protected HeuristicLab.Visualization.ChartControlsExtensions.EnhancedChart chart;
-
+    private System.Windows.Forms.ToolStripMenuItem configureToolStripMenuItem;
   }
 }
Index: trunk/HeuristicLab.Analysis.Views/3.3/IndexedDataTableView.cs
===================================================================
--- trunk/HeuristicLab.Analysis.Views/3.3/IndexedDataTableView.cs	(revision 15682)
+++ trunk/HeuristicLab.Analysis.Views/3.3/IndexedDataTableView.cs	(revision 16527)
@@ -20,7 +20,4 @@
 #endregion
 
-using HeuristicLab.Collections;
-using HeuristicLab.Core.Views;
-using HeuristicLab.MainForm;
 using System;
 using System.Collections.Generic;
@@ -29,9 +26,12 @@
 using System.Windows.Forms;
 using System.Windows.Forms.DataVisualization.Charting;
+using HeuristicLab.Collections;
+using HeuristicLab.Core.Views;
+using HeuristicLab.MainForm;
 
 namespace HeuristicLab.Analysis.Views {
   [View("IndexedDataTable View")]
   [Content(typeof(IndexedDataTable<>), true)]
-  public partial class IndexedDataTableView<T> : NamedItemView {
+  public partial class IndexedDataTableView<T> : NamedItemView, IConfigureableView {
     protected List<Series> invisibleSeries;
     protected Dictionary<IObservableList<Tuple<T, double>>, IndexedDataRow<T>> valuesRowsTable;
@@ -49,4 +49,5 @@
       chart.ChartAreas[0].CursorX.Interval = 1;
       chart.SuppressExceptions = true;
+      chart.ContextMenuStrip.Items.Add(configureToolStripMenuItem);
     }
 
@@ -131,4 +132,12 @@
       base.SetEnabledStateOfControls();
       chart.Enabled = Content != null;
+    }
+
+    public void ShowConfiguration() {
+      if (Content != null) {
+        using (var dialog = new DataTableVisualPropertiesDialog<IndexedDataRow<T>>(Content)) {
+          dialog.ShowDialog(this);
+        }
+      } else MessageBox.Show("Nothing to configure.");
     }
 
@@ -211,4 +220,6 @@
       if (Content.VisualProperties.TitleFont != null) chart.Titles[0].Font = Content.VisualProperties.TitleFont;
       if (!Content.VisualProperties.TitleColor.IsEmpty) chart.Titles[0].ForeColor = Content.VisualProperties.TitleColor;
+      chart.Titles[0].Text = Content.VisualProperties.Title;
+      chart.Titles[0].Visible = !string.IsNullOrEmpty(Content.VisualProperties.Title);
 
       if (Content.VisualProperties.AxisTitleFont != null) area.AxisX.TitleFont = Content.VisualProperties.AxisTitleFont;
@@ -313,12 +324,4 @@
     #region Event Handlers
     #region Content Event Handlers
-    protected override void Content_NameChanged(object sender, EventArgs e) {
-      if (InvokeRequired)
-        Invoke(new EventHandler(Content_NameChanged), sender, e);
-      else {
-        chart.Titles[0].Text = Content.Name;
-        base.Content_NameChanged(sender, e);
-      }
-    }
     private void Content_VisualPropertiesChanged(object sender, EventArgs e) {
       if (InvokeRequired)
@@ -508,4 +511,7 @@
     }
     #endregion
+    private void configureToolStripMenuItem_Click(object sender, EventArgs e) {
+      ShowConfiguration();
+    }
     #endregion
 
Index: trunk/HeuristicLab.Analysis.Views/3.3/ScatterPlotView.cs
===================================================================
--- trunk/HeuristicLab.Analysis.Views/3.3/ScatterPlotView.cs	(revision 15682)
+++ trunk/HeuristicLab.Analysis.Views/3.3/ScatterPlotView.cs	(revision 16527)
@@ -40,4 +40,5 @@
     protected Dictionary<Series, Series> seriesToRegressionSeriesTable;
     private double xMin, xMax, yMin, yMax;
+    protected bool showChartOnly = false;
 
     public new ScatterPlot Content {
@@ -46,13 +47,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();
         }
       }
@@ -137,4 +135,16 @@
         }
       } 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;
+      }
     }
 
