Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/HeuristicLab.DataPreprocessing.Views-3.3.csproj
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/HeuristicLab.DataPreprocessing.Views-3.3.csproj	(revision 10914)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/HeuristicLab.DataPreprocessing.Views-3.3.csproj	(revision 10915)
@@ -88,4 +88,10 @@
       <DependentUpon>ComparisonFilterView.cs</DependentUpon>
     </Compile>
+    <Compile Include="SingleScatterPlotView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SingleScatterPlotView.Designer.cs">
+      <DependentUpon>SingleScatterPlotView.cs</DependentUpon>
+    </Compile>
     <Compile Include="DataCompletenessView.cs">
       <SubType>UserControl</SubType>
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/MultiScatterPlotView.Designer.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/MultiScatterPlotView.Designer.cs	(revision 10914)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/MultiScatterPlotView.Designer.cs	(revision 10915)
@@ -24,85 +24,31 @@
     /// </summary>
     private void InitializeComponent() {
-      this.scatterPlotView = new HeuristicLab.DataPreprocessing.Views.PreprocessingScatterPlotView();
-      this.groupBox1 = new System.Windows.Forms.GroupBox();
-      this.label2 = new System.Windows.Forms.Label();
-      this.label1 = new System.Windows.Forms.Label();
-      this.comboBoxYVariable = new System.Windows.Forms.ComboBox();
-      this.comboBoxXVariable = new System.Windows.Forms.ComboBox();
-      this.groupBox1.SuspendLayout();
+      this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
       this.SuspendLayout();
       // 
-      // scatterPlotView
+      // tableLayoutPanel
       // 
-      this.scatterPlotView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+      this.tableLayoutPanel.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.scatterPlotView.Caption = "ScatterPlot View";
-      this.scatterPlotView.Content = null;
-      this.scatterPlotView.Location = new System.Drawing.Point(188, 0);
-      this.scatterPlotView.Name = "scatterPlotView";
-      this.scatterPlotView.ReadOnly = false;
-      this.scatterPlotView.Size = new System.Drawing.Size(670, 512);
-      this.scatterPlotView.TabIndex = 0;
+      this.tableLayoutPanel.AutoScroll = true;
+      this.tableLayoutPanel.ColumnCount = 1;
+      this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
+      this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+      this.tableLayoutPanel.Location = new System.Drawing.Point(3, 3);
+      this.tableLayoutPanel.Name = "tableLayoutPanel";
+      this.tableLayoutPanel.RowCount = 1;
+      this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle());
+      this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 514F));
+      this.tableLayoutPanel.Size = new System.Drawing.Size(860, 514);
+      this.tableLayoutPanel.TabIndex = 1;
       // 
-      // groupBox1
-      // 
-      this.groupBox1.Controls.Add(this.label2);
-      this.groupBox1.Controls.Add(this.label1);
-      this.groupBox1.Controls.Add(this.comboBoxYVariable);
-      this.groupBox1.Controls.Add(this.comboBoxXVariable);
-      this.groupBox1.Location = new System.Drawing.Point(3, 3);
-      this.groupBox1.Name = "groupBox1";
-      this.groupBox1.Size = new System.Drawing.Size(179, 157);
-      this.groupBox1.TabIndex = 1;
-      this.groupBox1.TabStop = false;
-      this.groupBox1.Text = "Options";
-      // 
-      // label2
-      // 
-      this.label2.AutoSize = true;
-      this.label2.Location = new System.Drawing.Point(17, 80);
-      this.label2.Name = "label2";
-      this.label2.Size = new System.Drawing.Size(55, 13);
-      this.label2.TabIndex = 3;
-      this.label2.Text = "Y Variable";
-      // 
-      // label1
-      // 
-      this.label1.AutoSize = true;
-      this.label1.Location = new System.Drawing.Point(17, 25);
-      this.label1.Name = "label1";
-      this.label1.Size = new System.Drawing.Size(55, 13);
-      this.label1.TabIndex = 2;
-      this.label1.Text = "X Variable";
-      // 
-      // comboBoxYVariable
-      // 
-      this.comboBoxYVariable.FormattingEnabled = true;
-      this.comboBoxYVariable.Location = new System.Drawing.Point(20, 96);
-      this.comboBoxYVariable.Name = "comboBoxYVariable";
-      this.comboBoxYVariable.Size = new System.Drawing.Size(121, 21);
-      this.comboBoxYVariable.TabIndex = 1;
-      this.comboBoxYVariable.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged);
-      // 
-      // comboBoxXVariable
-      // 
-      this.comboBoxXVariable.FormattingEnabled = true;
-      this.comboBoxXVariable.Location = new System.Drawing.Point(20, 41);
-      this.comboBoxXVariable.Name = "comboBoxXVariable";
-      this.comboBoxXVariable.Size = new System.Drawing.Size(121, 21);
-      this.comboBoxXVariable.TabIndex = 0;
-      this.comboBoxXVariable.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged);
-      // 
-      // PreprocessingScatterPlotView
+      // MultiScatterPlotView
       // 
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.groupBox1);
-      this.Controls.Add(this.scatterPlotView);
-      this.Name = "PreprocessingScatterPlotView";
+      this.Controls.Add(this.tableLayoutPanel);
+      this.Name = "MultiScatterPlotView";
       this.Size = new System.Drawing.Size(863, 517);
