Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 51627fe7 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

plot driving mode and altitude (if available and selected)

parent 21462d79
No related branches found
No related tags found
No related merge requests found
......@@ -61,6 +61,8 @@ namespace TUGraz.VectoCore.Tests.Utils
public static ModalResultField[] Xfields { get; set; }
public static bool PlotDrivingMode = false;
public static void Enable()
{
......@@ -135,9 +137,37 @@ namespace TUGraz.VectoCore.Tests.Utils
chartArea.AxisY2.RoundAxisValues();
chartArea.AxisY2.Interval = Math.Round(max / 5);
if (modDataV3.Columns.Contains("Alt")) {
var alt = LoadData(modDataV3, "Alt");
var seriesAlt = CreateSeries("Altitude", legend, chartArea, chart, Color.Brown, x, alt);
seriesAlt.YAxisType = AxisType.Secondary;
}
var seriesGrad = CreateSeries("Gradient", legend, chartArea, chart, Color.Coral, x, grad);
seriesGrad.YAxisType = AxisType.Secondary;
}
if (PlotDrivingMode && yfield == Yfields.First()) {
if (modDataV3.Columns.Contains("Action")) {
var actionMapping = new Dictionary<string, double> {
{ "Accelerate", 2 - 3 },
{ "Coast", 1 - 3 },
{ "Roll", 0 - 3 },
{ "Brake", -1 - 3 }
};
var action = LoadDataMapped(modDataV3, "Action", actionMapping);
var seriesAction = CreateSeries("Driving Action", legend, chartArea, chart, Color.Magenta, x, action);
//seriesAction.YAxisType = AxisType.Secondary;
}
if (modDataV3.Columns.Contains("DrivingMode")) {
var modeMapping = new Dictionary<string, double> {
{ "DrivingModeDrive", -1 },
{ "DrivingModeBrake", -6 },
};
var mode = LoadDataMapped(modDataV3, "DrivingMode", modeMapping);
var seriesAction = CreateSeries("Driving Mode", legend, chartArea, chart, Color.Maroon, x, mode);
//seriesAction.YAxisType = AxisType;
}
}
var series1 = CreateSeries(string.Format("{1} - {0}", yfield, Series1Label), legend, chartArea, chart,
Color.Blue, x, y);
......@@ -159,7 +189,7 @@ namespace TUGraz.VectoCore.Tests.Utils
AddTitle(chart, Path.GetFileNameWithoutExtension(fileName), Yfields[0].ToString());
chart.Invalidate();
chart.SaveImage(fileName, ChartImageFormat.Png);
chart.SaveImage(Path.Combine(Path.GetDirectoryName(fileNameV3) ?? "", fileName), ChartImageFormat.Png);
}
}
......@@ -322,6 +352,13 @@ namespace TUGraz.VectoCore.Tests.Utils
.ToArray();
}
private static double[] LoadDataMapped(DataTable modDataV3, string field, Dictionary<string, double> mapping)
{
return (from x in modDataV3.Rows.Cast<DataRow>()
let val = x.Field<string>(field)
select mapping.ContainsKey(val) ? mapping[val] : double.NaN).ToArray();
}
private static void AlignChart(Chart chart, string chartToAlign, string chartToAlignWith)
{
chart.ChartAreas[chartToAlign].AlignWithChartArea = chartToAlignWith;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment