Index: /trunk/sources/HeuristicLab.Visualization.Test/LineChartTests.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization.Test/LineChartTests.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization.Test/LineChartTests.cs	(revision 1343)
@@ -81,8 +81,10 @@
       row1.Thickness = 3;
       row1.Style = DrawingStyle.Solid;
+      row1.Label = "Die Rote";
 
       row2.Color = Color.Green;
       row2.Thickness = 3;
       row2.Style = DrawingStyle.Solid;
+      row2.Label = "Die Grüne";
 
       model.AddDataRow(row1);
Index: /trunk/sources/HeuristicLab.Visualization/AvgAggregator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/AvgAggregator.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization/AvgAggregator.cs	(revision 1343)
@@ -110,4 +110,14 @@
     }
 
+    private bool showYAxis = false;
+
+    public bool ShowYAxis {
+      get { return showYAxis; }
+      set {
+        showYAxis = value;
+        OnDataRowChanged(this);
+      }
+    }
+
     public LabelProvider.ILabelProvider YAxisLabelProvider {
       get {
Index: /trunk/sources/HeuristicLab.Visualization/AvgLineAggregator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/AvgLineAggregator.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization/AvgLineAggregator.cs	(revision 1343)
@@ -124,4 +124,15 @@
     }
 
+
+    private bool showYAxis = false;
+
+    public bool ShowYAxis {
+      get { return showYAxis; }
+      set {
+        showYAxis = value;
+        OnDataRowChanged(this);
+      }
+    }
+
     public LabelProvider.ILabelProvider YAxisLabelProvider {
       get {
Index: /trunk/sources/HeuristicLab.Visualization/DataRow.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/DataRow.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization/DataRow.cs	(revision 1343)
@@ -83,5 +83,4 @@
       }
     }
-
   
     public string Label {
@@ -114,4 +113,14 @@
       set {
         style = value;
+        OnDataRowChanged(this);
+      }
+    }
+
+    private bool showYAxis = true;
+
+    public virtual bool ShowYAxis {
+      get { return showYAxis; }
+      set {
+        showYAxis = value;
         OnDataRowChanged(this);
       }
Index: /trunk/sources/HeuristicLab.Visualization/IDataRow.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/IDataRow.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization/IDataRow.cs	(revision 1343)
@@ -14,4 +14,6 @@
     DrawingStyle Style { get; set; }
     DataRowType LineType { get; set; }
+ 
+    bool ShowYAxis { get; set; }
     ILabelProvider YAxisLabelProvider { get; set; }
 
Index: /trunk/sources/HeuristicLab.Visualization/LineChart.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/LineChart.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization/LineChart.cs	(revision 1343)
@@ -109,6 +109,11 @@
       canvas.AddShape(xAxis);
 
-      foreach (RowEntry rowEntry in rowEntries) {
-        canvas.AddShape(rowEntry.YAxis);
+      int yAxesWidth = 0;
+
+      foreach (RowEntry rowEntry in rowEntries) {
+        if (rowEntry.DataRow.ShowYAxis) {
+          canvas.AddShape(rowEntry.YAxis);
+          yAxesWidth += YAxisWidth;
+        }
       }
 
@@ -120,12 +125,4 @@
       titleShape.X = 10;
       titleShape.Y = canvasUI.Height - 10;
-
-      int yAxesWidth = 0;
-
-      foreach (RowEntry rowEntry in rowEntries) {
-        if (rowEntry.YAxis.Visible) {
-          yAxesWidth += YAxisWidth;
-        }
-      }
 
       RectangleD linesAreaBoundingBox = new RectangleD(yAxesWidth,
@@ -141,9 +138,11 @@
       int yAxisLeft = 0;
       foreach (RowEntry rowEntry in rowEntries) {
-        rowEntry.YAxis.BoundingBox = new RectangleD(yAxisLeft,
-                                                    linesAreaBoundingBox.Y1,
-                                                    yAxisLeft + YAxisWidth,
-                                                    linesAreaBoundingBox.Y2);
-        yAxisLeft += YAxisWidth;
+        if (rowEntry.DataRow.ShowYAxis) {
+          rowEntry.YAxis.BoundingBox = new RectangleD(yAxisLeft,
+                                                      linesAreaBoundingBox.Y1,
+                                                      yAxisLeft + YAxisWidth,
+                                                      linesAreaBoundingBox.Y2);
+          yAxisLeft += YAxisWidth;
+        }
       }
 
@@ -206,4 +205,6 @@
 
       rowEntry.LinesShape.UpdateStyle(row);
+
+      UpdateLayout();
 
       canvasUI.Invalidate();
Index: /trunk/sources/HeuristicLab.Visualization/MaxAggregator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/MaxAggregator.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization/MaxAggregator.cs	(revision 1343)
@@ -113,4 +113,14 @@
     }
 
+    private bool showYAxis = false;
+
+    public bool ShowYAxis {
+      get { return showYAxis; }
+      set {
+        showYAxis = value;
+        OnDataRowChanged(this);
+      }
+    }
+
     public LabelProvider.ILabelProvider YAxisLabelProvider {
       get {
Index: /trunk/sources/HeuristicLab.Visualization/MinAggregator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/MinAggregator.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization/MinAggregator.cs	(revision 1343)
@@ -112,4 +112,15 @@
     }
 
+
+    private bool showYAxis = false;
+
+    public bool ShowYAxis {
+      get { return showYAxis; }
+      set {
+        showYAxis = value;
+        OnDataRowChanged(this);
+      }
+    }
+
     private ILabelProvider labelProvider = new ContinuousLabelProvider("0.##");
     public ILabelProvider YAxisLabelProvider {
Index: /trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.Designer.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.Designer.cs	(revision 1343)
@@ -48,4 +48,6 @@
       this.tpXAxis = new System.Windows.Forms.TabPage();
       this.btnChangeXAxisFont = new System.Windows.Forms.Button();
+      this.tpYAxes = new System.Windows.Forms.TabPage();
+      this.dataRowsFlowLayout = new System.Windows.Forms.FlowLayoutPanel();
       this.tpTitle.SuspendLayout();
       this.tabPage2.SuspendLayout();
@@ -54,4 +56,5 @@
       this.Optionstabs.SuspendLayout();
       this.tpXAxis.SuspendLayout();
+      this.tpYAxes.SuspendLayout();
       this.SuspendLayout();
       // 
@@ -274,4 +277,5 @@
       this.Optionstabs.Controls.Add(this.tpTitle);
       this.Optionstabs.Controls.Add(this.tpXAxis);
+      this.Optionstabs.Controls.Add(this.tpYAxes);
       this.Optionstabs.Location = new System.Drawing.Point(0, 1);
       this.Optionstabs.Name = "Optionstabs";
@@ -299,4 +303,24 @@
       this.btnChangeXAxisFont.UseVisualStyleBackColor = true;
       this.btnChangeXAxisFont.Click += new System.EventHandler(this.btnChangeXAxisFont_Click);
+      // 
+      // tpYAxes
+      // 
+      this.tpYAxes.Controls.Add(this.dataRowsFlowLayout);
+      this.tpYAxes.Location = new System.Drawing.Point(4, 22);
+      this.tpYAxes.Name = "tpYAxes";
+      this.tpYAxes.Padding = new System.Windows.Forms.Padding(3);
+      this.tpYAxes.Size = new System.Drawing.Size(284, 199);
+      this.tpYAxes.TabIndex = 4;
+      this.tpYAxes.Text = "Y-Axes";
+      this.tpYAxes.UseVisualStyleBackColor = true;
+      // 
+      // dataRowsFlowLayout
+      // 
+      this.dataRowsFlowLayout.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.dataRowsFlowLayout.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
+      this.dataRowsFlowLayout.Location = new System.Drawing.Point(3, 3);
+      this.dataRowsFlowLayout.Name = "dataRowsFlowLayout";
+      this.dataRowsFlowLayout.Size = new System.Drawing.Size(278, 193);
+      this.dataRowsFlowLayout.TabIndex = 0;
       // 
       // OptionsDialog
@@ -323,4 +347,5 @@
       this.Optionstabs.ResumeLayout(false);
       this.tpXAxis.ResumeLayout(false);
+      this.tpYAxes.ResumeLayout(false);
       this.ResumeLayout(false);
 
@@ -353,4 +378,6 @@
     private System.Windows.Forms.TabPage tpXAxis;
     private System.Windows.Forms.Button btnChangeXAxisFont;
+    private System.Windows.Forms.TabPage tpYAxes;
+    private System.Windows.Forms.FlowLayoutPanel dataRowsFlowLayout;
   }
 }
Index: /trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization/Options/OptionsDialog.cs	(revision 1343)
@@ -23,9 +23,9 @@
 
     public IList<int> GetThicknesses() {
-      return new List<int> {0, 1, 2, 3, 4, 5, 6, 7, 8};
+      return new List<int>(new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8});
     }
 
     public IList<DrawingStyle> GetStyles() {
-      return new List<DrawingStyle> {DrawingStyle.Solid, DrawingStyle.Dashed};
+      return new List<DrawingStyle>(new DrawingStyle[] {DrawingStyle.Solid, DrawingStyle.Dashed});
     }
 
@@ -39,4 +39,19 @@
         LineSelectCB.SelectedIndex = 0;
         LineSelectCB_SelectedIndexChanged(this, null);
+      }
+
+      InitTabPageYAxes();
+    }
+
+    private void InitTabPageYAxes() {
+      for (int i = 0; i < model.Rows.Count; i++) {
+        IDataRow row = model.Rows[i];
+
+        CheckBox chkbox = new CheckBox();
+        chkbox.Text = row.Label;
+        chkbox.Checked = row.ShowYAxis;
+        chkbox.CheckedChanged += delegate { row.ShowYAxis = chkbox.Checked; };
+        
+        dataRowsFlowLayout.Controls.Add(chkbox);
       }
     }
