diff --git a/isometric-park-fna/UI/Graph.cs b/isometric-park-fna/UI/Graph.cs --- a/isometric-park-fna/UI/Graph.cs +++ b/isometric-park-fna/UI/Graph.cs @@ -50,23 +50,23 @@ .Zip(colors, (first, second) => (first, second)) .ToDictionary(t => t.Item1, t => t.Item2); - public static void DrawLinearAxis(ImDrawListPtr draw_list, Num.Vector2 range, bool vertical, int points, Num.Vector2 position) { + public static void DrawLinearAxis(ImDrawListPtr draw_list, Num.Vector2 range, bool vertical, int points, Num.Vector2 starting_position) { //See DrawLinearLabels for explanation var tick_spacing = (int)Math.Abs((range.Y - range.X) / (points - 1)); var tick_length = 5; var tick_adjust = vertical ? new Num.Vector2(tick_length, 0) : new Num.Vector2(0, tick_length); - var tick_position = position; + var tick_position = starting_position; for(int i = 0; i < points; i++) { - draw_list.AddLine(tick_position, Num.Vector2.Add(tick_position, tick_adjust), (uint)ImGuiColor.LIGHTGREY, 1.0f); + draw_list.AddLine(tick_position, Num.Vector2.Add(tick_position, tick_adjust), (uint)ImGuiColor.DARKGREY, 1.0f); if (vertical) { - tick_position = new Num.Vector2(position.X, position.Y + ((i + 1) * tick_spacing)); + tick_position = new Num.Vector2(starting_position.X, starting_position.Y + ((i + 1) * tick_spacing)); } else { //We increment one, otherwise the first tick is - tick_position = new Num.Vector2(position.X + ((i + 1) * tick_spacing), position.Y); + tick_position = new Num.Vector2(starting_position.X + ((i + 1) * tick_spacing), starting_position.Y); } } } @@ -209,7 +209,7 @@ } } - var domain = new Num.Vector2(domain_min, domain_max); + var domain = (domain_min != domain_max) ? new Num.Vector2(domain_min, domain_max) : new Num.Vector2(domain_min-100, domain_max+100) ; var range = new Num.Vector2(200 - padding, 0 + padding); //Zero @@ -239,7 +239,7 @@ } } - DrawLinearAxis(draw_list, domain /*new Num.Vector2(0, 200)*/, true, 11, Num.Vector2.Add(c, new Num.Vector2(padding, padding))); + DrawLinearAxis(draw_list, range /*new Num.Vector2(0, 200)*/, true, 11, Num.Vector2.Add(c, new Num.Vector2(padding, padding))); DrawLinearLabels(font, draw_list, domain, range /*new Num.Vector2(0, 200)*/, true, 11, c); DrawLinearAxis(draw_list, new Num.Vector2(0, 350), false, 12, Num.Vector2.Add(c, new Num.Vector2(padding, 200 - padding)));