Index: /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.Designer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.Designer.cs	(revision 6013)
+++ /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.Designer.cs	(revision 6014)
@@ -54,30 +54,32 @@
       this.label3 = new System.Windows.Forms.Label();
       this.commonGroupBox = new System.Windows.Forms.GroupBox();
+      this.panel2 = new System.Windows.Forms.Panel();
+      this.xAxisPrimaryRadioButton = new System.Windows.Forms.RadioButton();
       this.xAxisSecondaryRadioButton = new System.Windows.Forms.RadioButton();
+      this.panel1 = new System.Windows.Forms.Panel();
       this.yAxisSecondaryRadioButton = new System.Windows.Forms.RadioButton();
-      this.xAxisPrimaryRadioButton = new System.Windows.Forms.RadioButton();
       this.yAxisPrimaryRadioButton = new System.Windows.Forms.RadioButton();
       this.label6 = new System.Windows.Forms.Label();
-      this.label5 = new System.Windows.Forms.Label();
       this.histoGramGroupBox = new System.Windows.Forms.GroupBox();
+      this.panel3 = new System.Windows.Forms.Panel();
+      this.binsApproximatelyRadioButton = new System.Windows.Forms.RadioButton();
+      this.binsExactRadioButton = new System.Windows.Forms.RadioButton();
       this.lineChartGroupBox = new System.Windows.Forms.GroupBox();
       this.lineWidthNumericUpDown = new System.Windows.Forms.NumericUpDown();
       this.label4 = new System.Windows.Forms.Label();
       this.label7 = new System.Windows.Forms.Label();
-      this.binsApproximatelyRadioButton = new System.Windows.Forms.RadioButton();
-      this.binsExactRadioButton = new System.Windows.Forms.RadioButton();
-      this.panel1 = new System.Windows.Forms.Panel();
-      this.panel2 = new System.Windows.Forms.Panel();
-      this.panel3 = new System.Windows.Forms.Panel();
       this.lineStyleComboBox = new System.Windows.Forms.ComboBox();
       this.label8 = new System.Windows.Forms.Label();
+      this.label5 = new System.Windows.Forms.Label();
+      this.axisGroupBox = new System.Windows.Forms.GroupBox();
       ((System.ComponentModel.ISupportInitialize)(this.binsNumericUpDown)).BeginInit();
       this.commonGroupBox.SuspendLayout();
+      this.panel2.SuspendLayout();
+      this.panel1.SuspendLayout();
       this.histoGramGroupBox.SuspendLayout();
+      this.panel3.SuspendLayout();
       this.lineChartGroupBox.SuspendLayout();
       ((System.ComponentModel.ISupportInitialize)(this.lineWidthNumericUpDown)).BeginInit();
-      this.panel1.SuspendLayout();
-      this.panel2.SuspendLayout();
-      this.panel3.SuspendLayout();
+      this.axisGroupBox.SuspendLayout();
       this.SuspendLayout();
       // 
@@ -88,5 +90,5 @@
       this.chartTypeComboBox.Location = new System.Drawing.Point(76, 19);
       this.chartTypeComboBox.Name = "chartTypeComboBox";
-      this.chartTypeComboBox.Size = new System.Drawing.Size(218, 21);
+      this.chartTypeComboBox.Size = new System.Drawing.Size(224, 21);
       this.chartTypeComboBox.TabIndex = 1;
       this.chartTypeComboBox.SelectedValueChanged += new System.EventHandler(this.chartTypeComboBox_SelectedValueChanged);
@@ -166,8 +168,5 @@
       this.commonGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.commonGroupBox.Controls.Add(this.panel2);
-      this.commonGroupBox.Controls.Add(this.panel1);
-      this.commonGroupBox.Controls.Add(this.label6);
-      this.commonGroupBox.Controls.Add(this.label5);
+      this.commonGroupBox.Controls.Add(this.axisGroupBox);
       this.commonGroupBox.Controls.Add(this.colorButton);
       this.commonGroupBox.Controls.Add(this.label1);
@@ -176,13 +175,34 @@
       this.commonGroupBox.Location = new System.Drawing.Point(3, 3);
       this.commonGroupBox.Name = "commonGroupBox";
-      this.commonGroupBox.Size = new System.Drawing.Size(305, 125);
+      this.commonGroupBox.Size = new System.Drawing.Size(313, 158);
       this.commonGroupBox.TabIndex = 0;
       this.commonGroupBox.TabStop = false;
       this.commonGroupBox.Text = "Common";
       // 
+      // panel2
+      // 
+      this.panel2.Controls.Add(this.xAxisPrimaryRadioButton);
+      this.panel2.Controls.Add(this.xAxisSecondaryRadioButton);
+      this.panel2.Location = new System.Drawing.Point(63, 16);
+      this.panel2.Name = "panel2";
+      this.panel2.Size = new System.Drawing.Size(231, 25);
+      this.panel2.TabIndex = 7;
+      // 
+      // xAxisPrimaryRadioButton
+      // 
+      this.xAxisPrimaryRadioButton.AutoSize = true;
+      this.xAxisPrimaryRadioButton.Location = new System.Drawing.Point(4, 4);
+      this.xAxisPrimaryRadioButton.Name = "xAxisPrimaryRadioButton";
+      this.xAxisPrimaryRadioButton.Size = new System.Drawing.Size(59, 17);
+      this.xAxisPrimaryRadioButton.TabIndex = 0;
+      this.xAxisPrimaryRadioButton.TabStop = true;
+      this.xAxisPrimaryRadioButton.Text = "Primary";
+      this.xAxisPrimaryRadioButton.UseVisualStyleBackColor = true;
+      this.xAxisPrimaryRadioButton.CheckedChanged += new System.EventHandler(this.xAxisRadioButton_CheckedChanged);
+      // 
       // xAxisSecondaryRadioButton
       // 
       this.xAxisSecondaryRadioButton.AutoSize = true;
-      this.xAxisSecondaryRadioButton.Location = new System.Drawing.Point(81, 3);
+      this.xAxisSecondaryRadioButton.Location = new System.Drawing.Point(70, 4);
       this.xAxisSecondaryRadioButton.Name = "xAxisSecondaryRadioButton";
       this.xAxisSecondaryRadioButton.Size = new System.Drawing.Size(76, 17);
@@ -193,8 +213,17 @@
       this.xAxisSecondaryRadioButton.CheckedChanged += new System.EventHandler(this.xAxisRadioButton_CheckedChanged);
       // 
+      // panel1
+      // 
+      this.panel1.Controls.Add(this.yAxisSecondaryRadioButton);
+      this.panel1.Controls.Add(this.yAxisPrimaryRadioButton);
+      this.panel1.Location = new System.Drawing.Point(63, 40);
+      this.panel1.Name = "panel1";
+      this.panel1.Size = new System.Drawing.Size(231, 25);
+      this.panel1.TabIndex = 5;
+      // 
       // yAxisSecondaryRadioButton
       // 
       this.yAxisSecondaryRadioButton.AutoSize = true;
-      this.yAxisSecondaryRadioButton.Location = new System.Drawing.Point(82, 3);
+      this.yAxisSecondaryRadioButton.Location = new System.Drawing.Point(70, 4);
       this.yAxisSecondaryRadioButton.Name = "yAxisSecondaryRadioButton";
       this.yAxisSecondaryRadioButton.Size = new System.Drawing.Size(76, 17);
@@ -205,20 +234,8 @@
       this.yAxisSecondaryRadioButton.CheckedChanged += new System.EventHandler(this.yAxisRadioButton_CheckedChanged);
       // 
-      // xAxisPrimaryRadioButton
-      // 
-      this.xAxisPrimaryRadioButton.AutoSize = true;
-      this.xAxisPrimaryRadioButton.Location = new System.Drawing.Point(3, 3);
-      this.xAxisPrimaryRadioButton.Name = "xAxisPrimaryRadioButton";
-      this.xAxisPrimaryRadioButton.Size = new System.Drawing.Size(59, 17);
-      this.xAxisPrimaryRadioButton.TabIndex = 0;
-      this.xAxisPrimaryRadioButton.TabStop = true;
-      this.xAxisPrimaryRadioButton.Text = "Primary";
-      this.xAxisPrimaryRadioButton.UseVisualStyleBackColor = true;
-      this.xAxisPrimaryRadioButton.CheckedChanged += new System.EventHandler(this.xAxisRadioButton_CheckedChanged);
-      // 
       // yAxisPrimaryRadioButton
       // 
       this.yAxisPrimaryRadioButton.AutoSize = true;
-      this.yAxisPrimaryRadioButton.Location = new System.Drawing.Point(4, 3);
+      this.yAxisPrimaryRadioButton.Location = new System.Drawing.Point(4, 4);
       this.yAxisPrimaryRadioButton.Name = "yAxisPrimaryRadioButton";
       this.yAxisPrimaryRadioButton.Size = new System.Drawing.Size(59, 17);
@@ -232,18 +249,9 @@
       // 
       this.label6.AutoSize = true;
-      this.label6.Location = new System.Drawing.Point(8, 100);
+      this.label6.Location = new System.Drawing.Point(6, 22);
       this.label6.Name = "label6";
       this.label6.Size = new System.Drawing.Size(39, 13);
       this.label6.TabIndex = 6;
-      this.label6.Text = "X-Axis:";
-      // 
-      // label5
-      // 
-      this.label5.AutoSize = true;
-      this.label5.Location = new System.Drawing.Point(8, 77);
-      this.label5.Name = "label5";
-      this.label5.Size = new System.Drawing.Size(39, 13);
-      this.label5.TabIndex = 4;
-      this.label5.Text = "Y-Axis:";
+      this.label6.Text = "X Axis:";
       // 
       // histoGramGroupBox
@@ -254,66 +262,24 @@
       this.histoGramGroupBox.Controls.Add(this.binsNumericUpDown);
       this.histoGramGroupBox.Controls.Add(this.label3);
-      this.histoGramGroupBox.Location = new System.Drawing.Point(3, 236);
+      this.histoGramGroupBox.Location = new System.Drawing.Point(3, 269);
       this.histoGramGroupBox.Name = "histoGramGroupBox";
-      this.histoGramGroupBox.Size = new System.Drawing.Size(305, 49);
+      this.histoGramGroupBox.Size = new System.Drawing.Size(313, 49);
       this.histoGramGroupBox.TabIndex = 2;
       this.histoGramGroupBox.TabStop = false;
       this.histoGramGroupBox.Text = "Histogram";
       // 
-      // lineChartGroupBox
-      // 
-      this.lineChartGroupBox.Controls.Add(this.lineWidthNumericUpDown);
-      this.lineChartGroupBox.Controls.Add(this.label4);
-      this.lineChartGroupBox.Controls.Add(this.startIndexZeroCheckBox);
-      this.lineChartGroupBox.Controls.Add(this.label7);
-      this.lineChartGroupBox.Controls.Add(this.lineStyleComboBox);
-      this.lineChartGroupBox.Controls.Add(this.label8);
-      this.lineChartGroupBox.Location = new System.Drawing.Point(3, 134);
-      this.lineChartGroupBox.Name = "lineChartGroupBox";
-      this.lineChartGroupBox.Size = new System.Drawing.Size(473, 96);
-      this.lineChartGroupBox.TabIndex = 1;
-      this.lineChartGroupBox.TabStop = false;
-      this.lineChartGroupBox.Text = "Line Chart";
-      // 
-      // lineWidthNumericUpDown
-      // 
-      this.lineWidthNumericUpDown.Location = new System.Drawing.Point(96, 66);
-      this.lineWidthNumericUpDown.Minimum = new decimal(new int[] {
-            1,
-            0,
-            0,
-            0});
-      this.lineWidthNumericUpDown.Name = "lineWidthNumericUpDown";
-      this.lineWidthNumericUpDown.Size = new System.Drawing.Size(65, 20);
-      this.lineWidthNumericUpDown.TabIndex = 5;
-      this.lineWidthNumericUpDown.Value = new decimal(new int[] {
-            1,
-            0,
-            0,
-            0});
-      this.lineWidthNumericUpDown.ValueChanged += new System.EventHandler(this.lineWidthNumericUpDown_ValueChanged);
-      // 
-      // label4
-      // 
-      this.label4.AutoSize = true;
-      this.label4.Location = new System.Drawing.Point(8, 68);
-      this.label4.Name = "label4";
-      this.label4.Size = new System.Drawing.Size(61, 13);
-      this.label4.TabIndex = 4;
-      this.label4.Text = "Line Width:";
-      // 
-      // label7
-      // 
-      this.label7.AutoSize = true;
-      this.label7.Location = new System.Drawing.Point(8, 46);
-      this.label7.Name = "label7";
-      this.label7.Size = new System.Drawing.Size(82, 13);
-      this.label7.TabIndex = 2;
-      this.label7.Text = "Start Index at 0:";
+      // panel3
+      // 
+      this.panel3.Controls.Add(this.binsApproximatelyRadioButton);
+      this.panel3.Controls.Add(this.binsExactRadioButton);
+      this.panel3.Location = new System.Drawing.Point(146, 16);
+      this.panel3.Name = "panel3";
+      this.panel3.Size = new System.Drawing.Size(154, 25);
+      this.panel3.TabIndex = 2;
       // 
       // binsApproximatelyRadioButton
       // 
       this.binsApproximatelyRadioButton.AutoSize = true;
-      this.binsApproximatelyRadioButton.Location = new System.Drawing.Point(0, 0);
+      this.binsApproximatelyRadioButton.Location = new System.Drawing.Point(4, 4);
       this.binsApproximatelyRadioButton.Name = "binsApproximatelyRadioButton";
       this.binsApproximatelyRadioButton.Size = new System.Drawing.Size(90, 17);
@@ -327,5 +293,5 @@
       // 
       this.binsExactRadioButton.AutoSize = true;
-      this.binsExactRadioButton.Location = new System.Drawing.Point(96, 0);
+      this.binsExactRadioButton.Location = new System.Drawing.Point(100, 4);
       this.binsExactRadioButton.Name = "binsExactRadioButton";
       this.binsExactRadioButton.Size = new System.Drawing.Size(52, 17);
@@ -336,30 +302,56 @@
       this.binsExactRadioButton.CheckedChanged += new System.EventHandler(this.yAxisRadioButton_CheckedChanged);
       // 