-      this.groupBox1.ResumeLayout(false);
-      this.groupBox1.PerformLayout();
       this.ResumeLayout(false);
 
@@ -111,10 +57,6 @@
     #endregion
 
-    private HeuristicLab.DataPreprocessing.Views.PreprocessingScatterPlotView scatterPlotView;
-    private System.Windows.Forms.GroupBox groupBox1;
-    private System.Windows.Forms.Label label2;
-    private System.Windows.Forms.Label label1;
-    private System.Windows.Forms.ComboBox comboBoxYVariable;
-    private System.Windows.Forms.ComboBox comboBoxXVariable;
+    private System.Windows.Forms.TableLayoutPanel tableLayoutPanel;
+
   }
 }
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/MultiScatterPlotView.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/MultiScatterPlotView.cs	(revision 10914)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/MultiScatterPlotView.cs	(revision 10915)
@@ -3,5 +3,4 @@
 using System.ComponentModel;
 using System.Drawing;
-using System.Data;
 using System.Linq;
 using System.Text;
@@ -18,9 +17,10 @@
 namespace HeuristicLab.DataPreprocessing.Views {
 
-  [View("Scatter Plot View")]
-  [Content(typeof(ScatterPlotContent), false)]
+  [View("Multi Scatter Plot View")]
+  [Content(typeof(ScatterPlotContent), true)]
   public partial class MultiScatterPlotView : ItemView {
 
     private IChartLogic logic;
+    private List<string> variables;
 
     public MultiScatterPlotView() {
@@ -35,17 +35,5 @@
     public void InitData() {
 
-      IEnumerable<string> variables = logic.GetVariableNames();
-      comboBoxXVariable.Items.Clear();
-      comboBoxYVariable.Items.Clear();
-
-      comboBoxXVariable.Items.AddRange(variables.ToArray());
-      comboBoxYVariable.Items.AddRange(variables.ToArray());
-
-      if (variables.Count() >= 2) {
-        comboBoxXVariable.SelectedIndex = 0;
-        comboBoxYVariable.SelectedIndex = 1;
-        UpdateScatterPlot();
-        
-      }
+      variables = new List<string>(logic.GetVariableNames());
 
     }
@@ -56,17 +44,100 @@
         logic = Content.ChartLogic;
         InitData();
+        GenerateMultiLayout();
       }
     }
 
-    private void comboBox_SelectedIndexChanged(object sender, EventArgs e) {
-      UpdateScatterPlot();
+    private void GenerateMultiLayout() 
+    {
+      tableLayoutPanel.Controls.Clear();
+      //Clear out the existing row and column styles
+      tableLayoutPanel.ColumnStyles.Clear();
+      tableLayoutPanel.RowStyles.Clear();
+
+      //Set row and column count
+      tableLayoutPanel.ColumnCount = variables.Count+1;
+      tableLayoutPanel.RowCount = variables.Count+1;
+
+      int headerSize = 50;
+      int maxAutoSizeElements = 6;
+      int fixedElementSize = 200;
+
+      tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, headerSize));
+      tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, headerSize));
+      // set column and row layout
+      for (int x = 0; x < variables.Count; x++) 
+      {
+        // auto size
+        if (variables.Count <= maxAutoSizeElements) {
+          tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, (tableLayoutPanel.Width - headerSize) / variables.Count));
+          tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, (tableLayoutPanel.Height - headerSize) / variables.Count));
+        } 
+        // fixed size
+        else {
+          tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, fixedElementSize));
+          tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, fixedElementSize));
+        }
+      }
+
+      // set variable header elements
+      for (int i = 1; i < variables.Count +1; i++)
+      {
+         Button b1 = new Button();
+         b1.Text = variables[i-1];
+         b1.Dock = DockStyle.Fill;
+         tableLayoutPanel.Controls.Add(b1,0,i);
+         Button b2 = new Button();
+         b2.Text = variables[i - 1];
+         b2.Dock = DockStyle.Fill;
+         tableLayoutPanel.Controls.Add(b2, i, 0);
+      }
+
+      //set scatter plots and histograms
+      for (int x = 1; x < variables.Count + 1; x++) 
+      {
+
+        for (int y = 1; y < variables.Count + 1; y++) 
+        {
+          // use historgram if x variable equals y variable
+          if (x == y) {
+            PreprocessingDataTable dataTable = new PreprocessingDataTable();
+            DataRow dataRow = logic.CreateDataRow(variables[x - 1], DataRowVisualProperties.DataRowChartType.Histogram);
+            dataTable.Rows.Add(dataRow);
+            PreprocessingDataTableView pcv = new PreprocessingDataTableView();
+            pcv.DoubleClick += tableLayoutElementDoubleClick;
+            pcv.Content = dataTable;
+            tableLayoutPanel.Controls.Add(pcv, y, x);
+          }
+          //scatter plot
+          else {   
+            ScatterPlot scatterPlot = logic.CreateScatterPlot(variables[x - 1], variables[y-1]);   
+            PreprocessingScatterPlotView pspv = new PreprocessingScatterPlotView();
+            pspv.DoubleClick += tableLayoutElementDoubleClick;
+            pspv.Content = scatterPlot;
+            pspv.Dock = DockStyle.Fill;
+            tableLayoutPanel.Controls.Add(pspv, y, x);
+          }
+        }
+      }
     }
 