Index: /trunk/sources/HeuristicLab.Visualization/YAxis.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/YAxis.cs	(revision 1342)
+++ /trunk/sources/HeuristicLab.Visualization/YAxis.cs	(revision 1343)
@@ -7,5 +7,4 @@
 
     private ILabelProvider labelProvider = new ContinuousLabelProvider("e4");
-    private bool visible = true;
 
     public ILabelProvider LabelProvider {
@@ -14,22 +13,15 @@
     }
 
-    public bool Visible {
-      get { return visible; }
-      set { visible = value; }
-    }
-
     public override void Draw(Graphics graphics) {
       ClearShapes();
 
-      if (Visible) {
-        foreach (double y in AxisTicks.GetTicks(PixelsPerInterval, Parent.Viewport.Height,
-                                                ClippingArea.Height,
-                                                ClippingArea.Y1)) {
-          TextShape label = new TextShape(ClippingArea.X2 - 3, y,
-                                          labelProvider.GetLabel(y));
-          label.AnchorPositionX = AnchorPositionX.Right;
-          label.AnchorPositionY = AnchorPositionY.Middle;
-          AddShape(label);
-        }
+      foreach (double y in AxisTicks.GetTicks(PixelsPerInterval, Parent.Viewport.Height,
+                                              ClippingArea.Height,
+                                              ClippingArea.Y1)) {
+        TextShape label = new TextShape(ClippingArea.X2 - 3, y,
+                                        labelProvider.GetLabel(y));
+        label.AnchorPositionX = AnchorPositionX.Right;
+        label.AnchorPositionY = AnchorPositionY.Middle;
+        AddShape(label);
       }
 
