public bool GenerateIdealCurve(IdealCurveScaffold type, CurvesParameters @params, double startX, double endX, int pointsDensity) { IdealCurve.Points.Clear(); SeriesAssist.SetDefaultSettings(IdealCurve); ArgumentsMaker args = new ArgumentsMaker(startX, endX, pointsDensity); switch (type) { case IdealCurveScaffold.Polynomial: SeriesAssist.CopyPoints(CurveMaker.OfPolynomial(args, @params.Polynomial), IdealCurve); break; case IdealCurveScaffold.Hyperbolic: SeriesAssist.CopyPoints(CurveMaker.OfHyperbolic(args, @params.Hyperbolic), IdealCurve); break; case IdealCurveScaffold.WaveformSine: SeriesAssist.CopyPoints(CurveMaker.OfSineWave(args, @params.Waveform), IdealCurve); break; case IdealCurveScaffold.WaveformSquare: SeriesAssist.CopyPoints(CurveMaker.OfSquareWave(args, @params.Waveform), IdealCurve); break; case IdealCurveScaffold.WaveformTriangle: SeriesAssist.CopyPoints(CurveMaker.OfTriangleWave(args, @params.Waveform), IdealCurve); break; case IdealCurveScaffold.WaveformSawtooth: SeriesAssist.CopyPoints(CurveMaker.OfSawtoothWave(args, @params.Waveform), IdealCurve); break; } return(SeriesAssist.IsChartAcceptable(IdealCurve)); }
public CurvesDataManager() { IdealCurve = new Series(); ModifiedCurves = new List <Series>(); AverageCurve = new Series(); MeansParams = new MeansParameters(); SeriesAssist.SetDefaultSettings(IdealCurve); SeriesAssist.SetDefaultSettings(AverageCurve); ModifiedCurves.ToList().ForEach(s => SeriesAssist.SetDefaultSettings(s)); }
public void PropagateIdealCurve(int curvesNo) { ModifiedCurves = new List <Series>(); for (int i = 0; i < curvesNo; i++) { Series series = new Series(); SeriesAssist.SetDefaultSettings(series); SeriesAssist.CopyPoints(IdealCurve, series); ModifiedCurves.Add(series); } }
public static void SetDefaultSettings(Chart chart, int chartAreaIndex = 0, int legendIndex = 0, int seriesIndex = 0) { chart.ChartAreas[chartAreaIndex].AxisX.IntervalType = DateTimeIntervalType.Number; chart.ChartAreas[chartAreaIndex].AxisX.IsLabelAutoFit = false; chart.ChartAreas[chartAreaIndex].AxisX.IsMarginVisible = false; chart.ChartAreas[chartAreaIndex].AxisX.LabelAutoFitMaxFontSize = 8; chart.ChartAreas[chartAreaIndex].AxisX.LabelAutoFitMinFontSize = 8; chart.ChartAreas[chartAreaIndex].AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None; chart.ChartAreas[chartAreaIndex].AxisX.LabelStyle.Font = new Font("Consolas", 8F); chart.ChartAreas[chartAreaIndex].AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dot; chart.ChartAreas[chartAreaIndex].AxisX.MajorTickMark.Enabled = false; chart.ChartAreas[chartAreaIndex].AxisX.TitleFont = new Font("Consolas", 8F); chart.ChartAreas[chartAreaIndex].AxisY.IntervalType = DateTimeIntervalType.Number; chart.ChartAreas[chartAreaIndex].AxisY.IsLabelAutoFit = false; chart.ChartAreas[chartAreaIndex].AxisY.LabelAutoFitMaxFontSize = 8; chart.ChartAreas[chartAreaIndex].AxisY.LabelStyle.Font = new Font("Consolas", 8F); chart.ChartAreas[chartAreaIndex].AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dot; chart.ChartAreas[chartAreaIndex].AxisY.MajorTickMark.Enabled = false; chart.ChartAreas[chartAreaIndex].AxisY.TitleFont = new Font("Consolas", 8F); chart.ChartAreas[chartAreaIndex].BackColor = Color.White; chart.ChartAreas[chartAreaIndex].IsSameFontSizeForAllAxes = true; chart.Legends[legendIndex].Enabled = false; SeriesAssist.SetDefaultSettings(chart.Series[seriesIndex]); }