-    private void UpdateScatterPlot() {
-      if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null) {
-        ScatterPlot scatterPlot = logic.CreateScatterPlot("ScatterPlot", (string)comboBoxXVariable.SelectedItem, (string)comboBoxYVariable.SelectedItem);
-        scatterPlotView.Content = scatterPlot;
-      }
+    private void tableLayoutElementDoubleClick(object sender, EventArgs e) {
+
+       //histogram clicked
+       if(sender.GetType() == typeof(PreprocessingDataTableView))
+       {
+         PreprocessingDataTableView pcv = (PreprocessingDataTableView)sender;
+         //ScatterPlotContent spc = new ScatterPlotContent(
+         
+       } 
+       // scatter plot clicked
+       else if (sender.GetType() == typeof(PreprocessingScatterPlotView)) {
+         PreprocessingScatterPlotView pspv = (PreprocessingScatterPlotView)sender;
+         MainFormManager.MainForm.ShowContent(this.Content, typeof(SingleScatterPlotView));
+       }
+
+       
     }
+    
 
   }
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/PreprocessingScatterPlotView.Designer.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/PreprocessingScatterPlotView.Designer.cs	(revision 10914)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/PreprocessingScatterPlotView.Designer.cs	(revision 10915)
@@ -45,4 +45,5 @@
     /// </summary>
     private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
       System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
       System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
@@ -55,7 +56,7 @@
       // chart
       // 
-      this.chart.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.chart.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.chart.BorderlineColor = System.Drawing.Color.Black;
       this.chart.BorderlineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Solid;
@@ -71,5 +72,5 @@
       legend1.Name = "Default";
       this.chart.Legends.Add(legend1);
-      this.chart.Location = new System.Drawing.Point(0, 26);
+      this.chart.Location = new System.Drawing.Point(0, 3);
       this.chart.Name = "chart";
       series1.ChartArea = "Default";
@@ -77,5 +78,5 @@
       series1.Name = "Default";
       this.chart.Series.Add(series1);
-      this.chart.Size = new System.Drawing.Size(359, 248);
+      this.chart.Size = new System.Drawing.Size(359, 271);
       this.chart.TabIndex = 3;
       this.chart.Text = "chart";
@@ -83,4 +84,5 @@
       title1.Name = "Default";
       title1.Text = "Title";
+      title1.Visible = false;
       this.chart.Titles.Add(title1);
       this.chart.CustomizeLegend += new System.EventHandler<System.Windows.Forms.DataVisualization.Charting.CustomizeLegendEventArgs>(this.chart_CustomizeLegend);
@@ -88,15 +90,12 @@
       this.chart.MouseMove += new System.Windows.Forms.MouseEventHandler(this.chart_MouseMove);
       // 
-      // ScatterPlotView
+      // PreprocessingScatterPlotView
       // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
       this.Controls.Add(this.chart);
-      this.Name = "ScatterPlotView";
+      this.Name = "PreprocessingScatterPlotView";
       this.Size = new System.Drawing.Size(359, 274);
-      this.Controls.SetChildIndex(this.chart, 0);
       ((System.ComponentModel.ISupportInitialize)(this.chart)).EndInit();
       this.ResumeLayout(false);
