@@ -213,16 +213,49 @@ def stats(
213
213
mpl_logger .setLevel (logging .INFO )
214
214
os .makedirs (name = ".charts" , exist_ok = True )
215
215
# Flag count per value barchart
216
- plt .bar (
217
- stats ["flag_count_per_value" ].keys (), stats ["flag_count_per_value" ].values ()
216
+
217
+ fig , ax1 = plt .subplots ()
218
+ width = 0.3
219
+
220
+ number_of_points = []
221
+ for value , count in stats ["flag_count_per_value" ].items ():
222
+ number_of_points .append (value * count )
223
+
224
+ ax1 .bar (
225
+ list (stats ["flag_count_per_value" ].keys ()),
226
+ list (stats ["flag_count_per_value" ].values ()),
227
+ - width ,
228
+ label = "Number of flags" ,
229
+ color = "blue" ,
230
+ align = "edge" ,
231
+ )
232
+ ax1 .set_xlabel ("Flag Value (points)" )
233
+ ax1 .set_ylabel ("Number of Flags" , color = "blue" )
234
+ ax1 .tick_params (axis = "y" , labelcolor = "blue" )
235
+
236
+ ax2 = ax1 .twinx ()
237
+
238
+ ax2 .bar (
239
+ list (stats ["flag_count_per_value" ].keys ()),
240
+ number_of_points ,
241
+ width ,
242
+ label = "Number of points" ,
243
+ color = "orange" ,
244
+ align = "edge" ,
218
245
)
246
+ ax2 .set_xlabel ("Flag Value" )
247
+ ax2 .set_ylabel ("Number of points" , color = "orange" )
248
+ ax2 .tick_params (axis = "y" , labelcolor = "orange" )
249
+
219
250
plt .xticks (
220
251
ticks = range (0 , max (stats ["flag_count_per_value" ].keys ()) + 1 ), rotation = 45
221
252
)
253
+
222
254
plt .grid (True , linestyle = "--" , alpha = 0.3 )
223
255
plt .xlabel ("Flag Value" )
224
- plt .ylabel ("Number of Flags" )
225
256
plt .title ("Number of Flags per Value" )
257
+ fig .legend (loc = "upper right" )
258
+
226
259
plt .savefig (os .path .join (".charts" , "flags_per_value.png" ))
227
260
plt .clf ()
228
261
0 commit comments