Index: branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/DataRow.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/DataRow.cs	(revision 16483)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/DataRow.cs	(revision 16529)
@@ -34,5 +34,5 @@
   [Item("DataRow", "A row of data values.")]
   [StorableType("34A66F23-0FBB-414C-81C8-D3AA1C470446")]
-  public class DataRow : NamedItem {
+  public class DataRow : NamedItem , IDataRow {
     private DataRowVisualProperties visualProperties;
     public DataRowVisualProperties VisualProperties {
Index: branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/DataTable.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/DataTable.cs	(revision 16483)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/DataTable.cs	(revision 16529)
@@ -37,5 +37,5 @@
   [Item("DataTable", "A table of data values.")]
   [StorableType("3DD78514-DBCE-4B2A-83B9-847FC67C264D")]
-  public class DataTable : NamedItem, IStringConvertibleMatrix {
+  public class DataTable : NamedItem, IStringConvertibleMatrix, IDataTable<DataRow> {
     public static new Image StaticItemImage {
       get { return HeuristicLab.Common.Resources.VSImageLibrary.Performance; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/IndexedDataRow.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/IndexedDataRow.cs	(revision 16483)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/IndexedDataRow.cs	(revision 16529)
@@ -32,5 +32,5 @@
   [Item("IndexedDataRow", "A data row that contains a series of points.")]
   [StorableType("0B0BB900-4C30-4485-82C2-C9E633110685")]
-  public class IndexedDataRow<T> : NamedItem {
+  public class IndexedDataRow<T> : NamedItem, IDataRow {
 
     private DataRowVisualProperties visualProperties;
Index: branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/IndexedDataTable.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/IndexedDataTable.cs	(revision 16483)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/IndexedDataTable.cs	(revision 16529)
@@ -34,5 +34,5 @@
   [Item("IndexedDataTable", "A data table where the points are also given with a certain index.")]
   [StorableType("1453C842-6312-4931-9B05-20399A0528D6")]
-  public class IndexedDataTable<T> : NamedItem, IStringConvertibleMatrix {
+  public class IndexedDataTable<T> : NamedItem, IStringConvertibleMatrix, IDataTable<IndexedDataRow<T>> {
     public static new Image StaticItemImage {
       get { return HeuristicLab.Common.Resources.VSImageLibrary.Performance; }
@@ -90,5 +90,5 @@
     public IndexedDataTable(string name)
       : base(name) {
-      VisualProperties = new DataTableVisualProperties();
+      VisualProperties = new DataTableVisualProperties(name);
       rows = new NamedItemCollection<IndexedDataRow<T>>();
       this.RegisterRowsEvents();
@@ -96,5 +96,5 @@
     public IndexedDataTable(string name, string description)
       : base(name, description) {
-      VisualProperties = new DataTableVisualProperties();
+      VisualProperties = new DataTableVisualProperties(name);
       rows = new NamedItemCollection<IndexedDataRow<T>>();
       this.RegisterRowsEvents();
@@ -103,4 +103,22 @@
     public override IDeepCloneable Clone(Cloner cloner) {
       return new IndexedDataTable<T>(this, cloner);
+    }
+
+    #region BackwardsCompatibility3.3
+    // Using the name as title is the old style
+    [Storable(DefaultValue = true)]
+    private bool useNameAsTitle = false;
+    #endregion
+
+    [StorableHook(HookType.AfterDeserialization)]
+    private void AfterDeserialization() {
+      // BackwardsCompatibility3.3
+      #region Backwards compatible code, remove with 3.4
+      // Previously, the Name of the IndexedDataTable was used as Title
+      if (useNameAsTitle && string.IsNullOrEmpty(VisualProperties.Title)) {
+        VisualProperties.Title = Name;
+        useNameAsTitle = false;
+      }
+      #endregion
     }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/Interfaces/IDataRow.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/Interfaces/IDataRow.cs	(revision 16529)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/Interfaces/IDataRow.cs	(revision 16529)
@@ -0,0 +1,28 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using HeuristicLab.Core;
+
+namespace HeuristicLab.Analysis {
+  public interface IDataRow : INamedItem {
+    DataRowVisualProperties VisualProperties { get; set; }
+  }
+}
Index: branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/Interfaces/IDataTable.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/Interfaces/IDataTable.cs	(revision 16529)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/Interfaces/IDataTable.cs	(revision 16529)
@@ -0,0 +1,29 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using HeuristicLab.Core;
+
+namespace HeuristicLab.Analysis {
+  public interface IDataTable<TDataRow> : INamedItem where TDataRow : class, IDataRow {
+    DataTableVisualProperties VisualProperties { get; set; }
+    NamedItemCollection<TDataRow> Rows { get; }
+  }
+}
Index: branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/HeuristicLab.Analysis-3.3.csproj
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/HeuristicLab.Analysis-3.3.csproj	(revision 16483)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/HeuristicLab.Analysis-3.3.csproj	(revision 16529)
@@ -141,4 +141,6 @@
     <Compile Include="DataVisualization\IndexedDataRow.cs" />
     <Compile Include="DataVisualization\IndexedDataTable.cs" />
+    <Compile Include="DataVisualization\Interfaces\IDataRow.cs" />
+    <Compile Include="DataVisualization\Interfaces\IDataTable.cs" />
     <Compile Include="DataVisualization\ScatterPlotDataRowVisualProperties.cs" />
     <Compile Include="DataVisualization\ScatterPlotDataRow.cs" />
