@@ -381,7 +381,7 @@ var submissions = [
381
381
var contest_duration_minutes = Math .ceil (({{ current_contest .endtime }} - {{ current_contest .starttime }}) / 60 );
382
382
383
383
submission_stats .forEach (stat => {
384
- stat .values = Array .from ({ length: contest_duration_minutes }, (_ , i ) => [i, 0 ]);
384
+ stat .values = Array .from ({ length: contest_duration_minutes + 1 }, (_ , i ) => [i, 0 ]);
385
385
});
386
386
387
387
const statMap = submission_stats .reduce ((map , stat ) => {
@@ -397,14 +397,21 @@ submissions.forEach(submission => {
397
397
}
398
398
});
399
399
400
- for (let minute = 0 ; minute < contest_duration_minutes; minute++ ) {
400
+ for (let minute = 0 ; minute <= contest_duration_minutes; minute++ ) {
401
401
let this_minute_submission_nums = 0 ;
402
402
submission_stats .forEach (stat => {
403
403
this_minute_submission_nums += stat .values [minute][1 ];
404
404
});
405
405
max_submissions_per_minute = Math .max (max_submissions_per_minute, this_minute_submission_nums);
406
406
}
407
407
408
+ // Pick a nice round tickDelta and tickValues
409
+ var tickDelta = 15 ;
410
+ while (contest_duration_minutes / tickDelta > 15 ) {
411
+ tickDelta *= 2 ;
412
+ }
413
+ var tickValues = Array .from ({ length: Math .ceil (contest_duration_minutes / tickDelta) + 1 }, (_ , i ) => i * tickDelta);
414
+
408
415
nv .addGraph (function () {
409
416
var chart = nv .models .multiBarChart ()
410
417
// .margin({left: 100}) //Adjust chart margins to give the x-axis some breathing room.
@@ -417,11 +424,13 @@ nv.addGraph(function() {
417
424
.y (function (d ) { return d[1 ] }) // ...in case your data is formatted differently.
418
425
.showYAxis (true ) // Show the y-axis
419
426
.showXAxis (true ) // Show the x-axis
427
+ .reduceXTicks (false )
420
428
;
421
429
chart .xAxis // Chart x-axis settings
422
430
.axisLabel (' Contest Time(minutes)' )
431
+ .ticks (tickValues .length )
432
+ .tickValues (tickValues)
423
433
.tickFormat (d3 .format (' d' ));
424
-
425
434
chart .yAxis // Chart y-axis settings
426
435
.axisLabel (' Total Submissions' )
427
436
.tickFormat (d3 .format (' d' ));
0 commit comments