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

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

graphwriter: split full cycle into smaller parts

parent 590a12cd
No related branches found
No related tags found
No related merge requests found
......@@ -21,17 +21,24 @@ Tool for plotting graphs comparing Vecto 2.2 and Vecto 3
private static void Main(string[] args)
{
if (args.Contains("--split")) {
Console.WriteLine("plotting graphs splitted by distance");
var idx = Array.FindIndex(args, x => x == "--split");
var lenght = int.Parse(args[idx + 1]);
var success = true;
var start = 0;
do {
Console.WriteLine("plotting {0} - {1}", start / 1000, (start + lenght) / 1000);
success = GraphWriter.WriteDistanceSlice(args[0], args[1], start, start + lenght);
start += lenght;
} while (success);
Console.WriteLine("plotting full cycle");
GraphWriter.Write(args[0], args[1]);
Console.WriteLine("done");
return;
}
Console.WriteLine("plotting graphs...");
GraphWriter.Write(args[0], args[1]);
Console.WriteLine("done");
}
}
}
\ No newline at end of file
......@@ -91,6 +91,25 @@ namespace TUGraz.VectoCore.Tests.Utils
if (yfield == ModalResultField.v_act) {
var y3 = LoadData(modDataV3, ModalResultField.v_targ.GetName());
var series3 = CreateSeries("v_target", legend, chartArea, chart, Color.Green, x, y3);
var grad = LoadData(modDataV3, ModalResultField.grad.GetName());
chartArea.AxisY2.Enabled = AxisEnabled.True;
chartArea.AxisY2.Title = "gradient [%]";
chartArea.AxisY2.TitleFont = AxisTitleFont;
chartArea.AxisY2.LabelStyle.Font = AxisLabelFont;
chartArea.AxisY2.LabelAutoFitStyle = LabelAutoFitStyles.None;
chartArea.AxisY2.MinorGrid.Enabled = false;
chartArea.AxisY2.MajorGrid.Enabled = false;
var max = Math.Max(-Math.Round(grad.Min() * 2), Math.Round(grad.Max() * 2));
//chartArea.AxisY2.si
//chartArea.AxisY2.Minimum = -max;
//chartArea.AxisY2.Maximum = max;
chartArea.AxisY2.RoundAxisValues();
chartArea.AxisY2.Interval = Math.Round(max / 5);
var seriesGrad = CreateSeries("Gradient", legend, chartArea, chart, Color.Coral, x, grad);
seriesGrad.YAxisType = AxisType.Secondary;
}
var series1 = CreateSeries(string.Format("Vecto 3 - {0}", yfield), legend, chartArea, chart,
......@@ -197,16 +216,34 @@ namespace TUGraz.VectoCore.Tests.Utils
if (yfield == ModalResultField.v_act) {
var y3 = LoadData(modDataV3, ModalResultField.v_targ.GetName());
var series3 = CreateSeries("v_target", legend, chartArea, chart, Color.Green, x, y3);
var grad = LoadData(modDataV3, ModalResultField.grad.GetName());
chartArea.AxisY2.Enabled = AxisEnabled.True;
chartArea.AxisY2.Title = "gradient [%]";
chartArea.AxisY2.TitleFont = AxisTitleFont;
chartArea.AxisY2.LabelStyle.Font = AxisLabelFont;
chartArea.AxisY2.LabelAutoFitStyle = LabelAutoFitStyles.None;
chartArea.AxisY2.MinorGrid.Enabled = false;
chartArea.AxisY2.MajorGrid.Enabled = false;
var max = Math.Max(-Math.Round(grad.Min() * 2), Math.Round(grad.Max() * 2));
//chartArea.AxisY2.si
chartArea.AxisY2.Minimum = -max;
chartArea.AxisY2.Maximum = max;
chartArea.AxisY2.RoundAxisValues();
var seriesGrad = CreateSeries("Gradient", legend, chartArea, chart, Color.Coral, x, grad);
seriesGrad.YAxisType = AxisType.Secondary;
}
var series1 = CreateSeries(string.Format("Vecto 3 - {0}", yfield), legend, chartArea, chart,
Color.Blue, x, y);
if (fileNameV22 != null) {
var y2 = LoadData(modDataV22, yfield.GetName());
var series2 = CreateSeries(string.Format("Vecto 2.2 - {0}", yfield), legend, chartArea, chart,
Color.Red, x2,
y2);
Color.Red, x2, y2);
}
PositionChartArea(chartArea, titleHeight, i, yfields.Count());
......@@ -244,14 +281,6 @@ namespace TUGraz.VectoCore.Tests.Utils
.ToArray();
}
//private static double[] LoadData(DataView modDataV3, string field)
//{
// return modDataV3.Rows.Cast<DataRow>()
// .Select(v => v.Field<string>(field).Length == 0
// ? Double.NaN
// : v.Field<string>(field).ToDouble())
// .ToArray();
//}
private static void AlignChart(Chart chart, string chartToAlign, string 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