summaryrefslogtreecommitdiff
path: root/grapher/Models/Charts/ChartXY.cs
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-12-05 21:28:08 -0500
committerGitHub <[email protected]>2020-12-05 21:28:08 -0500
commitc8503654da5bc40a129e58914549cd394349d059 (patch)
treee4760c579597d0e292c7b03dff95d19bb8f3c750 /grapher/Models/Charts/ChartXY.cs
parentMerge pull request #45 from JacobPalecki/fix (diff)
parentupdate signed, add installers (diff)
downloadrawaccel-c8503654da5bc40a129e58914549cd394349d059.tar.xz
rawaccel-c8503654da5bc40a129e58914549cd394349d059.zip
Merge pull request #46 from a1xd/1.3
Diffstat (limited to 'grapher/Models/Charts/ChartXY.cs')
-rw-r--r--grapher/Models/Charts/ChartXY.cs33
1 files changed, 19 insertions, 14 deletions
diff --git a/grapher/Models/Charts/ChartXY.cs b/grapher/Models/Charts/ChartXY.cs
index 98ba059..553ab3e 100644
--- a/grapher/Models/Charts/ChartXY.cs
+++ b/grapher/Models/Charts/ChartXY.cs
@@ -1,4 +1,5 @@
using grapher.Models.Mouse;
+using System;
using System.Collections;
using System.Windows.Forms.DataVisualization.Charting;
@@ -29,6 +30,8 @@ namespace grapher
#endregion Constructors
+ private const double VerticalMargin = 0.1;
+
#region Properties
public Chart ChartX { get; }
@@ -219,28 +222,30 @@ namespace grapher
ChartX.Series[2].IsVisibleInLegend = true;
}
- public void SetMinMax(double min, double max)
+ private void VerifyRange(double min, double max)
{
- if (min < max)
+ if (min > max)
{
- ChartX.ChartAreas[0].AxisY.Minimum = min * 0.95;
- ChartX.ChartAreas[0].AxisY.Maximum = max * 1.05;
+ throw new ArgumentException($"invalid chart range: ({min}, {max})");
}
}
+ public void SetMinMax(double min, double max)
+ {
+ VerifyRange(min, max);
+ ChartX.ChartAreas[0].AxisY.Minimum = min * (1 - VerticalMargin);
+ ChartX.ChartAreas[0].AxisY.Maximum = max * (1 + VerticalMargin);
+ }
+
public void SetMinMaxXY(double minX, double maxX, double minY, double maxY)
{
- if (minX < maxX)
- {
- ChartX.ChartAreas[0].AxisY.Minimum = minX * 0.95;
- ChartX.ChartAreas[0].AxisY.Maximum = maxX * 1.05;
- }
+ VerifyRange(minX, maxX);
+ ChartX.ChartAreas[0].AxisY.Minimum = minX * (1 - VerticalMargin);
+ ChartX.ChartAreas[0].AxisY.Maximum = maxX * (1 + VerticalMargin);
- if (minY < maxY)
- {
- ChartY.ChartAreas[0].AxisY.Minimum = minY * 0.95;
- ChartY.ChartAreas[0].AxisY.Maximum = maxY * 1.05;
- }
+ VerifyRange(minY, maxY);
+ ChartX.ChartAreas[0].AxisY.Minimum = minY * (1 - VerticalMargin);
+ ChartX.ChartAreas[0].AxisY.Maximum = maxY * (1 + VerticalMargin);
}
public void SetCombined()