static void PrintGraph2(LogData PowerRun, CustomSeries PowerSeries, CustomSeries PowerRawSeries, CustomSeries TorqueSeries, CustomSeries SpeedSeries, CustomSeries RPMSeries) { foreach (LogEntry E in PowerRun.DataEntries) { double Time = E[PowerRun.DeviceTime]; double RPM = E[PowerRun.RPM]; if (PowerSeries != null) { PowerSeries.Series.Points.AddXY(RPM, E.Calculated.Power); } if (PowerRawSeries != null) { PowerRawSeries.Series.Points.AddXY(RPM, E.Calculated.PowerRaw); } if (TorqueSeries != null) { TorqueSeries.Series.Points.AddXY(RPM, E.Calculated.Torque); } if (SpeedSeries != null) { SpeedSeries.Series.Points.AddXY(Time, PowerRun.GetSpeed(E)); } if (RPMSeries != null) { RPMSeries.Series.Points.AddXY(Time, RPM); } } }
CustomSeries CreateSeries(Chart chrt, string Name, double MinX, double MaxX, Color Clr, SeriesType SType) { Series series = chrt.Series.Add(Name); series.ChartType = SeriesChartType.Line; //SeriesChartType.Spline; series.Color = Clr; series.BorderWidth = 1; series.MarkerStyle = MarkerStyle.Circle; //series.SetCustomProperty("LineTension", "0.1"); CustomSeries S = new CustomSeries(chrt, series, SType); AllSeries.Add(S); return(S); }
public void LoadGraph(LogData PowerRun, Color Clr, string Name) { foreach (LogEntry Entry in PowerRun.DataEntries) { if (Entry[PowerRun.RPM] < MinRPM) { MinRPM = (int)Entry[PowerRun.RPM]; } if (Entry[PowerRun.RPM] > MaxRPM) { MaxRPM = (int)Entry[PowerRun.RPM]; } if (Entry[PowerRun.DeviceTime] < MinTime) { MinTime = Entry[PowerRun.DeviceTime]; } if (Entry[PowerRun.DeviceTime] > MaxTime) { MaxTime = Entry[PowerRun.DeviceTime]; } } MinRPM = Utils.RoundToNearest(MinRPM, 500); MaxRPM = Utils.RoundToNearest(MaxRPM, 500, false); CustomSeries PowerSeries = CreateSeries(chart1, Name, MinRPM, MaxRPM, Clr, SeriesType.RPM); CustomSeries PowerRawSeries = null; // CreateSeries(chart1, Name + "_raw", MinRPM, MaxRPM, Color.CadetBlue, SeriesType.RPM); CustomSeries TorqueSeries = CreateSeries(chart2, Name, MinRPM, MaxRPM, Clr, SeriesType.RPM); CustomSeries RPMSeries = null; // CreateSeries(chart1, Name + "_rpm", MinTime, MaxTime, Color.Red, SeriesType.Time); CustomSeries SpeedSeries = CreateSeries(chart1, Name + "_spd", MinTime, MaxTime, Clr, SeriesType.Time); //PrintGraph(PowerRun, series, series_spd, MinRPM, MaxRPM); PrintGraph2(PowerRun, PowerSeries, PowerRawSeries, TorqueSeries, SpeedSeries, RPMSeries); EnableSeries(SeriesType.RPM); }