-      // panel1
-      // 
-      this.panel1.Controls.Add(this.yAxisSecondaryRadioButton);
-      this.panel1.Controls.Add(this.yAxisPrimaryRadioButton);
-      this.panel1.Location = new System.Drawing.Point(76, 72);
-      this.panel1.Name = "panel1";
-      this.panel1.Size = new System.Drawing.Size(159, 23);
-      this.panel1.TabIndex = 5;
-      // 
-      // panel2
-      // 
-      this.panel2.Controls.Add(this.xAxisPrimaryRadioButton);
-      this.panel2.Controls.Add(this.xAxisSecondaryRadioButton);
-      this.panel2.Location = new System.Drawing.Point(76, 95);
-      this.panel2.Name = "panel2";
-      this.panel2.Size = new System.Drawing.Size(159, 21);
-      this.panel2.TabIndex = 7;
-      // 
-      // panel3
-      // 
-      this.panel3.Controls.Add(this.binsApproximatelyRadioButton);
-      this.panel3.Controls.Add(this.binsExactRadioButton);
-      this.panel3.Location = new System.Drawing.Point(146, 21);
-      this.panel3.Name = "panel3";
-      this.panel3.Size = new System.Drawing.Size(147, 18);
-      this.panel3.TabIndex = 2;
+      // lineChartGroupBox
+      // 
+      this.lineChartGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.lineChartGroupBox.Controls.Add(this.lineWidthNumericUpDown);
+      this.lineChartGroupBox.Controls.Add(this.label4);
+      this.lineChartGroupBox.Controls.Add(this.startIndexZeroCheckBox);
+      this.lineChartGroupBox.Controls.Add(this.label7);
+      this.lineChartGroupBox.Controls.Add(this.lineStyleComboBox);
+      this.lineChartGroupBox.Controls.Add(this.label8);
+      this.lineChartGroupBox.Location = new System.Drawing.Point(3, 167);
+      this.lineChartGroupBox.Name = "lineChartGroupBox";
+      this.lineChartGroupBox.Size = new System.Drawing.Size(313, 96);
+      this.lineChartGroupBox.TabIndex = 1;
+      this.lineChartGroupBox.TabStop = false;
+      this.lineChartGroupBox.Text = "Line Chart";
+      // 
+      // lineWidthNumericUpDown
+      // 
+      this.lineWidthNumericUpDown.Location = new System.Drawing.Point(96, 66);
+      this.lineWidthNumericUpDown.Minimum = new decimal(new int[] {
+            1,
+            0,
+            0,
+            0});
+      this.lineWidthNumericUpDown.Name = "lineWidthNumericUpDown";
+      this.lineWidthNumericUpDown.Size = new System.Drawing.Size(65, 20);
+      this.lineWidthNumericUpDown.TabIndex = 5;
+      this.lineWidthNumericUpDown.Value = new decimal(new int[] {
+            1,
+            0,
+            0,
+            0});
+      this.lineWidthNumericUpDown.ValueChanged += new System.EventHandler(this.lineWidthNumericUpDown_ValueChanged);
+      // 
+      // label4
+      // 
+      this.label4.AutoSize = true;
+      this.label4.Location = new System.Drawing.Point(8, 68);
+      this.label4.Name = "label4";
+      this.label4.Size = new System.Drawing.Size(61, 13);
+      this.label4.TabIndex = 4;
+      this.label4.Text = "Line Width:";
+      // 
+      // label7
+      // 
+      this.label7.AutoSize = true;
+      this.label7.Location = new System.Drawing.Point(8, 46);
+      this.label7.Name = "label7";
+      this.label7.Size = new System.Drawing.Size(82, 13);
+      this.label7.TabIndex = 2;
+      this.label7.Text = "Start Index at 0:";
       // 
       // lineStyleComboBox
@@ -369,5 +361,5 @@
       this.lineStyleComboBox.Location = new System.Drawing.Point(96, 19);
       this.lineStyleComboBox.Name = "lineStyleComboBox";
-      this.lineStyleComboBox.Size = new System.Drawing.Size(198, 21);
+      this.lineStyleComboBox.Size = new System.Drawing.Size(204, 21);
       this.lineStyleComboBox.TabIndex = 1;
       this.lineStyleComboBox.SelectedValueChanged += new System.EventHandler(this.lineStyleComboBox_SelectedValueChanged);
@@ -382,4 +374,26 @@
       this.label8.Text = "Line Style:";
       // 
+      // label5
+      // 
+      this.label5.AutoSize = true;
+      this.label5.Location = new System.Drawing.Point(6, 46);
+      this.label5.Name = "label5";
+      this.label5.Size = new System.Drawing.Size(39, 13);
+      this.label5.TabIndex = 6;
+      this.label5.Text = "Y Axis:";
+      // 
+      // axisGroupBox
+      // 
+      this.axisGroupBox.Controls.Add(this.label5);
+      this.axisGroupBox.Controls.Add(this.label6);
+      this.axisGroupBox.Controls.Add(this.panel1);
+      this.axisGroupBox.Controls.Add(this.panel2);
+      this.axisGroupBox.Location = new System.Drawing.Point(6, 75);
+      this.axisGroupBox.Name = "axisGroupBox";
+      this.axisGroupBox.Size = new System.Drawing.Size(299, 75);
+      this.axisGroupBox.TabIndex = 9;
+      this.axisGroupBox.TabStop = false;
+      this.axisGroupBox.Text = "Display Data on";
+      // 
       // DataRowVisualPropertiesControl
       // 
@@ -390,19 +404,21 @@
       this.Controls.Add(this.commonGroupBox);
       this.Name = "DataRowVisualPropertiesControl";
-      this.Size = new System.Drawing.Size(311, 290);
+      this.Size = new System.Drawing.Size(319, 323);
       ((System.ComponentModel.ISupportInitialize)(this.binsNumericUpDown)).EndInit();
       this.commonGroupBox.ResumeLayout(false);
       this.commonGroupBox.PerformLayout();
+      this.panel2.ResumeLayout(false);
+      this.panel2.PerformLayout();
+      this.panel1.ResumeLayout(false);
+      this.panel1.PerformLayout();
       this.histoGramGroupBox.ResumeLayout(false);
       this.histoGramGroupBox.PerformLayout();
+      this.panel3.ResumeLayout(false);
+      this.panel3.PerformLayout();
       this.lineChartGroupBox.ResumeLayout(false);
       this.lineChartGroupBox.PerformLayout();
       ((System.ComponentModel.ISupportInitialize)(this.lineWidthNumericUpDown)).EndInit();
-      this.panel1.ResumeLayout(false);
-      this.panel1.PerformLayout();
-      this.panel2.ResumeLayout(false);
-      this.panel2.PerformLayout();
-      this.panel3.ResumeLayout(false);
-      this.panel3.PerformLayout();
+      this.axisGroupBox.ResumeLayout(false);
+      this.axisGroupBox.PerformLayout();
       this.ResumeLayout(false);
 
@@ -426,5 +442,4 @@
     private System.Windows.Forms.RadioButton yAxisPrimaryRadioButton;
     private System.Windows.Forms.Label label6;
-    private System.Windows.Forms.Label label5;
     private System.Windows.Forms.GroupBox lineChartGroupBox;
     private System.Windows.Forms.NumericUpDown lineWidthNumericUpDown;
@@ -438,4 +453,6 @@
     private System.Windows.Forms.ComboBox lineStyleComboBox;
     private System.Windows.Forms.Label label8;
+    private System.Windows.Forms.Label label5;
+    private System.Windows.Forms.GroupBox axisGroupBox;
   }
 }
Index: /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.cs	(revision 6013)
+++ /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataRowVisualPropertiesControl.cs	(revision 6014)
@@ -114,7 +114,4 @@
         SuppressEvents = true;
         try {
-          if (sender == yAxisPrimaryRadioButton)
-            yAxisSecondaryRadioButton.Checked = !yAxisPrimaryRadioButton.Checked;
-          else yAxisPrimaryRadioButton.Checked = !yAxisSecondaryRadioButton.Checked;
           Content.SecondYAxis = yAxisSecondaryRadioButton.Checked;
         } finally { SuppressEvents = false; }
@@ -126,7 +123,4 @@
         SuppressEvents = true;
         try {
-          if (sender == xAxisPrimaryRadioButton)
-            xAxisSecondaryRadioButton.Checked = !xAxisPrimaryRadioButton.Checked;
-          else xAxisPrimaryRadioButton.Checked = !xAxisSecondaryRadioButton.Checked;
           Content.SecondXAxis = xAxisSecondaryRadioButton.Checked;
         } finally { SuppressEvents = false; }
Index: /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableView.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableView.cs	(revision 6013)
+++ /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableView.cs	(revision 6014)
@@ -136,7 +136,5 @@
         foreach (DataRow row in Content.Rows)
           AddDataRow(row);
-        chart.ChartAreas[0].AxisX.Title = Content.VisualProperties.XAxisTitle;
-        chart.ChartAreas[0].AxisY.Title = Content.VisualProperties.YAxisTitle;
-        chart.ChartAreas[0].AxisY2.Title = Content.VisualProperties.SecondYAxisTitle;
+        ConfigureChartArea(chart.ChartAreas[0]);
       }
     }
@@ -158,4 +156,5 @@
       chart.Series.Add(series);
       chart.ChartAreas[0].RecalculateAxesScale();
+      ConfigureChartArea(chart.ChartAreas[0]);
       UpdateYCursorInterval();
     }
@@ -197,4 +196,30 @@
       else series.Color = Color.Empty;
       series.ToolTip = row.Name + " X = #INDEX, Y = #VAL";
+    }
+
+    private void ConfigureChartArea(ChartArea area) {
+      area.AxisX.Title = Content.VisualProperties.XAxisTitle;
+      area.AxisX2.Title = Content.VisualProperties.SecondXAxisTitle;
+      area.AxisY.Title = Content.VisualProperties.YAxisTitle;
+      area.AxisY2.Title = Content.VisualProperties.SecondYAxisTitle;
+      area.RecalculateAxesScale();
+      if (!Content.VisualProperties.XAxisMinimumAuto)
+        area.AxisX.Minimum = Content.VisualProperties.XAxisMinimumFixedValue;
+      else area.AxisX.Minimum = double.NaN;
+      if (!Content.VisualProperties.XAxisMaximumAuto)
+        area.AxisX.Maximum = Content.VisualProperties.XAxisMaximumFixedValue;
+      else area.AxisX.Maximum = double.NaN;
+      if (!Content.VisualProperties.SecondXAxisMinimumAuto)
+        area.AxisX2.Minimum = Content.VisualProperties.SecondXAxisMinimumFixedValue;
+      if (!Content.VisualProperties.SecondXAxisMaximumAuto)
+        area.AxisX2.Maximum = Content.VisualProperties.SecondXAxisMaximumFixedValue;
+      if (!Content.VisualProperties.YAxisMinimumAuto)
+        area.AxisY.Minimum = Content.VisualProperties.YAxisMinimumFixedValue;
+      if (!Content.VisualProperties.YAxisMaximumAuto)
+        area.AxisY.Maximum = Content.VisualProperties.YAxisMaximumFixedValue;
+      if (!Content.VisualProperties.SecondYAxisMinimumAuto)
+        area.AxisY2.Minimum = Content.VisualProperties.SecondYAxisMinimumFixedValue;
+      if (!Content.VisualProperties.SecondYAxisMaximumAuto)
+        area.AxisY2.Maximum = Content.VisualProperties.SecondYAxisMaximumFixedValue;
     }
 
@@ -246,8 +271,5 @@
         Invoke(new EventHandler(Content_VisualPropertiesChanged), sender, e);
       else {
-        chart.ChartAreas[0].AxisX.Title = Content.VisualProperties.XAxisTitle;
-        chart.ChartAreas[0].AxisX2.Title = Content.VisualProperties.SecondXAxisTitle;
-        chart.ChartAreas[0].AxisY.Title = Content.VisualProperties.YAxisTitle;
-        chart.ChartAreas[0].AxisY2.Title = Content.VisualProperties.SecondYAxisTitle;
+        ConfigureChartArea(chart.ChartAreas[0]);
       }
     }
Index: /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.Designer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.Designer.cs	(revision 6013)
+++ /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.Designer.cs	(revision 6014)
@@ -45,14 +45,77 @@
     /// </summary>
     private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
       this.label1 = new System.Windows.Forms.Label();
-      this.yPrimaryTextBox = new System.Windows.Forms.TextBox();
-      this.xPrimaryTextBox = new System.Windows.Forms.TextBox();
-      this.xSecondaryTextBox = new System.Windows.Forms.TextBox();
-      this.axisTitlesGroupBox = new System.Windows.Forms.GroupBox();
-      this.ySecondaryTextBox = new System.Windows.Forms.TextBox();
+      this.yAxisPrimaryTitleTextBox = new System.Windows.Forms.TextBox();
+      this.yAxisSecondaryTitleTextBox = new System.Windows.Forms.TextBox();
       this.label4 = new System.Windows.Forms.Label();
-      this.label2 = new System.Windows.Forms.Label();
-      this.label3 = new System.Windows.Forms.Label();
-      this.axisTitlesGroupBox.SuspendLayout();
+      this.xAxisPrimaryGroupBox = new System.Windows.Forms.GroupBox();
+      this.label12 = new System.Windows.Forms.Label();
+      this.label9 = new System.Windows.Forms.Label();
+      this.xAxisPrimaryTitleTextBox = new System.Windows.Forms.TextBox();
+      this.label11 = new System.Windows.Forms.Label();
+      this.xAxisPrimaryMaximumPanel = new System.Windows.Forms.Panel();
+      this.xAxisPrimaryMaximumFixedTextBox = new System.Windows.Forms.TextBox();
+      this.xAxisPrimaryMaximumFixedRadioButton = new System.Windows.Forms.RadioButton();
+      this.xAxisPrimaryMaximumAutoRadioButton = new System.Windows.Forms.RadioButton();
+      this.xAxisPrimaryMinimumPanel = new System.Windows.Forms.Panel();
+      this.xAxisPrimaryMinimumFixedTextBox = new System.Windows.Forms.TextBox();
+      this.xAxisPrimaryMinimumFixedRadioButton = new System.Windows.Forms.RadioButton();
+      this.xAxisPrimaryMinimumAutoRadioButton = new System.Windows.Forms.RadioButton();
+      this.xAxisSecondaryGroupBox = new System.Windows.Forms.GroupBox();
+      this.label10 = new System.Windows.Forms.Label();
+      this.xAxisSecondaryTitleTextBox = new System.Windows.Forms.TextBox();
+      this.label5 = new System.Windows.Forms.Label();
+      this.label6 = new System.Windows.Forms.Label();
+      this.xAxisSecondaryMaximumPanel = new System.Windows.Forms.Panel();
+      this.xAxisSecondaryMaximumFixedTextBox = new System.Windows.Forms.TextBox();
+      this.xAxisSecondaryMaximumFixedRadioButton = new System.Windows.Forms.RadioButton();
+      this.xAxisSecondaryMaximumAutoRadioButton = new System.Windows.Forms.RadioButton();
+      this.xAxisSecondaryMinimumPanel = new System.Windows.Forms.Panel();
+      this.xAxisSecondaryMinimumFixedTextBox = new System.Windows.Forms.TextBox();
+      this.xAxisSecondaryMinimumFixedRadioButton = new System.Windows.Forms.RadioButton();
+      this.xAxisSecondaryMinimumAutoRadioButton = new System.Windows.Forms.RadioButton();
+      this.axisTabControl = new System.Windows.Forms.TabControl();
+      this.xAxisTabPage = new System.Windows.Forms.TabPage();
+      this.yAxisTabPage = new System.Windows.Forms.TabPage();
+      this.yAxisSecondaryGroupBox = new System.Windows.Forms.GroupBox();
+      this.label13 = new System.Windows.Forms.Label();
+      this.label14 = new System.Windows.Forms.Label();
+      this.yAxisSecondaryMaximumPanel = new System.Windows.Forms.Panel();
+      this.yAxisSecondaryMaximumFixedTextBox = new System.Windows.Forms.TextBox();
+      this.yAxisSecondaryMaximumFixedRadioButton = new System.Windows.Forms.RadioButton();
+      this.yAxisSecondaryMaximumAutoRadioButton = new System.Windows.Forms.RadioButton();
+      this.yAxisSecondaryMinimumPanel = new System.Windows.Forms.Panel();
+      this.yAxisSecondaryMinimumFixedTextBox = new System.Windows.Forms.TextBox();
+      this.yAxisSecondaryMinimumFixedRadioButton = new System.Windows.Forms.RadioButton();
+      this.yAxisSecondaryMinimumAutoRadioButton = new System.Windows.Forms.RadioButton();
+      this.yAxisPrimaryGroupBox = new System.Windows.Forms.GroupBox();
+      this.label7 = new System.Windows.Forms.Label();
+      this.label8 = new System.Windows.Forms.Label();
+      this.yAxisPrimaryMaximumPanel = new System.Windows.Forms.Panel();
+      this.yAxisPrimaryMaximumFixedTextBox = new System.Windows.Forms.TextBox();
+      this.yAxisPrimaryMaximumFixedRadioButton = new System.Windows.Forms.RadioButton();
+      this.yAxisPrimaryMaximumAutoRadioButton = new System.Windows.Forms.RadioButton();
+      this.yAxisPrimaryMinimumPanel = new System.Windows.Forms.Panel();
+      this.yAxisPrimaryMinimumFixedTextBox = new System.Windows.Forms.TextBox();
+      this.yAxisPrimaryMinimumFixedRadioButton = new System.Windows.Forms.RadioButton();
+      this.yAxisPrimaryMinimumAutoRadioButton = new System.Windows.Forms.RadioButton();
+      this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
+      this.xAxisPrimaryGroupBox.SuspendLayout();
+      this.xAxisPrimaryMaximumPanel.SuspendLayout();
+      this.xAxisPrimaryMinimumPanel.SuspendLayout();
+      this.xAxisSecondaryGroupBox.SuspendLayout();
+      this.xAxisSecondaryMaximumPanel.SuspendLayout();
+      this.xAxisSecondaryMinimumPanel.SuspendLayout();
+      this.axisTabControl.SuspendLayout();
+      this.xAxisTabPage.SuspendLayout();
+      this.yAxisTabPage.SuspendLayout();
+      this.yAxisSecondaryGroupBox.SuspendLayout();
+      this.yAxisSecondaryMaximumPanel.SuspendLayout();
+      this.yAxisSecondaryMinimumPanel.SuspendLayout();
+      this.yAxisPrimaryGroupBox.SuspendLayout();
+      this.yAxisPrimaryMaximumPanel.SuspendLayout();
+      this.yAxisPrimaryMinimumPanel.SuspendLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       this.SuspendLayout();
       // 
