private void SetChartTitles(SignalPhase signalPhase, Dictionary <string, string> statistics) { chart.Titles.Add(ChartTitleFactory.GetChartName(Options.MetricTypeID)); chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange( Options.SignalID, Options.StartDate, Options.EndDate)); chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(signalPhase.Approach, signalPhase.GetPermissivePhase)); chart.Titles.Add(ChartTitleFactory.GetStatistics(statistics)); }
private void SetChartTitle(Chart chart, LeftTurnGapAnalysisOptions options, Signal signal, Approach approach, string detectionType) { chart.Titles.Add(ChartTitleFactory.GetChartName(options.MetricTypeID)); chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange(signal.SignalID, options.StartDate, options.EndDate)); chart.Titles.Add(ChartTitleFactory.GetPhase(_opposingPhase)); chart.Titles.Add(detectionType); }
private void SetChartTitles(SignalPhase signalPhase, Dictionary <string, string> statistics) { Chart.Titles.Add(ChartTitleFactory.GetChartName(Options.MetricTypeID)); Chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange( Options.SignalID, Options.StartDate, Options.EndDate)); Chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions( signalPhase.Approach, signalPhase.GetPermissivePhase)); Chart.Titles.Add(ChartTitleFactory.GetStatistics(statistics)); Chart.Titles.Add(ChartTitleFactory.GetTitle( "Simplified Approach Delay. Displays time between approach activation during the red phase and when the phase turns green." + " \n Does NOT account for start up delay, deceleration, or queue length that exceeds the detection zone.")); Chart.Titles.LastOrDefault().Docking = Docking.Bottom; }
private void SetChartTitle(Chart chart, RLMSignalPhase signalPhase) { //Set the chart title chart.Titles.Add(ChartTitleFactory.GetChartName(Options.MetricTypeID)); chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange(Options.SignalID, Options.StartDate, Options.EndDate)); chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(signalPhase.Approach.ProtectedPhaseNumber, signalPhase.Approach.DirectionType.Description)); Dictionary <string, string> statistics = new Dictionary <string, string>(); statistics.Add("Total Violations", signalPhase.Violations.ToString() + " (" + signalPhase.PercentViolations.ToString() + "%)"); statistics.Add("Severe Violations", signalPhase.Srlv + " (" + signalPhase.PercentSevereViolations.ToString() + "%)"); statistics.Add("Yellow Light Occurrences", signalPhase.YellowOccurrences + " (" + signalPhase.PercentYellowOccurrences.ToString() + "%)"); chart.Titles.Add(ChartTitleFactory.GetStatistics(statistics)); }
private void SetChartTitles(SignalPhase signalPhase, Dictionary <string, string> statistics) { chart.Titles.Add(ChartTitleFactory.GetChartName(Options.MetricTypeID)); chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange( Options.SignalID, Options.StartDate, Options.EndDate)); if (!signalPhase.Approach.IsProtectedPhaseOverlap) { chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(signalPhase.Approach.ProtectedPhaseNumber, signalPhase.Approach.DirectionType.Description)); } else { chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(signalPhase.Approach.ProtectedPhaseNumber, " Overlap")); } chart.Titles.Add(ChartTitleFactory.GetStatistics(statistics)); }
private void SetChartTitle(Chart chart, RLMSignalPhase signalPhase) { //Set the chart title chart.Titles.Add(ChartTitleFactory.GetChartName(Options.MetricTypeID)); chart.Titles.Add( ChartTitleFactory.GetSignalLocationAndDateRange(Options.SignalID, Options.StartDate, Options.EndDate)); chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(signalPhase.Approach, signalPhase.GetPermissivePhase)); var statistics = new Dictionary <string, string>(); statistics.Add("Total Violations", signalPhase.Violations + " (" + signalPhase.PercentViolations + "%)"); statistics.Add("Severe Violations", signalPhase.SevereRedLightViolations + " (" + signalPhase.PercentSevereViolations + "%)"); statistics.Add("Yellow Light Occurrences", signalPhase.YellowOccurrences + " (" + signalPhase.PercentYellowOccurrences + "%)"); chart.Titles.Add(ChartTitleFactory.GetStatistics(statistics)); }
public static Chart CreateApproachVolumeChart(ApproachVolumeOptions options, ApproachVolume.ApproachVolume approachVolume) { Chart chart = new Chart(); SetImageProperties(chart); chart.Titles.Add(ChartTitleFactory.GetChartName(options.MetricTypeID)); chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange(options.SignalID, options.StartDate, options.EndDate)); chart.Titles.Add(ChartTitleFactory.GetBoldTitle(approachVolume.PrimaryDirection.Description + " and " + approachVolume.OpposingDirection.Description + " Approaches")); Legend chartLegend = new Legend(); chartLegend.Name = "MainLegend"; chartLegend.Docking = Docking.Left; chart.Legends.Add(chartLegend); chart.ChartAreas.Add(CreateChartArea(options)); CustomizeChartAreaForApproachVolume(chart, options); return(chart); }