Index: trunk/sources/HeuristicLab.Visualization.Test/HeuristicLab.Visualization.Test.csproj
===================================================================
--- trunk/sources/HeuristicLab.Visualization.Test/HeuristicLab.Visualization.Test.csproj	(revision 868)
+++ trunk/sources/HeuristicLab.Visualization.Test/HeuristicLab.Visualization.Test.csproj	(revision 869)
@@ -52,4 +52,8 @@
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>NUnit-2.4.8-bin\nunit.framework.dll</HintPath>
+    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core">
@@ -76,4 +80,11 @@
       <DependentUpon>LegendForm.cs</DependentUpon>
     </Compile>
+    <Compile Include="LineChartTestForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="LineChartTestForm.Designer.cs">
+      <DependentUpon>LineChartTestForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="LineChartTests.cs" />
     <Compile Include="MainForm.cs">
       <SubType>Form</SubType>
@@ -89,4 +100,8 @@
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\HeuristicLab.Core\HeuristicLab.Core.csproj">
+      <Project>{F43B59AB-2B8C-4570-BC1E-15592086517C}</Project>
+      <Name>HeuristicLab.Core</Name>
+    </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
@@ -99,4 +114,7 @@
   </ItemGroup>
   <ItemGroup>
+    <EmbeddedResource Include="LineChartTestForm.resx">
+      <DependentUpon>LineChartTestForm.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="MainForm.resx">
       <DependentUpon>MainForm.cs</DependentUpon>
Index: trunk/sources/HeuristicLab.Visualization.Test/LineChartTests.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization.Test/LineChartTests.cs	(revision 868)
+++ trunk/sources/HeuristicLab.Visualization.Test/LineChartTests.cs	(revision 869)
@@ -1,2 +1,3 @@
+using System.Drawing;
 using NUnit.Framework;
 
@@ -8,13 +9,36 @@
       LineChartTestForm f = new LineChartTestForm();
 
-      IDataRow row = new DataRow();
-      f.Model.AddDataRow(row);
+      IDataRow row1 = new DataRow();
+      IDataRow row2 = new DataRow();
+      IDataRow row3 = new DataRow();
 
-      row.AddValue(10);
-      row.AddValue(5);
-      row.AddValue(7);
-      row.AddValue(3);
-      row.AddValue(10);
-      row.AddValue(2);
+      row1.Color = Color.Red;
+      row2.Color = Color.Green;
+      row3.Color = Color.Blue;
+
+      row1.Thickness = 3;
+      row2.Thickness = 4;
+      row3.Thickness = 5;
+
+      f.Model.AddDataRow(row1);
+      f.Model.AddDataRow(row2);
+      f.Model.AddDataRow(row3);
+
+      row1.AddValue(10);
+      row1.AddValue(5);
+      row1.AddValue(7);
+      row1.AddValue(3);
+      row1.AddValue(10);
+      row1.AddValue(2);
+
+      row2.AddValue(5);
+      row2.AddValue(6);
+      row2.AddValue(5);
+
+      row3.AddValue(2);
+      row3.AddValue(2);
+      row3.AddValue(2);
+      row3.AddValue(2);
+      row3.AddValue(2);
 
       f.ShowDialog();
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);