@@ -60,95 +123,585 @@
       // 
       this.label1.AutoSize = true;
-      this.label1.Location = new System.Drawing.Point(8, 22);
+      this.label1.Location = new System.Drawing.Point(4, 26);
       this.label1.Name = "label1";
-      this.label1.Size = new System.Drawing.Size(54, 13);
+      this.label1.Size = new System.Drawing.Size(30, 13);
       this.label1.TabIndex = 0;
-      this.label1.Text = "Primary-Y:";
-      // 
-      // yPrimaryTextBox
-      // 
-      this.yPrimaryTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+      this.label1.Text = "Title:";
+      // 
+      // yAxisPrimaryTitleTextBox
+      // 
+      this.yAxisPrimaryTitleTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.yPrimaryTextBox.Location = new System.Drawing.Point(85, 19);
-      this.yPrimaryTextBox.Name = "yPrimaryTextBox";
-      this.yPrimaryTextBox.Size = new System.Drawing.Size(221, 20);
-      this.yPrimaryTextBox.TabIndex = 1;
-      this.yPrimaryTextBox.Validated += new System.EventHandler(this.yPrimaryTextBox_Validated);
-      // 
-      // xPrimaryTextBox
-      // 
-      this.xPrimaryTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+      this.yAxisPrimaryTitleTextBox.Location = new System.Drawing.Point(63, 23);
+      this.yAxisPrimaryTitleTextBox.Name = "yAxisPrimaryTitleTextBox";
+      this.yAxisPrimaryTitleTextBox.Size = new System.Drawing.Size(243, 20);
+      this.yAxisPrimaryTitleTextBox.TabIndex = 1;
+      this.yAxisPrimaryTitleTextBox.Validated += new System.EventHandler(this.yPrimaryTitleTextBox_Validated);
+      // 
+      // yAxisSecondaryTitleTextBox
+      // 
+      this.yAxisSecondaryTitleTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.xPrimaryTextBox.Location = new System.Drawing.Point(85, 71);
-      this.xPrimaryTextBox.Name = "xPrimaryTextBox";
-      this.xPrimaryTextBox.Size = new System.Drawing.Size(221, 20);
-      this.xPrimaryTextBox.TabIndex = 5;
-      this.xPrimaryTextBox.Validated += new System.EventHandler(this.xPrimaryTextBox_Validated);
-      // 
-      // xSecondaryTextBox
-      // 
-      this.xSecondaryTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+      this.yAxisSecondaryTitleTextBox.Location = new System.Drawing.Point(63, 23);
+      this.yAxisSecondaryTitleTextBox.Name = "yAxisSecondaryTitleTextBox";
+      this.yAxisSecondaryTitleTextBox.Size = new System.Drawing.Size(243, 20);
+      this.yAxisSecondaryTitleTextBox.TabIndex = 1;
+      this.yAxisSecondaryTitleTextBox.Validated += new System.EventHandler(this.ySecondaryTitleTextBox_Validated);
+      // 
+      // label4
+      // 
+      this.label4.AutoSize = true;
+      this.label4.Location = new System.Drawing.Point(4, 26);
+      this.label4.Name = "label4";
+      this.label4.Size = new System.Drawing.Size(30, 13);
+      this.label4.TabIndex = 0;
+      this.label4.Text = "Title:";
+      // 
+      // xAxisPrimaryGroupBox
+      // 
+      this.xAxisPrimaryGroupBox.Controls.Add(this.label12);
+      this.xAxisPrimaryGroupBox.Controls.Add(this.label9);
+      this.xAxisPrimaryGroupBox.Controls.Add(this.xAxisPrimaryTitleTextBox);
+      this.xAxisPrimaryGroupBox.Controls.Add(this.label11);
+      this.xAxisPrimaryGroupBox.Controls.Add(this.xAxisPrimaryMaximumPanel);
+      this.xAxisPrimaryGroupBox.Controls.Add(this.xAxisPrimaryMinimumPanel);
+      this.xAxisPrimaryGroupBox.Location = new System.Drawing.Point(6, 6);
+      this.xAxisPrimaryGroupBox.Name = "xAxisPrimaryGroupBox";
+      this.xAxisPrimaryGroupBox.Size = new System.Drawing.Size(316, 107);
+      this.xAxisPrimaryGroupBox.TabIndex = 0;
+      this.xAxisPrimaryGroupBox.TabStop = false;
+      this.xAxisPrimaryGroupBox.Text = "Primary Axis";
+      // 
+      // label12
+      // 
+      this.label12.AutoSize = true;
+      this.label12.Location = new System.Drawing.Point(4, 77);
+      this.label12.Name = "label12";
+      this.label12.Size = new System.Drawing.Size(54, 13);
+      this.label12.TabIndex = 4;
+      this.label12.Text = "Maximum:";
+      // 
+      // label9
+      // 
+      this.label9.AutoSize = true;
+      this.label9.Location = new System.Drawing.Point(4, 26);
+      this.label9.Name = "label9";
+      this.label9.Size = new System.Drawing.Size(30, 13);
+      this.label9.TabIndex = 0;
+      this.label9.Text = "Title:";
+      // 
+      // xAxisPrimaryTitleTextBox
+      // 
+      this.xAxisPrimaryTitleTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.xSecondaryTextBox.Location = new System.Drawing.Point(85, 97);
-      this.xSecondaryTextBox.Name = "xSecondaryTextBox";
-      this.xSecondaryTextBox.Size = new System.Drawing.Size(221, 20);
-      this.xSecondaryTextBox.TabIndex = 7;
-      this.xSecondaryTextBox.Validated += new System.EventHandler(this.xSecondaryTextBox_Validated);
-      // 
-      // axisTitlesGroupBox
-      // 
-      this.axisTitlesGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+      this.xAxisPrimaryTitleTextBox.Location = new System.Drawing.Point(63, 23);
+      this.xAxisPrimaryTitleTextBox.Name = "xAxisPrimaryTitleTextBox";
+      this.xAxisPrimaryTitleTextBox.Size = new System.Drawing.Size(245, 20);
+      this.xAxisPrimaryTitleTextBox.TabIndex = 1;
+      this.xAxisPrimaryTitleTextBox.Validated += new System.EventHandler(this.xPrimaryTitleTextBox_Validated);
+      // 
+      // label11
+      // 
+      this.label11.AutoSize = true;
+      this.label11.Location = new System.Drawing.Point(4, 53);
+      this.label11.Name = "label11";
+      this.label11.Size = new System.Drawing.Size(51, 13);
+      this.label11.TabIndex = 2;
+      this.label11.Text = "Minimum:";
+      // 
+      // xAxisPrimaryMaximumPanel
+      // 
+      this.xAxisPrimaryMaximumPanel.Controls.Add(this.xAxisPrimaryMaximumFixedTextBox);
+      this.xAxisPrimaryMaximumPanel.Controls.Add(this.xAxisPrimaryMaximumFixedRadioButton);
+      this.xAxisPrimaryMaximumPanel.Controls.Add(this.xAxisPrimaryMaximumAutoRadioButton);
+      this.xAxisPrimaryMaximumPanel.Location = new System.Drawing.Point(63, 71);
+      this.xAxisPrimaryMaximumPanel.Name = "xAxisPrimaryMaximumPanel";
+      this.xAxisPrimaryMaximumPanel.Size = new System.Drawing.Size(245, 25);
+      this.xAxisPrimaryMaximumPanel.TabIndex = 5;
+      // 
+      // xAxisPrimaryMaximumFixedTextBox
+      // 
+      this.xAxisPrimaryMaximumFixedTextBox.Location = new System.Drawing.Point(126, 2);
+      this.xAxisPrimaryMaximumFixedTextBox.Name = "xAxisPrimaryMaximumFixedTextBox";
+      this.xAxisPrimaryMaximumFixedTextBox.Size = new System.Drawing.Size(117, 20);
+      this.xAxisPrimaryMaximumFixedTextBox.TabIndex = 2;
+      this.xAxisPrimaryMaximumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.xAxisPrimaryMaximumFixedTextBox_Validating);
+      // 
+      // xAxisPrimaryMaximumFixedRadioButton
+      // 
+      this.xAxisPrimaryMaximumFixedRadioButton.AutoSize = true;
+      this.xAxisPrimaryMaximumFixedRadioButton.Location = new System.Drawing.Point(70, 4);
+      this.xAxisPrimaryMaximumFixedRadioButton.Name = "xAxisPrimaryMaximumFixedRadioButton";
+      this.xAxisPrimaryMaximumFixedRadioButton.Size = new System.Drawing.Size(50, 17);
+      this.xAxisPrimaryMaximumFixedRadioButton.TabIndex = 1;
+      this.xAxisPrimaryMaximumFixedRadioButton.TabStop = true;
+      this.xAxisPrimaryMaximumFixedRadioButton.Text = "Fixed";
+      this.xAxisPrimaryMaximumFixedRadioButton.UseVisualStyleBackColor = true;
+      this.xAxisPrimaryMaximumFixedRadioButton.CheckedChanged += new System.EventHandler(this.xAxisPrimaryMaximumRadioButton_CheckedChanged);
+      // 
+      // xAxisPrimaryMaximumAutoRadioButton
+      // 
+      this.xAxisPrimaryMaximumAutoRadioButton.AutoSize = true;
+      this.xAxisPrimaryMaximumAutoRadioButton.Location = new System.Drawing.Point(4, 4);
+      this.xAxisPrimaryMaximumAutoRadioButton.Name = "xAxisPrimaryMaximumAutoRadioButton";
+      this.xAxisPrimaryMaximumAutoRadioButton.Size = new System.Drawing.Size(47, 17);
+      this.xAxisPrimaryMaximumAutoRadioButton.TabIndex = 0;
+      this.xAxisPrimaryMaximumAutoRadioButton.TabStop = true;
+      this.xAxisPrimaryMaximumAutoRadioButton.Text = "Auto";
+      this.xAxisPrimaryMaximumAutoRadioButton.UseVisualStyleBackColor = true;
+      this.xAxisPrimaryMaximumAutoRadioButton.CheckedChanged += new System.EventHandler(this.xAxisPrimaryMaximumRadioButton_CheckedChanged);
+      // 
+      // xAxisPrimaryMinimumPanel
+      // 
+      this.xAxisPrimaryMinimumPanel.Controls.Add(this.xAxisPrimaryMinimumFixedTextBox);
+      this.xAxisPrimaryMinimumPanel.Controls.Add(this.xAxisPrimaryMinimumFixedRadioButton);
+      this.xAxisPrimaryMinimumPanel.Controls.Add(this.xAxisPrimaryMinimumAutoRadioButton);
+      this.xAxisPrimaryMinimumPanel.Location = new System.Drawing.Point(63, 47);
+      this.xAxisPrimaryMinimumPanel.Name = "xAxisPrimaryMinimumPanel";
+      this.xAxisPrimaryMinimumPanel.Size = new System.Drawing.Size(245, 25);
+      this.xAxisPrimaryMinimumPanel.TabIndex = 3;
+      // 
+      // xAxisPrimaryMinimumFixedTextBox
+      // 
+      this.xAxisPrimaryMinimumFixedTextBox.Location = new System.Drawing.Point(126, 2);
+      this.xAxisPrimaryMinimumFixedTextBox.Name = "xAxisPrimaryMinimumFixedTextBox";
+      this.xAxisPrimaryMinimumFixedTextBox.Size = new System.Drawing.Size(117, 20);
+      this.xAxisPrimaryMinimumFixedTextBox.TabIndex = 2;
+      this.xAxisPrimaryMinimumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.xAxisPrimaryMinimumFixedTextBox_Validating);
+      // 
+      // xAxisPrimaryMinimumFixedRadioButton
+      // 
+      this.xAxisPrimaryMinimumFixedRadioButton.AutoSize = true;
+      this.xAxisPrimaryMinimumFixedRadioButton.Location = new System.Drawing.Point(70, 3);
+      this.xAxisPrimaryMinimumFixedRadioButton.Name = "xAxisPrimaryMinimumFixedRadioButton";
+      this.xAxisPrimaryMinimumFixedRadioButton.Size = new System.Drawing.Size(50, 17);
+      this.xAxisPrimaryMinimumFixedRadioButton.TabIndex = 1;
+      this.xAxisPrimaryMinimumFixedRadioButton.TabStop = true;
+      this.xAxisPrimaryMinimumFixedRadioButton.Text = "Fixed";
+      this.xAxisPrimaryMinimumFixedRadioButton.UseVisualStyleBackColor = true;
+      this.xAxisPrimaryMinimumFixedRadioButton.CheckedChanged += new System.EventHandler(this.xAxisPrimaryMinimumRadioButton_CheckedChanged);
+      // 
+      // xAxisPrimaryMinimumAutoRadioButton
+      // 
+      this.xAxisPrimaryMinimumAutoRadioButton.AutoSize = true;
+      this.xAxisPrimaryMinimumAutoRadioButton.Location = new System.Drawing.Point(4, 3);
+      this.xAxisPrimaryMinimumAutoRadioButton.Name = "xAxisPrimaryMinimumAutoRadioButton";
+      this.xAxisPrimaryMinimumAutoRadioButton.Size = new System.Drawing.Size(47, 17);
+      this.xAxisPrimaryMinimumAutoRadioButton.TabIndex = 0;
+      this.xAxisPrimaryMinimumAutoRadioButton.TabStop = true;
+      this.xAxisPrimaryMinimumAutoRadioButton.Text = "Auto";
+      this.xAxisPrimaryMinimumAutoRadioButton.UseVisualStyleBackColor = true;
+      this.xAxisPrimaryMinimumAutoRadioButton.CheckedChanged += new System.EventHandler(this.xAxisPrimaryMinimumRadioButton_CheckedChanged);
+      // 
+      // xAxisSecondaryGroupBox
+      // 
+      this.xAxisSecondaryGroupBox.Controls.Add(this.label10);
+      this.xAxisSecondaryGroupBox.Controls.Add(this.xAxisSecondaryTitleTextBox);
+      this.xAxisSecondaryGroupBox.Controls.Add(this.label5);
+      this.xAxisSecondaryGroupBox.Controls.Add(this.label6);
+      this.xAxisSecondaryGroupBox.Controls.Add(this.xAxisSecondaryMaximumPanel);
+      this.xAxisSecondaryGroupBox.Controls.Add(this.xAxisSecondaryMinimumPanel);
+      this.xAxisSecondaryGroupBox.Location = new System.Drawing.Point(6, 119);
+      this.xAxisSecondaryGroupBox.Name = "xAxisSecondaryGroupBox";
+      this.xAxisSecondaryGroupBox.Size = new System.Drawing.Size(316, 106);
+      this.xAxisSecondaryGroupBox.TabIndex = 1;
+      this.xAxisSecondaryGroupBox.TabStop = false;
+      this.xAxisSecondaryGroupBox.Text = "Secondary Axis";
+      // 
+      // label10
+      // 
+      this.label10.AutoSize = true;
+      this.label10.Location = new System.Drawing.Point(4, 26);
+      this.label10.Name = "label10";
+      this.label10.Size = new System.Drawing.Size(30, 13);
+      this.label10.TabIndex = 0;
+      this.label10.Text = "Title:";
+      // 
+      // xAxisSecondaryTitleTextBox
+      // 
+      this.xAxisSecondaryTitleTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.axisTitlesGroupBox.Controls.Add(this.ySecondaryTextBox);
-      this.axisTitlesGroupBox.Controls.Add(this.yPrimaryTextBox);
-      this.axisTitlesGroupBox.Controls.Add(this.xSecondaryTextBox);
-      this.axisTitlesGroupBox.Controls.Add(this.label4);
-      this.axisTitlesGroupBox.Controls.Add(this.label1);
-      this.axisTitlesGroupBox.Controls.Add(this.xPrimaryTextBox);
-      this.axisTitlesGroupBox.Controls.Add(this.label2);
-      this.axisTitlesGroupBox.Controls.Add(this.label3);
-      this.axisTitlesGroupBox.Location = new System.Drawing.Point(3, 3);
-      this.axisTitlesGroupBox.Name = "axisTitlesGroupBox";
-      this.axisTitlesGroupBox.Size = new System.Drawing.Size(312, 124);
-      this.axisTitlesGroupBox.TabIndex = 0;
-      this.axisTitlesGroupBox.TabStop = false;
-      this.axisTitlesGroupBox.Text = "Axis Titles";
-      // 
-      // ySecondaryTextBox
-      // 
-      this.ySecondaryTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+      this.xAxisSecondaryTitleTextBox.Location = new System.Drawing.Point(63, 23);
+      this.xAxisSecondaryTitleTextBox.Name = "xAxisSecondaryTitleTextBox";
+      this.xAxisSecondaryTitleTextBox.Size = new System.Drawing.Size(245, 20);
+      this.xAxisSecondaryTitleTextBox.TabIndex = 1;
+      this.xAxisSecondaryTitleTextBox.Validated += new System.EventHandler(this.xSecondaryTitleTextBox_Validated);
+      // 
+      // label5
+      // 
+      this.label5.AutoSize = true;
+      this.label5.Location = new System.Drawing.Point(4, 77);
+      this.label5.Name = "label5";
+      this.label5.Size = new System.Drawing.Size(54, 13);
+      this.label5.TabIndex = 4;
+      this.label5.Text = "Maximum:";
+      // 
+      // label6
+      // 
+      this.label6.AutoSize = true;
+      this.label6.Location = new System.Drawing.Point(4, 53);
+      this.label6.Name = "label6";
+      this.label6.Size = new System.Drawing.Size(51, 13);
+      this.label6.TabIndex = 2;
+      this.label6.Text = "Minimum:";
+      // 
+      // xAxisSecondaryMaximumPanel
+      // 
+      this.xAxisSecondaryMaximumPanel.Controls.Add(this.xAxisSecondaryMaximumFixedTextBox);
+      this.xAxisSecondaryMaximumPanel.Controls.Add(this.xAxisSecondaryMaximumFixedRadioButton);
+      this.xAxisSecondaryMaximumPanel.Controls.Add(this.xAxisSecondaryMaximumAutoRadioButton);
+      this.xAxisSecondaryMaximumPanel.Location = new System.Drawing.Point(63, 71);
+      this.xAxisSecondaryMaximumPanel.Name = "xAxisSecondaryMaximumPanel";
+      this.xAxisSecondaryMaximumPanel.Size = new System.Drawing.Size(245, 25);
+      this.xAxisSecondaryMaximumPanel.TabIndex = 5;
+      // 
+      // xAxisSecondaryMaximumFixedTextBox
+      // 
+      this.xAxisSecondaryMaximumFixedTextBox.Location = new System.Drawing.Point(126, 2);
+      this.xAxisSecondaryMaximumFixedTextBox.Name = "xAxisSecondaryMaximumFixedTextBox";
+      this.xAxisSecondaryMaximumFixedTextBox.Size = new System.Drawing.Size(117, 20);
+      this.xAxisSecondaryMaximumFixedTextBox.TabIndex = 2;
+      this.xAxisSecondaryMaximumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.xAxisSecondaryMaximumFixedTextBox_Validating);
+      // 
+      // xAxisSecondaryMaximumFixedRadioButton
+      // 
+      this.xAxisSecondaryMaximumFixedRadioButton.AutoSize = true;
+      this.xAxisSecondaryMaximumFixedRadioButton.Location = new System.Drawing.Point(70, 4);
+      this.xAxisSecondaryMaximumFixedRadioButton.Name = "xAxisSecondaryMaximumFixedRadioButton";
+      this.xAxisSecondaryMaximumFixedRadioButton.Size = new System.Drawing.Size(50, 17);
+      this.xAxisSecondaryMaximumFixedRadioButton.TabIndex = 1;
+      this.xAxisSecondaryMaximumFixedRadioButton.TabStop = true;
+      this.xAxisSecondaryMaximumFixedRadioButton.Text = "Fixed";
+      this.xAxisSecondaryMaximumFixedRadioButton.UseVisualStyleBackColor = true;
+      this.xAxisSecondaryMaximumFixedRadioButton.CheckedChanged += new System.EventHandler(this.xAxisSecondaryMaximumRadioButton_CheckedChanged);
+      // 
+      // xAxisSecondaryMaximumAutoRadioButton
+      // 
+      this.xAxisSecondaryMaximumAutoRadioButton.AutoSize = true;
+      this.xAxisSecondaryMaximumAutoRadioButton.Location = new System.Drawing.Point(4, 4);
+      this.xAxisSecondaryMaximumAutoRadioButton.Name = "xAxisSecondaryMaximumAutoRadioButton";
+      this.xAxisSecondaryMaximumAutoRadioButton.Size = new System.Drawing.Size(47, 17);
+      this.xAxisSecondaryMaximumAutoRadioButton.TabIndex = 0;
+      this.xAxisSecondaryMaximumAutoRadioButton.TabStop = true;
+      this.xAxisSecondaryMaximumAutoRadioButton.Text = "Auto";
+      this.xAxisSecondaryMaximumAutoRadioButton.UseVisualStyleBackColor = true;
+      this.xAxisSecondaryMaximumAutoRadioButton.CheckedChanged += new System.EventHandler(this.xAxisSecondaryMaximumRadioButton_CheckedChanged);
+      // 
+      // xAxisSecondaryMinimumPanel
+      // 
+      this.xAxisSecondaryMinimumPanel.Controls.Add(this.xAxisSecondaryMinimumFixedTextBox);
+      this.xAxisSecondaryMinimumPanel.Controls.Add(this.xAxisSecondaryMinimumFixedRadioButton);
+      this.xAxisSecondaryMinimumPanel.Controls.Add(this.xAxisSecondaryMinimumAutoRadioButton);
+      this.xAxisSecondaryMinimumPanel.Location = new System.Drawing.Point(63, 47);
+      this.xAxisSecondaryMinimumPanel.Name = "xAxisSecondaryMinimumPanel";
+      this.xAxisSecondaryMinimumPanel.Size = new System.Drawing.Size(245, 25);
+      this.xAxisSecondaryMinimumPanel.TabIndex = 3;
+      // 
+      // xAxisSecondaryMinimumFixedTextBox
+      // 
+      this.xAxisSecondaryMinimumFixedTextBox.Location = new System.Drawing.Point(126, 2);
+      this.xAxisSecondaryMinimumFixedTextBox.Name = "xAxisSecondaryMinimumFixedTextBox";
+      this.xAxisSecondaryMinimumFixedTextBox.Size = new System.Drawing.Size(117, 20);
+      this.xAxisSecondaryMinimumFixedTextBox.TabIndex = 2;
+      this.xAxisSecondaryMinimumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.xAxisSecondaryMinimumFixedTextBox_Validating);
+      // 
+      // xAxisSecondaryMinimumFixedRadioButton
+      // 
+      this.xAxisSecondaryMinimumFixedRadioButton.AutoSize = true;
+      this.xAxisSecondaryMinimumFixedRadioButton.Location = new System.Drawing.Point(70, 3);
+      this.xAxisSecondaryMinimumFixedRadioButton.Name = "xAxisSecondaryMinimumFixedRadioButton";
+      this.xAxisSecondaryMinimumFixedRadioButton.Size = new System.Drawing.Size(50, 17);
+      this.xAxisSecondaryMinimumFixedRadioButton.TabIndex = 1;
+      this.xAxisSecondaryMinimumFixedRadioButton.TabStop = true;
+      this.xAxisSecondaryMinimumFixedRadioButton.Text = "Fixed";
+      this.xAxisSecondaryMinimumFixedRadioButton.UseVisualStyleBackColor = true;
+      this.xAxisSecondaryMinimumFixedRadioButton.CheckedChanged += new System.EventHandler(this.xAxisSecondaryMinimumRadioButton_CheckedChanged);
+      // 
+      // xAxisSecondaryMinimumAutoRadioButton
+      // 
+      this.xAxisSecondaryMinimumAutoRadioButton.AutoSize = true;
+      this.xAxisSecondaryMinimumAutoRadioButton.Location = new System.Drawing.Point(4, 3);
+      this.xAxisSecondaryMinimumAutoRadioButton.Name = "xAxisSecondaryMinimumAutoRadioButton";
+      this.xAxisSecondaryMinimumAutoRadioButton.Size = new System.Drawing.Size(47, 17);
+      this.xAxisSecondaryMinimumAutoRadioButton.TabIndex = 0;
+      this.xAxisSecondaryMinimumAutoRadioButton.TabStop = true;
+      this.xAxisSecondaryMinimumAutoRadioButton.Text = "Auto";
+      this.xAxisSecondaryMinimumAutoRadioButton.UseVisualStyleBackColor = true;
+      this.xAxisSecondaryMinimumAutoRadioButton.CheckedChanged += new System.EventHandler(this.xAxisSecondaryMinimumRadioButton_CheckedChanged);
+      // 
+      // axisTabControl
+      // 
+      this.axisTabControl.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.ySecondaryTextBox.Location = new System.Drawing.Point(85, 45);
-      this.ySecondaryTextBox.Name = "ySecondaryTextBox";
-      this.ySecondaryTextBox.Size = new System.Drawing.Size(221, 20);
-      this.ySecondaryTextBox.TabIndex = 3;
-      this.ySecondaryTextBox.Validated += new System.EventHandler(this.ySecondaryTextBox_Validated);
-      // 
-      // label4
-      // 
-      this.label4.AutoSize = true;
-      this.label4.Location = new System.Drawing.Point(8, 48);
-      this.label4.Name = "label4";
-      this.label4.Size = new System.Drawing.Size(71, 13);
-      this.label4.TabIndex = 2;
-      this.label4.Text = "Secondary-Y:";
-      // 
-      // label2
-      // 
-      this.label2.AutoSize = true;
-      this.label2.Location = new System.Drawing.Point(8, 74);
-      this.label2.Name = "label2";
-      this.label2.Size = new System.Drawing.Size(54, 13);
-      this.label2.TabIndex = 4;
-      this.label2.Text = "Primary-X:";
-      // 
-      // label3
-      // 
-      this.label3.AutoSize = true;
-      this.label3.Location = new System.Drawing.Point(8, 100);
-      this.label3.Name = "label3";
-      this.label3.Size = new System.Drawing.Size(71, 13);
-      this.label3.TabIndex = 6;
-      this.label3.Text = "Secondary-X:";
+      this.axisTabControl.Controls.Add(this.xAxisTabPage);
+      this.axisTabControl.Controls.Add(this.yAxisTabPage);
+      this.axisTabControl.Location = new System.Drawing.Point(0, 0);
+      this.axisTabControl.Name = "axisTabControl";
+      this.axisTabControl.SelectedIndex = 0;
+      this.axisTabControl.Size = new System.Drawing.Size(336, 257);
+      this.axisTabControl.TabIndex = 0;
+      // 
+      // xAxisTabPage
+      // 
+      this.xAxisTabPage.Controls.Add(this.xAxisSecondaryGroupBox);
+      this.xAxisTabPage.Controls.Add(this.xAxisPrimaryGroupBox);
+      this.xAxisTabPage.Location = new System.Drawing.Point(4, 22);
+      this.xAxisTabPage.Name = "xAxisTabPage";
+      this.xAxisTabPage.Padding = new System.Windows.Forms.Padding(3);
+      this.xAxisTabPage.Size = new System.Drawing.Size(328, 231);
+      this.xAxisTabPage.TabIndex = 0;
+      this.xAxisTabPage.Text = "X-Axis";
+      this.xAxisTabPage.UseVisualStyleBackColor = true;
+      // 
+      // yAxisTabPage
+      // 
+      this.yAxisTabPage.Controls.Add(this.yAxisSecondaryGroupBox);
+      this.yAxisTabPage.Controls.Add(this.yAxisPrimaryGroupBox);
+      this.yAxisTabPage.Location = new System.Drawing.Point(4, 22);
+      this.yAxisTabPage.Name = "yAxisTabPage";
+      this.yAxisTabPage.Padding = new System.Windows.Forms.Padding(3);
+      this.yAxisTabPage.Size = new System.Drawing.Size(328, 231);
+      this.yAxisTabPage.TabIndex = 1;
+      this.yAxisTabPage.Text = "Y-Axis";
+      this.yAxisTabPage.UseVisualStyleBackColor = true;
+      // 
+      // yAxisSecondaryGroupBox
+      // 
+      this.yAxisSecondaryGroupBox.Controls.Add(this.yAxisSecondaryTitleTextBox);
+      this.yAxisSecondaryGroupBox.Controls.Add(this.label4);
+      this.yAxisSecondaryGroupBox.Controls.Add(this.label13);
+      this.yAxisSecondaryGroupBox.Controls.Add(this.label14);
+      this.yAxisSecondaryGroupBox.Controls.Add(this.yAxisSecondaryMaximumPanel);
+      this.yAxisSecondaryGroupBox.Controls.Add(this.yAxisSecondaryMinimumPanel);
+      this.yAxisSecondaryGroupBox.Location = new System.Drawing.Point(6, 119);
+      this.yAxisSecondaryGroupBox.Name = "yAxisSecondaryGroupBox";
+      this.yAxisSecondaryGroupBox.Size = new System.Drawing.Size(316, 106);
+      this.yAxisSecondaryGroupBox.TabIndex = 1;
+      this.yAxisSecondaryGroupBox.TabStop = false;
+      this.yAxisSecondaryGroupBox.Text = "Secondary Axis";
+      // 
+      // label13
+      // 
+      this.label13.AutoSize = true;
+      this.label13.Location = new System.Drawing.Point(4, 77);
+      this.label13.Name = "label13";
+      this.label13.Size = new System.Drawing.Size(54, 13);
+      this.label13.TabIndex = 4;
+      this.label13.Text = "Maximum:";
+      // 
+      // label14
+      // 
+      this.label14.AutoSize = true;
+      this.label14.Location = new System.Drawing.Point(4, 53);
+      this.label14.Name = "label14";
+      this.label14.Size = new System.Drawing.Size(51, 13);
+      this.label14.TabIndex = 2;
+      this.label14.Text = "Minimum:";
+      // 
+      // yAxisSecondaryMaximumPanel
+      // 
+      this.yAxisSecondaryMaximumPanel.Controls.Add(this.yAxisSecondaryMaximumFixedTextBox);
+      this.yAxisSecondaryMaximumPanel.Controls.Add(this.yAxisSecondaryMaximumFixedRadioButton);
+      this.yAxisSecondaryMaximumPanel.Controls.Add(this.yAxisSecondaryMaximumAutoRadioButton);
+      this.yAxisSecondaryMaximumPanel.Location = new System.Drawing.Point(63, 71);
+      this.yAxisSecondaryMaximumPanel.Name = "yAxisSecondaryMaximumPanel";
+      this.yAxisSecondaryMaximumPanel.Size = new System.Drawing.Size(245, 25);
+      this.yAxisSecondaryMaximumPanel.TabIndex = 5;
+      // 
+      // yAxisSecondaryMaximumFixedTextBox
+      // 
+      this.yAxisSecondaryMaximumFixedTextBox.Location = new System.Drawing.Point(126, 2);
+      this.yAxisSecondaryMaximumFixedTextBox.Name = "yAxisSecondaryMaximumFixedTextBox";
+      this.yAxisSecondaryMaximumFixedTextBox.Size = new System.Drawing.Size(117, 20);
+      this.yAxisSecondaryMaximumFixedTextBox.TabIndex = 2;
+      this.yAxisSecondaryMaximumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.yAxisSecondaryMaximumFixedTextBox_Validating);
+      // 
+      // yAxisSecondaryMaximumFixedRadioButton
+      // 
+      this.yAxisSecondaryMaximumFixedRadioButton.AutoSize = true;
+      this.yAxisSecondaryMaximumFixedRadioButton.Location = new System.Drawing.Point(70, 4);
+      this.yAxisSecondaryMaximumFixedRadioButton.Name = "yAxisSecondaryMaximumFixedRadioButton";
+      this.yAxisSecondaryMaximumFixedRadioButton.Size = new System.Drawing.Size(50, 17);
+      this.yAxisSecondaryMaximumFixedRadioButton.TabIndex = 1;
+      this.yAxisSecondaryMaximumFixedRadioButton.TabStop = true;
+      this.yAxisSecondaryMaximumFixedRadioButton.Text = "Fixed";
+      this.yAxisSecondaryMaximumFixedRadioButton.UseVisualStyleBackColor = true;
+      this.yAxisSecondaryMaximumFixedRadioButton.CheckedChanged += new System.EventHandler(this.yAxisSecondaryMaximumRadioButton_CheckedChanged);
+      // 
+      // yAxisSecondaryMaximumAutoRadioButton
+      // 
+      this.yAxisSecondaryMaximumAutoRadioButton.AutoSize = true;
+      this.yAxisSecondaryMaximumAutoRadioButton.Location = new System.Drawing.Point(4, 4);
+      this.yAxisSecondaryMaximumAutoRadioButton.Name = "yAxisSecondaryMaximumAutoRadioButton";
+      this.yAxisSecondaryMaximumAutoRadioButton.Size = new System.Drawing.Size(47, 17);
+      this.yAxisSecondaryMaximumAutoRadioButton.TabIndex = 0;
+      this.yAxisSecondaryMaximumAutoRadioButton.TabStop = true;
+      this.yAxisSecondaryMaximumAutoRadioButton.Text = "Auto";
+      this.yAxisSecondaryMaximumAutoRadioButton.UseVisualStyleBackColor = true;
+      this.yAxisSecondaryMaximumAutoRadioButton.CheckedChanged += new System.EventHandler(this.yAxisSecondaryMaximumRadioButton_CheckedChanged);
+      // 
+      // yAxisSecondaryMinimumPanel
+      // 
+      this.yAxisSecondaryMinimumPanel.Controls.Add(this.yAxisSecondaryMinimumFixedTextBox);
+      this.yAxisSecondaryMinimumPanel.Controls.Add(this.yAxisSecondaryMinimumFixedRadioButton);
+      this.yAxisSecondaryMinimumPanel.Controls.Add(this.yAxisSecondaryMinimumAutoRadioButton);
+      this.yAxisSecondaryMinimumPanel.Location = new System.Drawing.Point(63, 47);
+      this.yAxisSecondaryMinimumPanel.Name = "yAxisSecondaryMinimumPanel";
+      this.yAxisSecondaryMinimumPanel.Size = new System.Drawing.Size(245, 25);
+      this.yAxisSecondaryMinimumPanel.TabIndex = 3;
+      // 
+      // yAxisSecondaryMinimumFixedTextBox
+      // 
+      this.yAxisSecondaryMinimumFixedTextBox.Location = new System.Drawing.Point(126, 2);
+      this.yAxisSecondaryMinimumFixedTextBox.Name = "yAxisSecondaryMinimumFixedTextBox";
+      this.yAxisSecondaryMinimumFixedTextBox.Size = new System.Drawing.Size(117, 20);
+      this.yAxisSecondaryMinimumFixedTextBox.TabIndex = 2;
+      this.yAxisSecondaryMinimumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.yAxisSecondaryMinimumFixedTextBox_Validating);
+      // 
+      // yAxisSecondaryMinimumFixedRadioButton
+      // 
+      this.yAxisSecondaryMinimumFixedRadioButton.AutoSize = true;
+      this.yAxisSecondaryMinimumFixedRadioButton.Location = new System.Drawing.Point(70, 3);
+      this.yAxisSecondaryMinimumFixedRadioButton.Name = "yAxisSecondaryMinimumFixedRadioButton";
+      this.yAxisSecondaryMinimumFixedRadioButton.Size = new System.Drawing.Size(50, 17);
+      this.yAxisSecondaryMinimumFixedRadioButton.TabIndex = 1;
+      this.yAxisSecondaryMinimumFixedRadioButton.TabStop = true;
+      this.yAxisSecondaryMinimumFixedRadioButton.Text = "Fixed";
+      this.yAxisSecondaryMinimumFixedRadioButton.UseVisualStyleBackColor = true;
+      this.yAxisSecondaryMinimumFixedRadioButton.CheckedChanged += new System.EventHandler(this.yAxisSecondaryMinimumRadioButton_CheckedChanged);
+      // 
+      // yAxisSecondaryMinimumAutoRadioButton
+      // 
+      this.yAxisSecondaryMinimumAutoRadioButton.AutoSize = true;
+      this.yAxisSecondaryMinimumAutoRadioButton.Location = new System.Drawing.Point(4, 3);
+      this.yAxisSecondaryMinimumAutoRadioButton.Name = "yAxisSecondaryMinimumAutoRadioButton";
+      this.yAxisSecondaryMinimumAutoRadioButton.Size = new System.Drawing.Size(47, 17);
+      this.yAxisSecondaryMinimumAutoRadioButton.TabIndex = 0;
+      this.yAxisSecondaryMinimumAutoRadioButton.TabStop = true;
+      this.yAxisSecondaryMinimumAutoRadioButton.Text = "Auto";
+      this.yAxisSecondaryMinimumAutoRadioButton.UseVisualStyleBackColor = true;
+      this.yAxisSecondaryMinimumAutoRadioButton.CheckedChanged += new System.EventHandler(this.yAxisSecondaryMinimumRadioButton_CheckedChanged);
+      // 
+      // yAxisPrimaryGroupBox
+      // 
+      this.yAxisPrimaryGroupBox.Controls.Add(this.label7);
+      this.yAxisPrimaryGroupBox.Controls.Add(this.yAxisPrimaryTitleTextBox);
+      this.yAxisPrimaryGroupBox.Controls.Add(this.label8);
+      this.yAxisPrimaryGroupBox.Controls.Add(this.label1);
+      this.yAxisPrimaryGroupBox.Controls.Add(this.yAxisPrimaryMaximumPanel);
+      this.yAxisPrimaryGroupBox.Controls.Add(this.yAxisPrimaryMinimumPanel);
+      this.yAxisPrimaryGroupBox.Location = new System.Drawing.Point(6, 6);
+      this.yAxisPrimaryGroupBox.Name = "yAxisPrimaryGroupBox";
+      this.yAxisPrimaryGroupBox.Size = new System.Drawing.Size(316, 107);
+      this.yAxisPrimaryGroupBox.TabIndex = 0;
+      this.yAxisPrimaryGroupBox.TabStop = false;
+      this.yAxisPrimaryGroupBox.Text = "Primary Axis";
+      // 
+      // label7
+      // 
+      this.label7.AutoSize = true;
+      this.label7.Location = new System.Drawing.Point(4, 77);
+      this.label7.Name = "label7";
+      this.label7.Size = new System.Drawing.Size(54, 13);
+      this.label7.TabIndex = 4;
+      this.label7.Text = "Maximum:";
+      // 
+      // label8
+      // 
+      this.label8.AutoSize = true;
+      this.label8.Location = new System.Drawing.Point(4, 53);
+      this.label8.Name = "label8";
+      this.label8.Size = new System.Drawing.Size(51, 13);
+      this.label8.TabIndex = 2;
+      this.label8.Text = "Minimum:";
+      // 
+      // yAxisPrimaryMaximumPanel
+      // 
+      this.yAxisPrimaryMaximumPanel.Controls.Add(this.yAxisPrimaryMaximumFixedTextBox);
+      this.yAxisPrimaryMaximumPanel.Controls.Add(this.yAxisPrimaryMaximumFixedRadioButton);
+      this.yAxisPrimaryMaximumPanel.Controls.Add(this.yAxisPrimaryMaximumAutoRadioButton);
+      this.yAxisPrimaryMaximumPanel.Location = new System.Drawing.Point(63, 71);
+      this.yAxisPrimaryMaximumPanel.Name = "yAxisPrimaryMaximumPanel";
+      this.yAxisPrimaryMaximumPanel.Size = new System.Drawing.Size(245, 25);
+      this.yAxisPrimaryMaximumPanel.TabIndex = 5;
+      // 
+      // yAxisPrimaryMaximumFixedTextBox
+      // 
+      this.yAxisPrimaryMaximumFixedTextBox.Location = new System.Drawing.Point(126, 2);
+      this.yAxisPrimaryMaximumFixedTextBox.Name = "yAxisPrimaryMaximumFixedTextBox";
+      this.yAxisPrimaryMaximumFixedTextBox.Size = new System.Drawing.Size(117, 20);
+      this.yAxisPrimaryMaximumFixedTextBox.TabIndex = 2;
+      this.yAxisPrimaryMaximumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.yAxisPrimaryMaximumFixedTextBox_Validating);
+      // 
+      // yAxisPrimaryMaximumFixedRadioButton
+      // 
+      this.yAxisPrimaryMaximumFixedRadioButton.AutoSize = true;
+      this.yAxisPrimaryMaximumFixedRadioButton.Location = new System.Drawing.Point(70, 4);
+      this.yAxisPrimaryMaximumFixedRadioButton.Name = "yAxisPrimaryMaximumFixedRadioButton";
+      this.yAxisPrimaryMaximumFixedRadioButton.Size = new System.Drawing.Size(50, 17);
+      this.yAxisPrimaryMaximumFixedRadioButton.TabIndex = 1;
+      this.yAxisPrimaryMaximumFixedRadioButton.TabStop = true;
+      this.yAxisPrimaryMaximumFixedRadioButton.Text = "Fixed";
+      this.yAxisPrimaryMaximumFixedRadioButton.UseVisualStyleBackColor = true;
+      this.yAxisPrimaryMaximumFixedRadioButton.CheckedChanged += new System.EventHandler(this.yAxisPrimaryMaximumRadioButton_CheckedChanged);
+      // 
+      // yAxisPrimaryMaximumAutoRadioButton
+      // 
+      this.yAxisPrimaryMaximumAutoRadioButton.AutoSize = true;
+      this.yAxisPrimaryMaximumAutoRadioButton.Location = new System.Drawing.Point(4, 4);
+      this.yAxisPrimaryMaximumAutoRadioButton.Name = "yAxisPrimaryMaximumAutoRadioButton";
+      this.yAxisPrimaryMaximumAutoRadioButton.Size = new System.Drawing.Size(47, 17);
+      this.yAxisPrimaryMaximumAutoRadioButton.TabIndex = 0;
+      this.yAxisPrimaryMaximumAutoRadioButton.TabStop = true;
+      this.yAxisPrimaryMaximumAutoRadioButton.Text = "Auto";
+      this.yAxisPrimaryMaximumAutoRadioButton.UseVisualStyleBackColor = true;
+      this.yAxisPrimaryMaximumAutoRadioButton.CheckedChanged += new System.EventHandler(this.yAxisPrimaryMaximumRadioButton_CheckedChanged);
+      // 
+      // yAxisPrimaryMinimumPanel
+      // 
+      this.yAxisPrimaryMinimumPanel.Controls.Add(this.yAxisPrimaryMinimumFixedTextBox);
+      this.yAxisPrimaryMinimumPanel.Controls.Add(this.yAxisPrimaryMinimumFixedRadioButton);
+      this.yAxisPrimaryMinimumPanel.Controls.Add(this.yAxisPrimaryMinimumAutoRadioButton);
+      this.yAxisPrimaryMinimumPanel.Location = new System.Drawing.Point(63, 47);
+      this.yAxisPrimaryMinimumPanel.Name = "yAxisPrimaryMinimumPanel";
+      this.yAxisPrimaryMinimumPanel.Size = new System.Drawing.Size(245, 25);
+      this.yAxisPrimaryMinimumPanel.TabIndex = 3;
+      // 
+      // yAxisPrimaryMinimumFixedTextBox
+      // 
+      this.yAxisPrimaryMinimumFixedTextBox.Location = new System.Drawing.Point(126, 2);
+      this.yAxisPrimaryMinimumFixedTextBox.Name = "yAxisPrimaryMinimumFixedTextBox";
+      this.yAxisPrimaryMinimumFixedTextBox.Size = new System.Drawing.Size(117, 20);
+      this.yAxisPrimaryMinimumFixedTextBox.TabIndex = 2;
+      this.yAxisPrimaryMinimumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.yAxisPrimaryMinimumFixedTextBox_Validating);
+      // 
+      // yAxisPrimaryMinimumFixedRadioButton
+      // 
+      this.yAxisPrimaryMinimumFixedRadioButton.AutoSize = true;
+      this.yAxisPrimaryMinimumFixedRadioButton.Location = new System.Drawing.Point(70, 3);
+      this.yAxisPrimaryMinimumFixedRadioButton.Name = "yAxisPrimaryMinimumFixedRadioButton";
+      this.yAxisPrimaryMinimumFixedRadioButton.Size = new System.Drawing.Size(50, 17);
+      this.yAxisPrimaryMinimumFixedRadioButton.TabIndex = 1;
+      this.yAxisPrimaryMinimumFixedRadioButton.TabStop = true;
+      this.yAxisPrimaryMinimumFixedRadioButton.Text = "Fixed";
+      this.yAxisPrimaryMinimumFixedRadioButton.UseVisualStyleBackColor = true;
+      this.yAxisPrimaryMinimumFixedRadioButton.CheckedChanged += new System.EventHandler(this.yAxisPrimaryMinimumRadioButton_CheckedChanged);
+      // 
+      // yAxisPrimaryMinimumAutoRadioButton
+      // 
+      this.yAxisPrimaryMinimumAutoRadioButton.AutoSize = true;
+      this.yAxisPrimaryMinimumAutoRadioButton.Location = new System.Drawing.Point(4, 3);
+      this.yAxisPrimaryMinimumAutoRadioButton.Name = "yAxisPrimaryMinimumAutoRadioButton";
+      this.yAxisPrimaryMinimumAutoRadioButton.Size = new System.Drawing.Size(47, 17);
+      this.yAxisPrimaryMinimumAutoRadioButton.TabIndex = 0;
+      this.yAxisPrimaryMinimumAutoRadioButton.TabStop = true;
+      this.yAxisPrimaryMinimumAutoRadioButton.Text = "Auto";
+      this.yAxisPrimaryMinimumAutoRadioButton.UseVisualStyleBackColor = true;
+      this.yAxisPrimaryMinimumAutoRadioButton.CheckedChanged += new System.EventHandler(this.yAxisPrimaryMinimumRadioButton_CheckedChanged);
+      // 
+      // errorProvider
+      // 
+      this.errorProvider.ContainerControl = this;
       // 
       // DataTableVisualPropertiesControl
