Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionViews/RunCollectionBubbleChartView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionViews/RunCollectionBubbleChartView.Designer.cs	(revision 9228)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionViews/RunCollectionBubbleChartView.Designer.cs	(revision 9229)
@@ -318,14 +318,14 @@
       this.sizeTrackBar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
       this.sizeTrackBar.Location = new System.Drawing.Point(787, 3);
-      this.sizeTrackBar.Maximum = 50;
-      this.sizeTrackBar.Minimum = 5;
+      this.sizeTrackBar.Maximum = 20;
+      this.sizeTrackBar.Minimum = -20;
       this.sizeTrackBar.Name = "sizeTrackBar";
       this.sizeTrackBar.Size = new System.Drawing.Size(64, 45);
       this.sizeTrackBar.TabIndex = 24;
-      this.sizeTrackBar.TickStyle = System.Windows.Forms.TickStyle.None;
-      this.sizeTrackBar.Value = 10;
+      this.sizeTrackBar.TickFrequency = 25;
+      this.sizeTrackBar.TickStyle = System.Windows.Forms.TickStyle.TopLeft;
       this.sizeTrackBar.ValueChanged += new System.EventHandler(this.sizeTrackBar_ValueChanged);
       // 
-      // ToolStripMenuItem
+      // getDataAsMatrixToolStripMenuItem
       // 
       this.getDataAsMatrixToolStripMenuItem.Name = "getDataAsMatrixToolStripMenuItem";
@@ -336,5 +336,4 @@
       // RunCollectionBubbleChartView
       // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
       this.BackColor = System.Drawing.SystemColors.Window;
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionViews/RunCollectionBubbleChartView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionViews/RunCollectionBubbleChartView.cs	(revision 9228)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionViews/RunCollectionBubbleChartView.cs	(revision 9229)
@@ -20,9 +20,4 @@
 #endregion
 
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.MainForm;
-using HeuristicLab.MainForm.WindowsForms;
 using System;
 using System.Collections.Generic;
@@ -31,4 +26,9 @@
 using System.Windows.Forms;
 using System.Windows.Forms.DataVisualization.Charting;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.MainForm;
+using HeuristicLab.MainForm.WindowsForms;
 
 namespace HeuristicLab.Optimization.Views {
@@ -272,17 +272,25 @@
 
     private void UpdateMarkerSizes() {
-      double[] sizeValues = this.chart.Series[0].Points.Select(p => p.YValues[1]).ToArray();
+      var series = chart.Series[0];
+      var sizeValues = series.Points.Select(p => p.YValues[1]);
+
       double minSizeValue = sizeValues.Min();
       double maxSizeValue = sizeValues.Max();
-
-      for (int i = 0; i < sizeValues.Length; i++) {
-        DataPoint point = this.chart.Series[0].Points[i];
-        double sizeRange = maxSizeValue - minSizeValue;
+      double sizeRange = maxSizeValue - minSizeValue;
+
+      const int smallestBubbleSize = 5;
+
+      foreach (DataPoint point in series.Points) {
+        //calculates the relative size of the data point  0 <= relativeSize <= 1
         double relativeSize = (point.YValues[1] - minSizeValue);
-
-        if (sizeRange > double.Epsilon) relativeSize /= sizeRange;
-        else relativeSize = 1;
-
-        point.MarkerSize = (int)Math.Round((sizeTrackBar.Value - sizeTrackBar.Minimum) * relativeSize + sizeTrackBar.Minimum);
+        if (sizeRange > double.Epsilon) {
+          relativeSize /= sizeRange;
+
+          //invert bubble sizes if the value of the trackbar is negative
+          if (sizeTrackBar.Value < 0) relativeSize = Math.Abs(relativeSize - 1);
+        } else relativeSize = 1;
+
+        double sizeChange = Math.Abs(sizeTrackBar.Value) * relativeSize;
+        point.MarkerSize = (int)Math.Round(sizeChange + smallestBubbleSize);
       }
     }
