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 @@ -90,7 +90,11 @@ for(int i = 0; i < labels; i++) { var value = Scale(range, domain, (int)(vertical ? tick_position.Y : tick_position.X)); var label = String.Format("{0}", value); - draw_list.AddText(font, 11.0f, tick_absolute_position, (uint)ImGuiColor.BLACK, label); + var height_adjust = ImGui.CalcTextSize(label).Y / 2; + var adjusted_position = Num.Vector2.Add(tick_absolute_position, + new Num.Vector2(0, -height_adjust)); + + draw_list.AddText(font, 11.0f, adjusted_position, (uint)ImGuiColor.BLACK, label); //Logging.Info(String.Format("Drawing {0:} at {1} ({2})", label, tick_absolute_position, tick_position)); if (vertical) { @@ -202,6 +206,7 @@ Num.Vector2.Add(new Num.Vector2(350, 200 - padding), c), (uint)ImGuiColor.LIGHTGREY, 1.0f); + foreach (var key in keys) { if (data_sets_show[key] && data_sets[key].Count() > 0) @@ -214,6 +219,13 @@ var domain = new Num.Vector2(domain_min, domain_max); var range = new Num.Vector2(200 - padding, 0 + padding); + //Zero + var zero_point = Scale(domain, range, 0); + Logging.Spy(new {zero_point = zero_point}); + draw_list.AddLine(Num.Vector2.Add(new Num.Vector2(padding, zero_point), c), + Num.Vector2.Add(new Num.Vector2(350, zero_point), c), + (uint)ImGuiColor.LIGHTGREY, 1.0f); + var x_domain = new Num.Vector2((data_sets["Misc"].Count() - (int)periods), data_sets["Misc"].Count()); var x_range = new Num.Vector2(0 + padding, 350 - padding);