@@ -156,9 +709,35 @@
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.axisTitlesGroupBox);
+      this.Controls.Add(this.axisTabControl);
       this.Name = "DataTableVisualPropertiesControl";
-      this.Size = new System.Drawing.Size(320, 133);
-      this.axisTitlesGroupBox.ResumeLayout(false);
-      this.axisTitlesGroupBox.PerformLayout();
+      this.Size = new System.Drawing.Size(336, 257);
+      this.xAxisPrimaryGroupBox.ResumeLayout(false);
+      this.xAxisPrimaryGroupBox.PerformLayout();
+      this.xAxisPrimaryMaximumPanel.ResumeLayout(false);
+      this.xAxisPrimaryMaximumPanel.PerformLayout();
+      this.xAxisPrimaryMinimumPanel.ResumeLayout(false);
+      this.xAxisPrimaryMinimumPanel.PerformLayout();
+      this.xAxisSecondaryGroupBox.ResumeLayout(false);
+      this.xAxisSecondaryGroupBox.PerformLayout();
+      this.xAxisSecondaryMaximumPanel.ResumeLayout(false);
+      this.xAxisSecondaryMaximumPanel.PerformLayout();
+      this.xAxisSecondaryMinimumPanel.ResumeLayout(false);
+      this.xAxisSecondaryMinimumPanel.PerformLayout();
+      this.axisTabControl.ResumeLayout(false);
+      this.xAxisTabPage.ResumeLayout(false);
+      this.yAxisTabPage.ResumeLayout(false);
+      this.yAxisSecondaryGroupBox.ResumeLayout(false);
+      this.yAxisSecondaryGroupBox.PerformLayout();
+      this.yAxisSecondaryMaximumPanel.ResumeLayout(false);
+      this.yAxisSecondaryMaximumPanel.PerformLayout();
+      this.yAxisSecondaryMinimumPanel.ResumeLayout(false);
+      this.yAxisSecondaryMinimumPanel.PerformLayout();
+      this.yAxisPrimaryGroupBox.ResumeLayout(false);
+      this.yAxisPrimaryGroupBox.PerformLayout();
+      this.yAxisPrimaryMaximumPanel.ResumeLayout(false);
+      this.yAxisPrimaryMaximumPanel.PerformLayout();
+      this.yAxisPrimaryMinimumPanel.ResumeLayout(false);
+      this.yAxisPrimaryMinimumPanel.PerformLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
       this.ResumeLayout(false);
 
