Index: trunk/sources/HeuristicLab.Visualization/CanvasUI.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/CanvasUI.cs	(revision 868)
+++ trunk/sources/HeuristicLab.Visualization/CanvasUI.cs	(revision 869)
@@ -2,4 +2,5 @@
 using System.Diagnostics;
 using System.Drawing;
+using System.Drawing.Drawing2D;
 using System.Windows.Forms;
 
@@ -26,4 +27,6 @@
         Graphics g = pe.Graphics;
 
+        g.SmoothingMode = SmoothingMode.AntiAlias;
+
         g.FillRectangle(Brushes.White, ClientRectangle);
 
@@ -36,4 +39,10 @@
        Debug.WriteLine(e);
       }
+    }
+
+    protected override void OnResize(EventArgs e) {
+      Invalidate();
+
+      base.OnResize(e);
     }
 
Index: trunk/sources/HeuristicLab.Visualization/LineChart.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/LineChart.Designer.cs	(revision 868)
+++ trunk/sources/HeuristicLab.Visualization/LineChart.Designer.cs	(revision 869)
@@ -34,8 +34,9 @@
           // canvasUI1
           // 
-          this.canvasUI1.Location = new System.Drawing.Point(3, 3);
+          this.canvasUI1.Dock = System.Windows.Forms.DockStyle.Fill;
+          this.canvasUI1.Location = new System.Drawing.Point(0, 0);
           this.canvasUI1.MouseEventListener = null;
           this.canvasUI1.Name = "canvasUI1";
-          this.canvasUI1.Size = new System.Drawing.Size(546, 384);
+          this.canvasUI1.Size = new System.Drawing.Size(552, 390);
           this.canvasUI1.TabIndex = 0;
           this.canvasUI1.Text = "canvasUI1";
Index: trunk/sources/HeuristicLab.Visualization/LineChart.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/LineChart.cs	(revision 868)
+++ trunk/sources/HeuristicLab.Visualization/LineChart.cs	(revision 869)
@@ -22,10 +22,10 @@
         throw new NullReferenceException("Model cannot be null.");
 
-      this.model = model;
-      this.Item = (IItem)model;
-
       //TODO: correct Rectangle to fit
       RectangleD clientRectangle = new RectangleD(-1, -1, 11, 11);
       canvasUI1.MainCanvas.WorldShape = new WorldShape(clientRectangle, clientRectangle);
+
+      this.model = model;
+      this.Item = (IItem)model;
     }
 
@@ -38,4 +38,8 @@
       model.DataRowRemoved += OnDataRowRemoved;
       model.ModelChanged += OnModelChanged;
+
+      foreach (IDataRow row in model.Rows) {
+        OnDataRowAdded(row);
+      }
     }
 
@@ -59,5 +63,5 @@
 
       for (int i = 1; i < row.Count; i++) {
-        LineShape lineShape = new LineShape(i - 1, row[i - 1], i, row[i], 0, row.Color);
+        LineShape lineShape = new LineShape(i - 1, row[i - 1], i, row[i], 0, row.Color, row.Thickness);
         lineShapes.Add(lineShape);
         canvasUI1.MainCanvas.WorldShape.AddShape(lineShape);
@@ -76,5 +80,5 @@
     private readonly IDictionary<IDataRow, List<LineShape>> rowToLineShapes = new Dictionary<IDataRow, List<LineShape>>();
 
-    private void OnRowValueChanged(IDataRow row, double value, int index) {
+    private void OnRowValueChanged(IDataRow row, double value, int index, Action action) {
       List<LineShape> lineShapes = rowToLineShapes[row];
 
@@ -84,5 +88,5 @@
       // new value was added
       if (index > 0 && index == lineShapes.Count+1) {
-        LineShape lineShape = new LineShape(index - 1, row[index - 1], index, row[index], 0, row.Color);
+        LineShape lineShape = new LineShape(index - 1, row[index - 1], index, row[index], 0, row.Color, row.Thickness);
         lineShapes.Add(lineShape);
         canvasUI1.MainCanvas.WorldShape.AddShape(lineShape);
@@ -94,5 +98,5 @@
 
       // not the last value
-      if (index > 0 && index < row.Count)
+      if (index > 0 && index < row.Count-1)
         lineShapes[index].Y1 = value;
 
@@ -100,7 +104,7 @@
     }
 
-    private void OnRowValuesChanged(IDataRow row, double[] values, int index) {
+    private void OnRowValuesChanged(IDataRow row, double[] values, int index, Action action) {
       foreach (double value in values) {
-        OnRowValueChanged(row, value, index++);
+        OnRowValueChanged(row, value, index++, action);
       }
     }
Index: trunk/sources/HeuristicLab.Visualization/LineShape.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/LineShape.cs	(revision 868)
+++ trunk/sources/HeuristicLab.Visualization/LineShape.cs	(revision 869)
@@ -6,4 +6,5 @@
     private double z;
     private Color color;
+    private int thickness;
 
     /// <summary>
@@ -15,8 +16,9 @@
     /// <param name="y2">y coordinate of right lineEndPoind</param>
     /// <param name="color">color for the LineShape</param>
-    public LineShape(double x1, double y1, double x2, double y2, double z, Color color) {
+    public LineShape(double x1, double y1, double x2, double y2, double z, Color color, int thickness) {
       this.boundingBox = new RectangleD(x1, y1, x2, y2);
       this.z = z;
       this.color = color;
+      this.thickness = thickness;
     }
 
@@ -52,5 +54,5 @@
     /// <param name="clippingArea">rectangle in screen-coordinates to draw</param>
     public void Draw(Graphics graphics, Rectangle viewport, RectangleD clippingArea) {
-      using (Pen pen = new Pen(color, 3)){
+      using (Pen pen = new Pen(color, thickness)){
         Rectangle screenRect = Transform.ToScreen(boundingBox, viewport, clippingArea);
         graphics.DrawLine(pen,screenRect.Left, screenRect.Bottom, screenRect.Right, screenRect.Top);
