heal-research / HeuristicLab

HeuristicLab - An environment for heuristic and evolutionary optimization
https://dev.heuristiclab.com
GNU General Public License v3.0
32 stars 15 forks source link

Overflow in RunCollectionBoxPlot view #1918

Closed HeuristicLab-Trac-Bot closed 11 years ago

HeuristicLab-Trac-Bot commented 11 years ago

Issue migrated from trac ticket # 1918

milestone: HeuristicLab 3.3.8 | component: Optimization.Views | priority: medium | resolution: done

2012-08-16 14:07:29: @abeham created the issue


There is an unhandled exception in the box plot view. See the stacktrace below.

System.OverflowException: Value was either too large or too small for a Decimal.
   at System.Decimal..ctor(Double value)
   at System.Windows.Forms.DataVisualization.Charting.Axis.RoundedValues(Double inter, Boolean shouldStartFromZero, Boolean autoMax, Boolean autoMin, Double& min, Double& max)
   at System.Windows.Forms.DataVisualization.Charting.Axis.EstimateNumberAxis(Double& minimumValue, Double& maximumValue, Boolean shouldStartFromZero, Int32 preferredNumberOfIntervals, Boolean autoMaximum, Boolean autoMinimum)
   at System.Windows.Forms.DataVisualization.Charting.Axis.EstimateAxis(Double& minimumValue, Double& maximumValue, Boolean autoMaximum, Boolean autoMinimum)
   at System.Windows.Forms.DataVisualization.Charting.Axis.EstimateAxis()
   at System.Windows.Forms.DataVisualization.Charting.ChartArea.SetDefaultAxesValues()
   at System.Windows.Forms.DataVisualization.Charting.ChartArea.SetData(Boolean initializeAxes, Boolean checkIndexedAligned)
   at System.Windows.Forms.DataVisualization.Charting.ChartPicture.Paint(Graphics graph, Boolean paintTopLevelElementOnly)
   at System.Windows.Forms.DataVisualization.Charting.ChartPicture.PaintOffScreen()
   at System.Windows.Forms.DataVisualization.Charting.Selection.HitTest(Int32 x, Int32 y, Boolean ignoreTransparent, ChartElementType[] requestedElementTypes)
   at System.Windows.Forms.DataVisualization.Charting.Selection.HitTest(Int32 x, Int32 y)
   at HeuristicLab.Optimization.Views.RunCollectionBoxPlotView.chart_MouseMove(Object sender, MouseEventArgs e) in D:\HL3\trunk\sources\HeuristicLab.Optimization.Views\3.3\RunCollectionViews\RunCollectionBoxPlotView.cs:line 417
   at System.Windows.Forms.DataVisualization.Charting.Chart.OnChartMouseMove(MouseEventArgs e)
   at HeuristicLab.Visualization.ChartControlsExtensions.EnhancedChart.OnMouseMove(MouseEventArgs e) in d:\HL3\trunk\sources\HeuristicLab.Visualization.ChartControlsExtensions\3.3\EnhancedChart.cs:line 138
   at System.Windows.Forms.Control.WmMouseMove(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
HeuristicLab-Trac-Bot commented 11 years ago

2012-10-08 17:43:36: @abeham changed owner from @s-wagner to @gkronber

HeuristicLab-Trac-Bot commented 11 years ago

2012-10-08 17:43:36: @abeham changed status from new to assigned

HeuristicLab-Trac-Bot commented 11 years ago

2012-10-15 12:35:02: @abeham commented


I had a similar error in the bubble chart today, maybe it's related to the error in the box plot.

Reproduce:

  1. Create new Random Forest Classification
  2. Load small dataset (e.g. wine)
  3. Use the experiment creation dialog to create a small experiment (tick M, R, and NumberOfTrees) - it should run long enough to test the effect
  4. Execute the experiment and while it is calculating open a bubble chart.
  5. In the bubble chart select y and x axis (I used accuracy for y and R for x).
  6. Then click and drag the x-jitter slider
  7. When the experiment is still calculating an exception dialog should appear
HeuristicLab-Trac-Bot commented 11 years ago

2012-10-22 18:36:04: @gkronber commented


Very strange code in BubbleChartView:

      } else {
        axis.Minimum = axis.Minimum;
        axis.Maximum = axis.Maximum;
        axis.MajorGrid.Interval = axis.MajorGrid.Interval;
        axis.MajorTickMark.Interval = axis.MajorTickMark.Interval;
        axis.LabelStyle.Interval = axis.LabelStyle.Interval;
      }
HeuristicLab-Trac-Bot commented 11 years ago

2012-10-22 18:53:11: @gkronber commented


r8832: suggested fix for strange method SetAutomaticUpdateOfAxis(). Exception is gone but don't know if originally intended functionality is still intact.

HeuristicLab-Trac-Bot commented 11 years ago

2012-10-22 18:53:24: @gkronber changed owner from @gkronber to @mkommend

HeuristicLab-Trac-Bot commented 11 years ago

2012-10-22 18:53:24: @gkronber changed status from assigned to reviewing

HeuristicLab-Trac-Bot commented 11 years ago

2012-10-23 10:39:13: @mkommend commented


r8835: Refactored jittering in BubbleChartView to calculate axis range before the data points are modified and removed 'strange' method.

HeuristicLab-Trac-Bot commented 11 years ago

2012-10-23 10:39:13: @mkommend changed owner from @mkommend to @gkronber

HeuristicLab-Trac-Bot commented 11 years ago

2012-10-23 12:01:22: @gkronber commented


Reviewed r8835.

HeuristicLab-Trac-Bot commented 11 years ago

2012-10-23 12:01:22: @gkronber changed status from reviewing to readytorelease

HeuristicLab-Trac-Bot commented 11 years ago

2013-05-10 01:51:17: @s-wagner changed status from readytorelease to closed

HeuristicLab-Trac-Bot commented 11 years ago

2013-05-10 01:51:17: @s-wagner removed resolution