@@ -168,12 +747,59 @@
 
     private System.Windows.Forms.Label label1;
-    private System.Windows.Forms.TextBox yPrimaryTextBox;
-    private System.Windows.Forms.TextBox xPrimaryTextBox;
-    private System.Windows.Forms.TextBox xSecondaryTextBox;
-    private System.Windows.Forms.GroupBox axisTitlesGroupBox;
-    private System.Windows.Forms.TextBox ySecondaryTextBox;
+    private System.Windows.Forms.TextBox yAxisPrimaryTitleTextBox;
+    private System.Windows.Forms.TextBox yAxisSecondaryTitleTextBox;
     private System.Windows.Forms.Label label4;
-    private System.Windows.Forms.Label label2;
-    private System.Windows.Forms.Label label3;
+    private System.Windows.Forms.GroupBox xAxisPrimaryGroupBox;
+    private System.Windows.Forms.Label label12;
+    private System.Windows.Forms.Label label9;
+    private System.Windows.Forms.TextBox xAxisPrimaryTitleTextBox;
+    private System.Windows.Forms.Label label11;
+    private System.Windows.Forms.Panel xAxisPrimaryMaximumPanel;
+    private System.Windows.Forms.TextBox xAxisPrimaryMaximumFixedTextBox;
+    private System.Windows.Forms.RadioButton xAxisPrimaryMaximumFixedRadioButton;
+    private System.Windows.Forms.RadioButton xAxisPrimaryMaximumAutoRadioButton;
+    private System.Windows.Forms.Panel xAxisPrimaryMinimumPanel;
+    private System.Windows.Forms.TextBox xAxisPrimaryMinimumFixedTextBox;
+    private System.Windows.Forms.RadioButton xAxisPrimaryMinimumFixedRadioButton;
+    private System.Windows.Forms.RadioButton xAxisPrimaryMinimumAutoRadioButton;
+    private System.Windows.Forms.GroupBox xAxisSecondaryGroupBox;
+    private System.Windows.Forms.Label label10;
+    private System.Windows.Forms.TextBox xAxisSecondaryTitleTextBox;
+    private System.Windows.Forms.Label label5;
+    private System.Windows.Forms.Label label6;
+    private System.Windows.Forms.Panel xAxisSecondaryMaximumPanel;
+    private System.Windows.Forms.TextBox xAxisSecondaryMaximumFixedTextBox;
+    private System.Windows.Forms.RadioButton xAxisSecondaryMaximumFixedRadioButton;
+    private System.Windows.Forms.RadioButton xAxisSecondaryMaximumAutoRadioButton;
+    private System.Windows.Forms.Panel xAxisSecondaryMinimumPanel;
+    private System.Windows.Forms.TextBox xAxisSecondaryMinimumFixedTextBox;
+    private System.Windows.Forms.RadioButton xAxisSecondaryMinimumFixedRadioButton;
+    private System.Windows.Forms.RadioButton xAxisSecondaryMinimumAutoRadioButton;
+    private System.Windows.Forms.TabControl axisTabControl;
+    private System.Windows.Forms.TabPage xAxisTabPage;
+    private System.Windows.Forms.TabPage yAxisTabPage;
+    private System.Windows.Forms.GroupBox yAxisSecondaryGroupBox;
+    private System.Windows.Forms.Label label13;
+    private System.Windows.Forms.Label label14;
+    private System.Windows.Forms.Panel yAxisSecondaryMaximumPanel;
+    private System.Windows.Forms.TextBox yAxisSecondaryMaximumFixedTextBox;
+    private System.Windows.Forms.RadioButton yAxisSecondaryMaximumFixedRadioButton;
+    private System.Windows.Forms.RadioButton yAxisSecondaryMaximumAutoRadioButton;
+    private System.Windows.Forms.Panel yAxisSecondaryMinimumPanel;
+    private System.Windows.Forms.TextBox yAxisSecondaryMinimumFixedTextBox;
+    private System.Windows.Forms.RadioButton yAxisSecondaryMinimumFixedRadioButton;
+    private System.Windows.Forms.RadioButton yAxisSecondaryMinimumAutoRadioButton;
+    private System.Windows.Forms.GroupBox yAxisPrimaryGroupBox;
+    private System.Windows.Forms.Label label7;
+    private System.Windows.Forms.Label label8;
+    private System.Windows.Forms.Panel yAxisPrimaryMaximumPanel;
+    private System.Windows.Forms.TextBox yAxisPrimaryMaximumFixedTextBox;
+    private System.Windows.Forms.RadioButton yAxisPrimaryMaximumFixedRadioButton;
+    private System.Windows.Forms.RadioButton yAxisPrimaryMaximumAutoRadioButton;
+    private System.Windows.Forms.Panel yAxisPrimaryMinimumPanel;
+    private System.Windows.Forms.TextBox yAxisPrimaryMinimumFixedTextBox;
+    private System.Windows.Forms.RadioButton yAxisPrimaryMinimumFixedRadioButton;
+    private System.Windows.Forms.RadioButton yAxisPrimaryMinimumAutoRadioButton;
+    private System.Windows.Forms.ErrorProvider errorProvider;
   }
 }
