Index: trunk/sources/HeuristicLab.Visualization/ChartDataRowsModel.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/ChartDataRowsModel.cs	(revision 1189)
+++ trunk/sources/HeuristicLab.Visualization/ChartDataRowsModel.cs	(revision 1190)
@@ -13,12 +13,19 @@
   public class ChartDataRowsModel : ChartDataModelBase, IChartDataRowsModel{
     private string title = "Title";
-    private string xAxisLabel;
+    //private string xAxisLabel;
+    private ILabelProvider labelProvider = new DefaultLabelProvider("0.##");
+
+    public ILabelProvider XAxisLabelProvider {
+      get { return labelProvider; }
+      set { this.labelProvider = value; }
+    }
+
 
     private readonly List<IDataRow> rows = new List<IDataRow>();
-    private readonly List<string> xLabels = new List<string>();
+    //private readonly List<string> xLabels = new List<string>();
 
-    public List<string> XLabels{
-      get { return xLabels; }
-    }
+    //public List<string> XLabels{
+    //  get { return xLabels; }
+    //}
 
     public List<IDataRow> Rows{
@@ -33,11 +40,11 @@
       }
     }
-    public string XAxisLabel {
-      get { return xAxisLabel; }
-      set {
-        xAxisLabel = value;
-        OnModelChanged();
-      }
-    }
+    //public string XAxisLabel {
+    //  get { return xAxisLabel; }
+    //  set {
+    //    xAxisLabel = value;
+    //    OnModelChanged();
+    //  }
+    //}
 
     public override IView CreateView() {
@@ -45,55 +52,55 @@
     }
 
-    public void AddLabel(string label) {
-      xLabels.Add(label);
-      OnModelChanged();
-    }
+    //public void AddLabel(string label) {
+    //  xLabels.Add(label);
+    //  OnModelChanged();
+    //}
 
-    public void AddLabel(string label, int index) {
-      xLabels[index] = label;
-      OnModelChanged();
-    }
+    //public void AddLabel(string label, int index) {
+    //  xLabels[index] = label;
+    //  OnModelChanged();
+    //}
 
-    public void AddLabels(string[] labels) {
-      foreach (var s in labels){
-        AddLabel(s);
-      }
-      //OnModelChanged();
-    }
+    //public void AddLabels(string[] labels) {
+    //  foreach (var s in labels){
+    //    AddLabel(s);
+    //  }
+    //  //OnModelChanged();
+    //}
 
-    public void AddLabels(string[] labels, int index) {
-      int i = 0;
-      foreach (var s in labels){
-        AddLabel(s, index + i);
-        i++;
-      }
-      //OnModelChanged();
-    }
+    //public void AddLabels(string[] labels, int index) {
+    //  int i = 0;
+    //  foreach (var s in labels){
+    //    AddLabel(s, index + i);
+    //    i++;
+    //  }
+    //  //OnModelChanged();
+    //}
 
-    public void ModifyLabel(string label, int index) {
-      xLabels[index] = label;
-      OnModelChanged();
-    }
+    //public void ModifyLabel(string label, int index) {
+    //  xLabels[index] = label;
+    //  OnModelChanged();
+    //}
 
-    public void ModifyLabels(string[] labels, int index) {
-      int i = 0;
-      foreach (var s in labels){
-        ModifyLabel(s, index + i);
-        i++;
-      }
-      //OnModelChanged();
-    }
+    //public void ModifyLabels(string[] labels, int index) {
+    //  int i = 0;
+    //  foreach (var s in labels){
+    //    ModifyLabel(s, index + i);
+    //    i++;
+    //  }
+    //  //OnModelChanged();
+    //}
 
-    public void RemoveLabel(int index) {
-      xLabels.RemoveAt(index);
-      OnModelChanged();
-    }
+    //public void RemoveLabel(int index) {
+    //  xLabels.RemoveAt(index);
+    //  OnModelChanged();
+    //}
 
-    public void RemoveLabels(int index, int count) {
-      for (int i = index; i < index + count; i++ ){
-        RemoveLabel(i);
-      }
-      //OnModelChanged();
-    }
+    //public void RemoveLabels(int index, int count) {
+    //  for (int i = index; i < index + count; i++ ){
+    //    RemoveLabel(i);
+    //  }
+    //  //OnModelChanged();
+    //}
 
     public void AddDataRow(IDataRow row) {
Index: trunk/sources/HeuristicLab.Visualization/DataRow.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/DataRow.cs	(revision 1189)
+++ trunk/sources/HeuristicLab.Visualization/DataRow.cs	(revision 1190)
@@ -21,13 +21,22 @@
     private List<double> dataRow = new List<double>();
 
+    private ILabelProvider labelProvider = new DefaultLabelProvider("0.##");
+
+    public ILabelProvider YAxisLabelProvider {
+      get { return labelProvider; }
+      set { this.labelProvider = value; }
+    }
+
+
     public DataRow() {
     }
-
+    
     public DataRow(string label) {
       this.Label = label;
     }
+    
 
     public DataRow(string label, Color color, int thickness, DrawingStyle style, List<double> dataRow) {
-      this.Label = label;
+     this.Label = label;
       this.Color = color;
       this.Thickness = thickness;
@@ -63,4 +72,5 @@
     }
 
+  
     public string Label {
       get { return label; }
@@ -70,4 +80,5 @@
       }
     }
+   
 
     public Color Color {
Index: trunk/sources/HeuristicLab.Visualization/IChartDataRowsModel.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/IChartDataRowsModel.cs	(revision 1189)
+++ trunk/sources/HeuristicLab.Visualization/IChartDataRowsModel.cs	(revision 1190)
@@ -5,19 +5,20 @@
   public interface IChartDataRowsModel : IItem {
     string Title { get; set; }
-    string XAxisLabel { get; set; }
-    List<string> XLabels { get; }
+    //string XAxisLabel { get; set; }
+    //List<string> XLabels { get; }
     List<IDataRow> Rows { get; }
+    ILabelProvider XAxisLabelProvider { get; set; }
 
     void AddDataRow(IDataRow row);
     void RemoveDataRow(IDataRow row);
 
-    void AddLabel(string label);
-    void AddLabel(string label, int index);
-    void AddLabels(string[] labels);
-    void AddLabels(string[] labels, int index);
-    void ModifyLabel(string label, int index);
-    void ModifyLabels(string[] labels, int index);
-    void RemoveLabel(int index);
-    void RemoveLabels(int index, int count);
+    //void AddLabel(string label);
+    //void AddLabel(string label, int index);
+    //void AddLabels(string[] labels);
+    //void AddLabels(string[] labels, int index);
+    //void ModifyLabel(string label, int index);
+    //void ModifyLabels(string[] labels, int index);
+    //void RemoveLabel(int index);
+    //void RemoveLabels(int index, int count);
 
     event ModelChangedHandler ModelChanged;
Index: trunk/sources/HeuristicLab.Visualization/IDataRow.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/IDataRow.cs	(revision 1189)
+++ trunk/sources/HeuristicLab.Visualization/IDataRow.cs	(revision 1190)
@@ -7,4 +7,5 @@
     int Thickness { get; set; }
     DrawingStyle Style { get; set; }
+    ILabelProvider YAxisLabelProvider { get; set; }
 
     void AddValue(double value);