-      this.PerformLayout();
 
     }
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/PreprocessingScatterPlotView.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/PreprocessingScatterPlotView.cs	(revision 10914)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/PreprocessingScatterPlotView.cs	(revision 10915)
@@ -96,10 +96,8 @@
       base.OnContentChanged();
       invisibleSeries.Clear();
-      chart.Titles[0].Text = string.Empty;
       chart.ChartAreas[0].AxisX.Title = string.Empty;
       chart.ChartAreas[0].AxisY.Title = string.Empty;
       chart.Series.Clear();
       if (Content != null) {
-        chart.Titles[0].Text = Content.Name;
         AddScatterPlotDataRows(Content.Rows);
         ConfigureChartArea(chart.ChartAreas[0]);
@@ -178,7 +176,4 @@
 
     private void ConfigureChartArea(ChartArea area) {
-      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;
 
       if (Content.VisualProperties.AxisTitleFont != null) area.AxisX.TitleFont = Content.VisualProperties.AxisTitleFont;
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/SingleScatterPlotView.Designer.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/SingleScatterPlotView.Designer.cs	(revision 10915)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/SingleScatterPlotView.Designer.cs	(revision 10915)
@@ -0,0 +1,120 @@
+﻿namespace HeuristicLab.DataPreprocessing.Views {
+  partial class SingleScatterPlotView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.scatterPlotView = new HeuristicLab.DataPreprocessing.Views.PreprocessingScatterPlotView();
+      this.groupBox1 = new System.Windows.Forms.GroupBox();
+      this.label2 = new System.Windows.Forms.Label();
+      this.label1 = new System.Windows.Forms.Label();
+      this.comboBoxYVariable = new System.Windows.Forms.ComboBox();
+      this.comboBoxXVariable = new System.Windows.Forms.ComboBox();
+      this.groupBox1.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // scatterPlotView
+      // 
+      this.scatterPlotView.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.scatterPlotView.Caption = "ScatterPlot View";
+      this.scatterPlotView.Content = null;
+      this.scatterPlotView.Location = new System.Drawing.Point(169, 3);
+      this.scatterPlotView.Name = "scatterPlotView";
+      this.scatterPlotView.ReadOnly = false;
+      this.scatterPlotView.Size = new System.Drawing.Size(689, 509);
+      this.scatterPlotView.TabIndex = 0;
+      // 
+      // groupBox1
+      // 
+      this.groupBox1.Controls.Add(this.label2);
+      this.groupBox1.Controls.Add(this.label1);
+      this.groupBox1.Controls.Add(this.comboBoxYVariable);
+      this.groupBox1.Controls.Add(this.comboBoxXVariable);
+      this.groupBox1.Location = new System.Drawing.Point(3, 3);
+      this.groupBox1.Name = "groupBox1";
+      this.groupBox1.Size = new System.Drawing.Size(160, 140);
+      this.groupBox1.TabIndex = 1;
+      this.groupBox1.TabStop = false;
+      this.groupBox1.Text = "Options";
+      // 
+      // label2
+      // 
+      this.label2.AutoSize = true;
+      this.label2.Location = new System.Drawing.Point(17, 80);
+      this.label2.Name = "label2";
+      this.label2.Size = new System.Drawing.Size(55, 13);
+      this.label2.TabIndex = 3;
+      this.label2.Text = "Y Variable";
+      // 
+      // label1
+      // 
+      this.label1.AutoSize = true;
+      this.label1.Location = new System.Drawing.Point(17, 25);
+      this.label1.Name = "label1";
+      this.label1.Size = new System.Drawing.Size(55, 13);
+      this.label1.TabIndex = 2;
+      this.label1.Text = "X Variable";
+      // 
+      // comboBoxYVariable
+      // 
+      this.comboBoxYVariable.FormattingEnabled = true;
+      this.comboBoxYVariable.Location = new System.Drawing.Point(20, 96);
+      this.comboBoxYVariable.Name = "comboBoxYVariable";
+      this.comboBoxYVariable.Size = new System.Drawing.Size(121, 21);
+      this.comboBoxYVariable.TabIndex = 1;
+      this.comboBoxYVariable.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged);
+      // 
+      // comboBoxXVariable
+      // 
+      this.comboBoxXVariable.FormattingEnabled = true;
+      this.comboBoxXVariable.Location = new System.Drawing.Point(20, 41);
+      this.comboBoxXVariable.Name = "comboBoxXVariable";
+      this.comboBoxXVariable.Size = new System.Drawing.Size(121, 21);
+      this.comboBoxXVariable.TabIndex = 0;
+      this.comboBoxXVariable.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged);
+      // 
+      // SingleScatterPlotView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.groupBox1);
+      this.Controls.Add(this.scatterPlotView);
+      this.Name = "SingleScatterPlotView";
+      this.Size = new System.Drawing.Size(863, 517);
+      this.groupBox1.ResumeLayout(false);
+      this.groupBox1.PerformLayout();
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private HeuristicLab.DataPreprocessing.Views.PreprocessingScatterPlotView scatterPlotView;
+    private System.Windows.Forms.GroupBox groupBox1;
+    private System.Windows.Forms.Label label2;
+    private System.Windows.Forms.Label label1;
+    private System.Windows.Forms.ComboBox comboBoxYVariable;
+    private System.Windows.Forms.ComboBox comboBoxXVariable;
+  }
+}
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/SingleScatterPlotView.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/SingleScatterPlotView.cs	(revision 10915)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/SingleScatterPlotView.cs	(revision 10915)
@@ -0,0 +1,75 @@
+﻿using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using HeuristicLab.Analysis;
+using HeuristicLab.Analysis.Views;
+using HeuristicLab.Collections;
+using HeuristicLab.Core;
+using HeuristicLab.Core.Views;
+using HeuristicLab.Data;
+using HeuristicLab.DataPreprocessing.Implementations;
+using HeuristicLab.MainForm;
+
+namespace HeuristicLab.DataPreprocessing.Views {
+
+  [View("Single Scatter Plot View")]
+  [Content(typeof(ScatterPlotContent), false)]
+  public partial class SingleScatterPlotView : ItemView {
+
+    private IChartLogic logic;
+
+    public SingleScatterPlotView() {
+      InitializeComponent();
+    }
+
+    public new ScatterPlotContent Content {
+      get { return (ScatterPlotContent)base.Content; }
+      set { base.Content = value; }
+    }
+
+    public void InitData() {
+
+      IEnumerable<string> variables = logic.GetVariableNames();
+      comboBoxXVariable.Items.Clear();
+      comboBoxYVariable.Items.Clear();
+
+      comboBoxXVariable.Items.AddRange(variables.ToArray());
+      comboBoxYVariable.Items.AddRange(variables.ToArray());
+
+      if (variables.Count() >= 2) {
+        comboBoxXVariable.SelectedIndex = 0;
+        comboBoxYVariable.SelectedIndex = 1;
+        UpdateScatterPlot();
+        
+      }
+
+    }
+
+    protected override void OnContentChanged() {
+      base.OnContentChanged();
+      if (Content != null) {
+        logic = Content.ChartLogic;
+        InitData();
+      }
+    }
+
+    private void comboBox_SelectedIndexChanged(object sender, EventArgs e) {
+      UpdateScatterPlot();
+    }
+
+    private void UpdateScatterPlot() {
+      if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null) {
+        ScatterPlot scatterPlot = logic.CreateScatterPlot((string)comboBoxXVariable.SelectedItem, (string)comboBoxYVariable.SelectedItem);
+        scatterPlotView.Content = scatterPlot;
+      }
+    }
+
+  }
+
+  
+}
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/ChartLogic.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/ChartLogic.cs	(revision 10914)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/ChartLogic.cs	(revision 10915)
@@ -160,6 +160,6 @@
     }
 