Index: /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.cs	(revision 6013)
+++ /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.cs	(revision 6014)
@@ -47,13 +47,63 @@
       try {
         if (Content == null) {
-          yPrimaryTextBox.Text = string.Empty;
-          ySecondaryTextBox.Text = string.Empty;
-          xPrimaryTextBox.Text = string.Empty;
-          xSecondaryTextBox.Text = string.Empty;
-        } else {
-          yPrimaryTextBox.Text = Content.YAxisTitle;
-          ySecondaryTextBox.Text = Content.SecondYAxisTitle;
-          xPrimaryTextBox.Text = Content.XAxisTitle;
-          xSecondaryTextBox.Text = Content.SecondXAxisTitle;
+          xAxisPrimaryTitleTextBox.Text = string.Empty;
+          xAxisPrimaryMinimumAutoRadioButton.Checked = false;
+          xAxisPrimaryMinimumFixedRadioButton.Checked = false;
+          xAxisPrimaryMinimumFixedTextBox.Text = string.Empty;
+          xAxisPrimaryMaximumAutoRadioButton.Checked = false;
+          xAxisPrimaryMaximumFixedRadioButton.Checked = false;
+          xAxisPrimaryMaximumFixedTextBox.Text = string.Empty;
+          xAxisSecondaryTitleTextBox.Text = string.Empty;
+          xAxisSecondaryMinimumAutoRadioButton.Checked = false;
+          xAxisSecondaryMinimumFixedRadioButton.Checked = false;
+          xAxisSecondaryMinimumFixedTextBox.Text = string.Empty;
+          xAxisSecondaryMaximumAutoRadioButton.Checked = false;
+          xAxisSecondaryMaximumFixedRadioButton.Checked = false;
+          xAxisSecondaryMaximumFixedTextBox.Text = string.Empty;
+
+          yAxisPrimaryTitleTextBox.Text = string.Empty;
+          yAxisPrimaryMinimumAutoRadioButton.Checked = false;
+          yAxisPrimaryMinimumFixedRadioButton.Checked = false;
+          yAxisPrimaryMinimumFixedTextBox.Text = string.Empty;
+          yAxisPrimaryMaximumAutoRadioButton.Checked = false;
+          yAxisPrimaryMaximumFixedRadioButton.Checked = false;
+          yAxisPrimaryMaximumFixedTextBox.Text = string.Empty;
+          yAxisSecondaryTitleTextBox.Text = string.Empty;
+          yAxisSecondaryMinimumAutoRadioButton.Checked = false;
+          yAxisSecondaryMinimumFixedRadioButton.Checked = false;
+          yAxisSecondaryMinimumFixedTextBox.Text = string.Empty;
+          yAxisSecondaryMaximumAutoRadioButton.Checked = false;
+          yAxisSecondaryMaximumFixedRadioButton.Checked = false;
+          yAxisSecondaryMaximumFixedTextBox.Text = string.Empty;
+        } else {
+          xAxisPrimaryTitleTextBox.Text = Content.XAxisTitle;
+          xAxisPrimaryMinimumAutoRadioButton.Checked = Content.XAxisMinimumAuto;
+          xAxisPrimaryMinimumFixedRadioButton.Checked = !Content.XAxisMinimumAuto;
+          xAxisPrimaryMinimumFixedTextBox.Text = Content.XAxisMinimumFixedValue.ToString();
+          xAxisPrimaryMaximumAutoRadioButton.Checked = Content.XAxisMaximumAuto;
+          xAxisPrimaryMaximumFixedRadioButton.Checked = !Content.XAxisMaximumAuto;
+          xAxisPrimaryMaximumFixedTextBox.Text = Content.XAxisMaximumFixedValue.ToString();
+          xAxisSecondaryTitleTextBox.Text = Content.SecondXAxisTitle;
+          xAxisSecondaryMinimumAutoRadioButton.Checked = Content.SecondXAxisMinimumAuto;
+          xAxisSecondaryMinimumFixedRadioButton.Checked = !Content.SecondXAxisMinimumAuto;
+          xAxisSecondaryMinimumFixedTextBox.Text = Content.SecondXAxisMinimumFixedValue.ToString();
+          xAxisSecondaryMaximumAutoRadioButton.Checked = Content.SecondXAxisMaximumAuto;
+          xAxisSecondaryMaximumFixedRadioButton.Checked = !Content.SecondXAxisMaximumAuto;
+          xAxisSecondaryMaximumFixedTextBox.Text = Content.SecondXAxisMaximumFixedValue.ToString();
+
+          yAxisPrimaryTitleTextBox.Text = Content.YAxisTitle;
+          yAxisPrimaryMinimumAutoRadioButton.Checked = Content.YAxisMinimumAuto;
+          yAxisPrimaryMinimumFixedRadioButton.Checked = !Content.YAxisMinimumAuto;
+          yAxisPrimaryMinimumFixedTextBox.Text = Content.YAxisMinimumFixedValue.ToString();
+          yAxisPrimaryMaximumAutoRadioButton.Checked = Content.YAxisMaximumAuto;
+          yAxisPrimaryMaximumFixedRadioButton.Checked = !Content.YAxisMaximumAuto;
+          yAxisPrimaryMaximumFixedTextBox.Text = Content.YAxisMaximumFixedValue.ToString();
+          yAxisSecondaryTitleTextBox.Text = Content.SecondYAxisTitle;
+          yAxisSecondaryMinimumAutoRadioButton.Checked = Content.SecondYAxisMinimumAuto;
+          yAxisSecondaryMinimumFixedRadioButton.Checked = !Content.SecondYAxisMinimumAuto;
+          yAxisSecondaryMinimumFixedTextBox.Text = Content.SecondYAxisMinimumFixedValue.ToString();
+          yAxisSecondaryMaximumAutoRadioButton.Checked = Content.SecondYAxisMaximumAuto;
+          yAxisSecondaryMaximumFixedRadioButton.Checked = !Content.SecondYAxisMaximumAuto;
+          yAxisSecondaryMaximumFixedTextBox.Text = Content.SecondYAxisMaximumFixedValue.ToString();
         }
       } finally { SuppressEvents = false; }
