Description:
Support multiple data series.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r507:7dba0456323a -

@@ -21,10 +21,15
21 21 public static bool hadFocus = false;
22 22
23 23 public static int year = 1;
24 public static bool show_totals = false;
25 public static bool show_subsidies = false;
26 public static bool show_upkeep = false;
24 27
25 28 public static void Render(ImFontPtr font, Simulation sim, ImGuiWindowBridgeEngine engine)
26 29 {
27 30 bool newShow = true;
31
32
28 33 ImGui.PushFont(font);
29 34
30 35 ImGui.GetStyle().WindowMenuButtonPosition = ImGuiDir.None;
@@ -46,9 +51,12
46 51 // ImGui.Text("Lorem Ipsum");
47 52
48 53 var totals = sim.allBudgets().Select(b => (double)b.money);
49
54 var subsidies = sim.allBudgets().Select(b => (double)b.subsidy);
55 var upkeep = sim.allBudgets().Select(b => (double)b.upkeep);
50 56
51 57 var totals_array = totals.ToArray();
58 var subsidies_array = subsidies.ToArray();
59 var upkeep_array = upkeep.ToArray();
52 60
53 61 var periods = 12.0d * GraphWindow.year;
54 62
@@ -57,13 +65,19
57 65
58 66 if( ImPlot.BeginPlot("My Plot")) {
59 67 // Span<double> totals = new Span<double>(new double[]{0.0, 1.0, 2.0, 9.0});
60 if (totals_array.Length > 0)
68 if (totals_array.Length > 0 && show_totals)
61 69 {
62 // ImGui.PlotLines("MainGraph", ref totals[0], totals.Length, 0, null, float.MaxValue, float.MaxValue, new Num.Vector2(350, 200));
63 // ImPlot.PlotLine("My Line", ref MemoryMarshal.GetReference(totals), ref MemoryMarshal.GetReference(totals), totals.Length);
64 // Logging.Info(String.Format("Max: {0}", max.ToString()));
65 70 ImPlot.PlotLine("Total Funds", ref totals_array[0], totals_array.Length);
66 71 }
72 if (subsidies_array.Length > 0 && show_subsidies)
73 {
74 ImPlot.PlotLine("Subsidies", ref subsidies_array[0], subsidies_array.Length);
75 }
76 if (upkeep_array.Length > 0 && show_upkeep)
77 {
78 ImPlot.PlotLine("Upkeep", ref upkeep_array[0], upkeep_array.Length);
79 }
80
67 81 ImPlot.EndPlot();
68 82
69 83 }
@@ -76,6 +90,10
76 90 ImGui.SameLine();
77 91 ImGui.RadioButton("100 years", ref GraphWindow.year, 100);
78 92
93 if (Menu.activeButton("Totals", show_totals, StyleSets.selected, StyleSets.white))
94 {
95 GraphWindow.show_totals = !GraphWindow.show_totals;
96 }
79 97
80 98
81 99
@@ -16,7 +16,7
16 16 public const int MENU_BAR_HEIGHT = 20;
17 17
18 18
19 private static bool activeButton(string label, bool active, Num.Vector4 activeColor, Num.Vector4 activeTextColor) {
19 public static bool activeButton(string label, bool active, Num.Vector4 activeColor, Num.Vector4 activeTextColor) {
20 20
21 21 if (active) {
22 22 ImGui.PushStyleColor(ImGuiCol.Button, activeColor);
You need to be logged in to leave comments. Login now