-    public ScatterPlot CreateScatterPlot(string name, string variableNameX, string variableNameY) {
-      ScatterPlot scatterPlot = new ScatterPlot(name, "");
+    public ScatterPlot CreateScatterPlot(string variableNameX, string variableNameY) {
+      ScatterPlot scatterPlot = new ScatterPlot();
       
 
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/ScatterPlotContent.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/ScatterPlotContent.cs	(revision 10914)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/ScatterPlotContent.cs	(revision 10915)
@@ -29,4 +29,8 @@
   public class ScatterPlotContent : PreprocessingChartContent {
 
+    public string SelectedXVariable { get; set; }
+
+    public string SelectedYVariable { get; set; }
+
     public ScatterPlotContent(IChartLogic chartlogic)
       : base(chartlogic) {
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IChartLogic.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IChartLogic.cs	(revision 10914)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IChartLogic.cs	(revision 10915)
@@ -45,5 +45,5 @@
     DataRow CreateDataRowRange(string variableName, int start, int end, DataRowVisualProperties.DataRowChartType chartType);
 
-    ScatterPlot CreateScatterPlot(string name,string variableNameX,string variableNameY);
+    ScatterPlot CreateScatterPlot(string variableNameX,string variableNameY);
 
     string GetVariableNameByIndex(int index);