@@ -62,29 +112,238 @@
 
     protected virtual void SetEnabledStateOfControls() {
-      axisTitlesGroupBox.Enabled = Content != null;
+      axisTabControl.Enabled = Content != null;
+      xAxisPrimaryMinimumFixedTextBox.Enabled = xAxisPrimaryMinimumFixedRadioButton.Checked;
+      xAxisPrimaryMaximumFixedTextBox.Enabled = xAxisPrimaryMaximumFixedRadioButton.Checked;
+      xAxisSecondaryMinimumFixedTextBox.Enabled = xAxisSecondaryMinimumFixedRadioButton.Checked;
+      xAxisSecondaryMaximumFixedTextBox.Enabled = xAxisSecondaryMaximumFixedRadioButton.Checked;
+
+      yAxisPrimaryMinimumFixedTextBox.Enabled = yAxisPrimaryMinimumFixedRadioButton.Checked;
+      yAxisPrimaryMaximumFixedTextBox.Enabled = yAxisPrimaryMaximumFixedRadioButton.Checked;
+      yAxisSecondaryMinimumFixedTextBox.Enabled = yAxisSecondaryMinimumFixedRadioButton.Checked;
+      yAxisSecondaryMaximumFixedTextBox.Enabled = yAxisSecondaryMaximumFixedRadioButton.Checked;
     }
 
     #region Event Handlers
-    private void yPrimaryTextBox_Validated(object sender, System.EventArgs e) {
-      if (!SuppressEvents && Content != null) {
-        Content.YAxisTitle = yPrimaryTextBox.Text;
-      }
-    }
-
-    private void ySecondaryTextBox_Validated(object sender, System.EventArgs e) {
-      if (!SuppressEvents && Content != null) {
-        Content.SecondYAxisTitle = ySecondaryTextBox.Text;
-      }
-    }
-
-    private void xPrimaryTextBox_Validated(object sender, System.EventArgs e) {
-      if (!SuppressEvents && Content != null) {
-        Content.XAxisTitle = xPrimaryTextBox.Text;
-      }
-    }
-
-    private void xSecondaryTextBox_Validated(object sender, System.EventArgs e) {
-      if (!SuppressEvents && Content != null) {
-        Content.SecondXAxisTitle = xSecondaryTextBox.Text;
+    private void yPrimaryTitleTextBox_Validated(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        Content.YAxisTitle = yAxisPrimaryTitleTextBox.Text;
+      }
+    }
+
+    private void ySecondaryTitleTextBox_Validated(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        Content.SecondYAxisTitle = yAxisSecondaryTitleTextBox.Text;
+      }
+    }
+
+    private void xPrimaryTitleTextBox_Validated(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        Content.XAxisTitle = xAxisPrimaryTitleTextBox.Text;
+      }
+    }
+
+    private void xSecondaryTitleTextBox_Validated(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        Content.SecondXAxisTitle = xAxisSecondaryTitleTextBox.Text;
+      }
+    }
+
+    private void xAxisPrimaryMinimumFixedTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        TextBox tb = (TextBox)sender;
+        double val;
+        if (double.TryParse(tb.Text, out val)) {
+          Content.XAxisMinimumFixedValue = val;
+          errorProvider.SetError(tb, string.Empty);
+        } else {
+          errorProvider.SetError(tb, "Not a valid number.");
+          e.Cancel = true;
+        }
+      }
+    }
+
+    private void xAxisPrimaryMaximumFixedTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        TextBox tb = (TextBox)sender;
+        double val;
+        if (double.TryParse(tb.Text, out val)) {
+          Content.XAxisMaximumFixedValue = val;
+          errorProvider.SetError(tb, string.Empty);
+        } else {
+          errorProvider.SetError(tb, "Not a valid number.");
+          e.Cancel = true;
+        }
+      }
+    }
+
+    private void xAxisSecondaryMinimumFixedTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        TextBox tb = (TextBox)sender;
+        double val;
+        if (double.TryParse(tb.Text, out val)) {
+          Content.SecondXAxisMinimumFixedValue = val;
+          errorProvider.SetError(tb, string.Empty);
+        } else {
+          errorProvider.SetError(tb, "Not a valid number.");
+          e.Cancel = true;
+        }
+      }
+    }
+
+    private void xAxisSecondaryMaximumFixedTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        TextBox tb = (TextBox)sender;
+        double val;
+        if (double.TryParse(tb.Text, out val)) {
+          Content.SecondXAxisMaximumFixedValue = val;
+          errorProvider.SetError(tb, string.Empty);
+        } else {
+          errorProvider.SetError(tb, "Not a valid number.");
+          e.Cancel = true;
+        }
+      }
+    }
+
+    private void yAxisPrimaryMinimumFixedTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        TextBox tb = (TextBox)sender;
+        double val;
+        if (double.TryParse(tb.Text, out val)) {
+          Content.YAxisMinimumFixedValue = val;
+          errorProvider.SetError(tb, string.Empty);
+        } else {
+          errorProvider.SetError(tb, "Not a valid number.");
+          e.Cancel = true;
+        }
+      }
+    }
+
+    private void yAxisPrimaryMaximumFixedTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        TextBox tb = (TextBox)sender;
+        double val;
+        if (double.TryParse(tb.Text, out val)) {
+          Content.YAxisMaximumFixedValue = val;
+          errorProvider.SetError(tb, string.Empty);
+        } else {
+          errorProvider.SetError(tb, "Not a valid number.");
+          e.Cancel = true;
+        }
+      }
+    }
+
+    private void yAxisSecondaryMinimumFixedTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        TextBox tb = (TextBox)sender;
+        double val;
+        if (double.TryParse(tb.Text, out val)) {
+          Content.SecondYAxisMinimumFixedValue = val;
+          errorProvider.SetError(tb, string.Empty);
+        } else {
+          errorProvider.SetError(tb, "Not a valid number.");
+          e.Cancel = true;
+        }
+      }
+    }
+
+    private void yAxisSecondaryMaximumFixedTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        TextBox tb = (TextBox)sender;
+        double val;
+        if (double.TryParse(tb.Text, out val)) {
+          Content.SecondYAxisMaximumFixedValue = val;
+          errorProvider.SetError(tb, string.Empty);
+        } else {
+          errorProvider.SetError(tb, "Not a valid number.");
+          e.Cancel = true;
+        }
+      }
+    }
+
+    private void xAxisPrimaryMinimumRadioButton_CheckedChanged(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        SuppressEvents = true;
+        try {
+          Content.XAxisMinimumAuto = xAxisPrimaryMinimumAutoRadioButton.Checked;
+          if (Content.XAxisMinimumAuto) xAxisPrimaryMinimumFixedTextBox.Text = double.NaN.ToString();
+        } finally { SuppressEvents = false; }
+        SetEnabledStateOfControls();
+      }
+    }
+
+    private void xAxisPrimaryMaximumRadioButton_CheckedChanged(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        SuppressEvents = true;
+        try {
+          Content.XAxisMaximumAuto = xAxisPrimaryMaximumAutoRadioButton.Checked;
+          if (Content.XAxisMaximumAuto) xAxisPrimaryMaximumFixedTextBox.Text = double.NaN.ToString();
+        } finally { SuppressEvents = false; }
+        SetEnabledStateOfControls();
+      }
+    }
+
+    private void xAxisSecondaryMinimumRadioButton_CheckedChanged(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        SuppressEvents = true;
+        try {
+          Content.SecondXAxisMinimumAuto = xAxisSecondaryMinimumAutoRadioButton.Checked;
+          if (Content.SecondXAxisMinimumAuto) xAxisSecondaryMinimumFixedTextBox.Text = double.NaN.ToString();
+        } finally { SuppressEvents = false; }
+        SetEnabledStateOfControls();
+      }
+    }
+
+    private void xAxisSecondaryMaximumRadioButton_CheckedChanged(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        SuppressEvents = true;
+        try {
+          Content.SecondXAxisMaximumAuto = xAxisSecondaryMaximumAutoRadioButton.Checked;
+          if (Content.SecondXAxisMaximumAuto) xAxisSecondaryMaximumFixedTextBox.Text = double.NaN.ToString();
+        } finally { SuppressEvents = false; }
+        SetEnabledStateOfControls();
+      }
+    }
+
+    private void yAxisPrimaryMinimumRadioButton_CheckedChanged(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        SuppressEvents = true;
+        try {
+          Content.YAxisMinimumAuto = yAxisPrimaryMinimumAutoRadioButton.Checked;
+          if (Content.YAxisMinimumAuto) yAxisPrimaryMinimumFixedTextBox.Text = double.NaN.ToString();
+        } finally { SuppressEvents = false; }
+        SetEnabledStateOfControls();
+      }
+    }
+
+    private void yAxisPrimaryMaximumRadioButton_CheckedChanged(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        SuppressEvents = true;
+        try {
+          Content.YAxisMaximumAuto = yAxisPrimaryMaximumAutoRadioButton.Checked;
+          if (Content.YAxisMaximumAuto) yAxisPrimaryMaximumFixedTextBox.Text = double.NaN.ToString();
+        } finally { SuppressEvents = false; }
+        SetEnabledStateOfControls();
+      }
+    }
+
+    private void yAxisSecondaryMinimumRadioButton_CheckedChanged(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        SuppressEvents = true;
+        try {
+          Content.SecondYAxisMinimumAuto = yAxisSecondaryMinimumAutoRadioButton.Checked;
+          if (Content.SecondYAxisMinimumAuto) yAxisSecondaryMinimumFixedTextBox.Text = double.NaN.ToString();
+        } finally { SuppressEvents = false; }
+        SetEnabledStateOfControls();
+      }
+    }
+
+    private void yAxisSecondaryMaximumRadioButton_CheckedChanged(object sender, System.EventArgs e) {
+      if (!SuppressEvents && Content != null) {
+        SuppressEvents = true;
+        try {
+          Content.SecondYAxisMaximumAuto = yAxisSecondaryMaximumAutoRadioButton.Checked;
+          if (Content.SecondYAxisMaximumAuto) yAxisSecondaryMaximumFixedTextBox.Text = double.NaN.ToString();
+        } finally { SuppressEvents = false; }
+        SetEnabledStateOfControls();
       }
     }
Index: /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.resx
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.resx	(revision 6013)
+++ /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.resx	(revision 6014)
@@ -118,3 +118,6 @@
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
 </root>
Index: /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.Designer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.Designer.cs	(revision 6013)
+++ /branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesDialog.Designer.cs	(revision 6014)
@@ -67,5 +67,5 @@
       this.okButton.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
       this.okButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-      this.okButton.Location = new System.Drawing.Point(152, 324);
+      this.okButton.Location = new System.Drawing.Point(152, 357);
       this.okButton.Name = "okButton";
       this.okButton.Size = new System.Drawing.Size(75, 23);
@@ -79,5 +79,5 @@
       this.cancelButton.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
       this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
-      this.cancelButton.Location = new System.Drawing.Point(233, 324);
+      this.cancelButton.Location = new System.Drawing.Point(233, 357);
       this.cancelButton.Name = "cancelButton";
       this.cancelButton.Size = new System.Drawing.Size(75, 23);
@@ -97,5 +97,5 @@
       this.tabControl.Name = "tabControl";
       this.tabControl.SelectedIndex = 0;
-      this.tabControl.Size = new System.Drawing.Size(474, 317);
+      this.tabControl.Size = new System.Drawing.Size(474, 350);
       this.tabControl.TabIndex = 2;
       // 
@@ -106,5 +106,5 @@
       this.seriesTabPage.Name = "seriesTabPage";
       this.seriesTabPage.Padding = new System.Windows.Forms.Padding(3);
-      this.seriesTabPage.Size = new System.Drawing.Size(466, 291);
+      this.seriesTabPage.Size = new System.Drawing.Size(466, 324);
       this.seriesTabPage.TabIndex = 0;
       this.seriesTabPage.Text = "Series";
@@ -127,5 +127,5 @@
       this.splitContainer.Panel2.Controls.Add(this.dataRowVisualPropertiesControl);
       this.splitContainer.Panel2MinSize = 50;
-      this.splitContainer.Size = new System.Drawing.Size(460, 285);
+      this.splitContainer.Size = new System.Drawing.Size(460, 318);
       this.splitContainer.SplitterDistance = 125;
       this.splitContainer.TabIndex = 0;
@@ -139,5 +139,5 @@
       this.seriesListView.Name = "seriesListView";
       this.seriesListView.ShowGroups = false;
-      this.seriesListView.Size = new System.Drawing.Size(125, 285);
+      this.seriesListView.Size = new System.Drawing.Size(125, 318);
       this.seriesListView.TabIndex = 0;
       this.seriesListView.UseCompatibleStateImageBehavior = false;
@@ -151,5 +151,5 @@
       this.chartTabPage.Name = "chartTabPage";
       this.chartTabPage.Padding = new System.Windows.Forms.Padding(3);
-      this.chartTabPage.Size = new System.Drawing.Size(466, 291);
+      this.chartTabPage.Size = new System.Drawing.Size(466, 324);
       this.chartTabPage.TabIndex = 1;
       this.chartTabPage.Text = "Chart";
@@ -162,13 +162,14 @@
       this.dataRowVisualPropertiesControl.Location = new System.Drawing.Point(0, 0);
       this.dataRowVisualPropertiesControl.Name = "dataRowVisualPropertiesControl";
-      this.dataRowVisualPropertiesControl.Size = new System.Drawing.Size(331, 285);
+      this.dataRowVisualPropertiesControl.Size = new System.Drawing.Size(331, 318);
       this.dataRowVisualPropertiesControl.TabIndex = 0;
       // 
       // dataTableVisualPropertiesControl
       // 
+      this.dataTableVisualPropertiesControl.Content = null;
       this.dataTableVisualPropertiesControl.Dock = System.Windows.Forms.DockStyle.Fill;
       this.dataTableVisualPropertiesControl.Location = new System.Drawing.Point(3, 3);
       this.dataTableVisualPropertiesControl.Name = "dataTableVisualPropertiesControl";
-      this.dataTableVisualPropertiesControl.Size = new System.Drawing.Size(460, 285);
+      this.dataTableVisualPropertiesControl.Size = new System.Drawing.Size(460, 318);
       this.dataTableVisualPropertiesControl.TabIndex = 0;
       // 
@@ -179,5 +180,5 @@
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
       this.CancelButton = this.cancelButton;
-      this.ClientSize = new System.Drawing.Size(475, 359);
+      this.ClientSize = new System.Drawing.Size(475, 392);
       this.Controls.Add(this.tabControl);
       this.Controls.Add(this.cancelButton);
Index: /branches/histogram/HeuristicLab.Analysis/3.3/DataVisualization/DataTableVisualProperties.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis/3.3/DataVisualization/DataTableVisualProperties.cs	(revision 6013)
+++ /branches/histogram/HeuristicLab.Analysis/3.3/DataVisualization/DataTableVisualProperties.cs	(revision 6014)
@@ -78,4 +78,188 @@
     }
 
+    private bool xAxisMinimumAuto;
+    public bool XAxisMinimumAuto {
+      get { return xAxisMinimumAuto; }
+      set {
+        if (xAxisMinimumAuto != value) {
+          xAxisMinimumAuto = value;
+          if (value) xAxisMinimumFixedValue = double.NaN;
+          OnPropertyChanged("XAxisMinimumAuto");
+        }
+      }
+    }
+
+    private bool xAxisMaximumAuto;
+    public bool XAxisMaximumAuto {
+      get { return xAxisMaximumAuto; }
+      set {
+        if (xAxisMaximumAuto != value) {
+          xAxisMaximumAuto = value;
+          if (value) xAxisMaximumFixedValue = double.NaN;
+          OnPropertyChanged("XAxisMaximumAuto");
+        }
+      }
+    }
+
+    private double xAxisMinimumFixedValue;
+    public double XAxisMinimumFixedValue {
+      get { return xAxisMinimumFixedValue; }
+      set {
+        if (xAxisMinimumFixedValue != value) {
+          xAxisMinimumFixedValue = value;
+          OnPropertyChanged("XAxisMinimumFixedValue");
+        }
+      }
+    }
+
+    private double xAxisMaximumFixedValue;
+    public double XAxisMaximumFixedValue {
+      get { return xAxisMaximumFixedValue; }
+      set {
+        if (xAxisMaximumFixedValue != value) {
+          xAxisMaximumFixedValue = value;
+          OnPropertyChanged("XAxisMaximumFixedValue");
+        }
+      }
+    }
+
+    private bool secondXAxisMinimumAuto;
+    public bool SecondXAxisMinimumAuto {
+      get { return secondXAxisMinimumAuto; }
+      set {
+        if (secondXAxisMinimumAuto != value) {
+          secondXAxisMinimumAuto = value;
+          if (value) secondXAxisMinimumFixedValue = double.NaN;
+          OnPropertyChanged("SecondXAxisMinimumAuto");
+        }
+      }
+    }
+
+    private bool secondXAxisMaximumAuto;
+    public bool SecondXAxisMaximumAuto {
+      get { return secondXAxisMaximumAuto; }
+      set {
+        if (secondXAxisMaximumAuto != value) {
+          secondXAxisMaximumAuto = value;
+          if (value) secondXAxisMaximumFixedValue = double.NaN;
+          OnPropertyChanged("SecondXAxisMaximumAuto");
+        }
+      }
+    }
+
+    private double secondXAxisMinimumFixedValue;
+    public double SecondXAxisMinimumFixedValue {
+      get { return secondXAxisMinimumFixedValue; }
+      set {
+        if (secondXAxisMinimumFixedValue != value) {
+          secondXAxisMinimumFixedValue = value;
+          OnPropertyChanged("SecondXAxisMinimumFixedValue");
+        }
+      }
+    }
+
+    private double secondXAxisMaximumFixedValue;
+    public double SecondXAxisMaximumFixedValue {
+      get { return secondXAxisMaximumFixedValue; }
+      set {
+        if (secondXAxisMaximumFixedValue != value) {
+          secondXAxisMaximumFixedValue = value;
+          OnPropertyChanged("SecondXAxisMaximumFixedValue");
+        }
+      }
+    }
+
+    private bool yAxisMinimumAuto;
+    public bool YAxisMinimumAuto {
+      get { return yAxisMinimumAuto; }
+      set {
+        if (yAxisMinimumAuto != value) {
+          yAxisMinimumAuto = value;
+          if (value) yAxisMinimumFixedValue = double.NaN;
+          OnPropertyChanged("YAxisMinimumAuto");
+        }
+      }
+    }
+
+    private bool yAxisMaximumAuto;
+    public bool YAxisMaximumAuto {
+      get { return yAxisMaximumAuto; }
+      set {
+        if (yAxisMaximumAuto != value) {
+          yAxisMaximumAuto = value;
+          if (value) yAxisMaximumFixedValue = double.NaN;
+          OnPropertyChanged("YAxisMaximumAuto");
+        }
+      }
+    }
+
+    private double yAxisMinimumFixedValue;
+    public double YAxisMinimumFixedValue {
+      get { return yAxisMinimumFixedValue; }
+      set {
+        if (yAxisMinimumFixedValue != value) {
+          yAxisMinimumFixedValue = value;
+          OnPropertyChanged("YAxisMinimumFixedValue");
+        }
+      }
+    }
+
+    private double yAxisMaximumFixedValue;
+    public double YAxisMaximumFixedValue {
+      get { return yAxisMaximumFixedValue; }
+      set {
+        if (yAxisMaximumFixedValue != value) {
+          yAxisMaximumFixedValue = value;
+          OnPropertyChanged("YAxisMaximumFixedValue");
+        }
+      }
+    }
+
+    private bool secondYAxisMinimumAuto;
+    public bool SecondYAxisMinimumAuto {
+      get { return secondYAxisMinimumAuto; }
+      set {
+        if (secondYAxisMinimumAuto != value) {
+          secondYAxisMinimumAuto = value;
+          if (value) secondYAxisMinimumFixedValue = double.NaN;
+          OnPropertyChanged("SecondYAxisMinimumAuto");
+        }
+      }
+    }
+
+    private bool secondYAxisMaximumAuto;
+    public bool SecondYAxisMaximumAuto {
+      get { return secondYAxisMaximumAuto; }
+      set {
+        if (secondYAxisMaximumAuto != value) {
+          secondYAxisMaximumAuto = value;
+          if (value) secondYAxisMaximumFixedValue = double.NaN;
+          OnPropertyChanged("SecondYAxisMaximumAuto");
+        }
+      }
+    }
+
+    private double secondYAxisMinimumFixedValue;
+    public double SecondYAxisMinimumFixedValue {
+      get { return secondYAxisMinimumFixedValue; }
+      set {
+        if (secondYAxisMinimumFixedValue != value) {
+          secondYAxisMinimumFixedValue = value;
+          OnPropertyChanged("SecondYAxisMinimumFixedValue");
+        }
+      }
+    }
+
+    private double secondYAxisMaximumFixedValue;
+    public double SecondYAxisMaximumFixedValue {
+      get { return secondYAxisMaximumFixedValue; }
+      set {
+        if (secondYAxisMaximumFixedValue != value) {
+          secondYAxisMaximumFixedValue = value;
+          OnPropertyChanged("SecondYAxisMaximumFixedValue");
+        }
+      }
+    }
+
     #region Persistence Properties
     [Storable(Name = "XAxisTitle")]
@@ -98,4 +282,84 @@
       get { return secondYAxisTitle; }
       set { secondYAxisTitle = value; }
+    }
+    [Storable(Name = "XAxisMinimumAuto")]
+    private bool StorableXAxisMinimumAuto {
+      get { return xAxisMinimumAuto; }
+      set { xAxisMinimumAuto = value; }
+    }
+    [Storable(Name = "XAxisMaximumAuto")]
+    private bool StorableXAxisMaximumAuto {
+      get { return xAxisMaximumAuto; }
+      set { xAxisMaximumAuto = value; }
+    }
+    [Storable(Name = "XAxisMinimumFixedValue")]
+    private double StorableXAxisMinimumFixedValue {
+      get { return xAxisMinimumFixedValue; }
+      set { xAxisMinimumFixedValue = value; }
+    }
+    [Storable(Name = "XAxisMaximumFixedValue")]
+    private double StorableXAxisMaximumFixedValue {
+      get { return xAxisMaximumFixedValue; }
+      set { xAxisMaximumFixedValue = value; }
+    }
+    [Storable(Name = "SecondXAxisMinimumAuto")]
+    private bool StorableSecondXAxisMinimumAuto {
+      get { return secondXAxisMinimumAuto; }
+      set { secondXAxisMinimumAuto = value; }
+    }
+    [Storable(Name = "SecondXAxisMaximumAuto")]
+    private bool StorableSecondXAxisMaximumAuto {
+      get { return secondXAxisMaximumAuto; }
+      set { secondXAxisMaximumAuto = value; }
+    }
+    [Storable(Name = "SecondXAxisMinimumFixedValue")]
+    private double StorableSecondXAxisMinimumFixedValue {
+      get { return secondXAxisMinimumFixedValue; }
+      set { secondXAxisMinimumFixedValue = value; }
+    }
+    [Storable(Name = "SecondXAxisMaximumFixedValue")]
+    private double StorableSecondXAxisMaximumFixedValue {
+      get { return secondXAxisMaximumFixedValue; }
+      set { secondXAxisMaximumFixedValue = value; }
+    }
+    [Storable(Name = "YAxisMinimumAuto")]
+    private bool StorableYAxisMinimumAuto {
+      get { return yAxisMinimumAuto; }
+      set { yAxisMinimumAuto = value; }
+    }
+    [Storable(Name = "YAxisMaximumAuto")]
+    private bool StorableYAxisMaximumAuto {
+      get { return yAxisMaximumAuto; }
+      set { yAxisMaximumAuto = value; }
+    }
+    [Storable(Name = "YAxisMinimumFixedValue")]
+    private double StorableYAxisMinimumFixedValue {
+      get { return yAxisMinimumFixedValue; }
+      set { yAxisMinimumFixedValue = value; }
+    }
+    [Storable(Name = "YAxisMaximumFixedValue")]
+    private double StorableYAxisMaximumFixedValue {
+      get { return yAxisMaximumFixedValue; }
+      set { yAxisMaximumFixedValue = value; }
+    }
+    [Storable(Name = "SecondYAxisMinimumAuto")]
+    private bool StorableSecondYAxisMinimumAuto {
+      get { return secondYAxisMinimumAuto; }
+      set { secondYAxisMinimumAuto = value; }
+    }
+    [Storable(Name = "SecondYAxisMaximumAuto")]
+    private bool StorableSecondYAxisMaximumAuto {
+      get { return secondYAxisMaximumAuto; }
+      set { secondYAxisMaximumAuto = value; }
+    }
+    [Storable(Name = "SecondYAxisMinimumFixedValue")]
+    private double StorableSecondYAxisMinimumFixedValue {
+      get { return secondYAxisMinimumFixedValue; }
+      set { secondYAxisMinimumFixedValue = value; }
+    }
+    [Storable(Name = "SecondYAxisMaximumFixedValue")]
+    private double StorableSecondYAxisMaximumFixedValue {
+      get { return secondYAxisMaximumFixedValue; }
+      set { secondYAxisMaximumFixedValue = value; }
     }
     #endregion
@@ -109,4 +373,20 @@
       this.secondXAxisTitle = original.secondXAxisTitle;
       this.secondYAxisTitle = original.secondYAxisTitle;
+      this.xAxisMinimumAuto = original.xAxisMinimumAuto;
+      this.xAxisMinimumFixedValue = original.xAxisMinimumFixedValue;
+      this.xAxisMaximumAuto = original.xAxisMaximumAuto;
+      this.xAxisMaximumFixedValue = original.xAxisMaximumFixedValue;
+      this.secondXAxisMinimumAuto = original.secondXAxisMinimumAuto;
+      this.secondXAxisMinimumFixedValue = original.secondXAxisMinimumFixedValue;
+      this.secondXAxisMaximumAuto = original.secondXAxisMaximumAuto;
+      this.secondXAxisMaximumFixedValue = original.secondXAxisMaximumFixedValue;
+      this.yAxisMinimumAuto = original.yAxisMinimumAuto;
+      this.yAxisMinimumFixedValue = original.yAxisMinimumFixedValue;
+      this.yAxisMaximumAuto = original.yAxisMaximumAuto;
+      this.yAxisMaximumFixedValue = original.yAxisMaximumFixedValue;
+      this.secondYAxisMinimumAuto = original.secondYAxisMinimumAuto;
+      this.secondYAxisMinimumFixedValue = original.secondYAxisMinimumFixedValue;
+      this.secondYAxisMaximumAuto = original.secondYAxisMaximumAuto;
+      this.secondYAxisMaximumFixedValue = original.secondYAxisMaximumFixedValue;
     }
     public DataTableVisualProperties() {
@@ -115,4 +395,20 @@
       this.secondXAxisTitle = string.Empty;
       this.secondYAxisTitle = string.Empty;
+      this.xAxisMinimumAuto = true;
+      this.xAxisMinimumFixedValue = double.NaN;
+      this.xAxisMaximumAuto = true;
+      this.xAxisMaximumFixedValue = double.NaN;
+      this.secondXAxisMinimumAuto = true;
+      this.secondXAxisMinimumFixedValue = double.NaN;
+      this.secondXAxisMaximumAuto = true;
+      this.secondXAxisMaximumFixedValue = double.NaN;
+      this.yAxisMinimumAuto = true;
+      this.yAxisMinimumFixedValue = double.NaN;
+      this.yAxisMaximumAuto = true;
+      this.yAxisMaximumFixedValue = double.NaN;
+      this.secondYAxisMinimumAuto = true;
+      this.secondYAxisMinimumFixedValue = double.NaN;
+      this.secondYAxisMaximumAuto = true;
+      this.secondYAxisMaximumFixedValue = double.NaN;
     }
 
Index: /branches/histogram/HeuristicLab.Visualization.ChartControlsExtensions/3.3/EnhancedChart.cs
===================================================================
--- /branches/histogram/HeuristicLab.Visualization.ChartControlsExtensions/3.3/EnhancedChart.cs	(revision 6013)
+++ /branches/histogram/HeuristicLab.Visualization.ChartControlsExtensions/3.3/EnhancedChart.cs	(revision 6014)
@@ -25,4 +25,5 @@
 using System.Windows.Forms;
 using System.Windows.Forms.DataVisualization.Charting;
+using HeuristicLab.Common.Resources;
 
 namespace HeuristicLab.Visualization.ChartControlsExtensions {
@@ -31,4 +32,5 @@
       : base() {
       InitializeComponent();
+      propertiesToolStripMenuItem.Image = VSImageLibrary.Properties;
       EnableDoubleClickResetsZoom = true;
       EnableMiddleClickPanning = true;
Index: /branches/histogram/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HeuristicLab.Visualization.ChartControlsExtensions-3.3.csproj
===================================================================
--- /branches/histogram/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HeuristicLab.Visualization.ChartControlsExtensions-3.3.csproj	(revision 6013)
+++ /branches/histogram/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HeuristicLab.Visualization.ChartControlsExtensions-3.3.csproj	(revision 6014)
@@ -136,4 +136,8 @@
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
+      <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
+      <Name>HeuristicLab.Common.Resources-3.3</Name>
+    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
Index: /branches/histogram/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HeuristicLabVisualizationChartControlsExtensionsPlugin.cs.frame
===================================================================
--- /branches/histogram/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HeuristicLabVisualizationChartControlsExtensionsPlugin.cs.frame	(revision 6013)
+++ /branches/histogram/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HeuristicLabVisualizationChartControlsExtensionsPlugin.cs.frame	(revision 6014)
@@ -28,4 +28,5 @@
   [Plugin("HeuristicLab.Visualization.ChartControlsExtensions", "3.3.3.$WCREV$")]
   [PluginFile("HeuristicLab.Visualization.ChartControlsExtensions-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
   public class HeuristicLabVisualizationChartControlsExtensionsPlugin : PluginBase { }
 }
