@@ -381,7 +381,7 @@ var submissions = [
381381var contest_duration_minutes = Math .ceil (({{ current_contest .endtime }} - {{ current_contest .starttime }}) / 60 );
382382
383383submission_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 ]);
385385});
386386
387387const statMap = submission_stats .reduce ((map , stat ) => {
@@ -397,14 +397,21 @@ submissions.forEach(submission => {
397397 }
398398});
399399
400- for (let minute = 0 ; minute < contest_duration_minutes; minute++ ) {
400+ for (let minute = 0 ; minute <= contest_duration_minutes; minute++ ) {
401401 let this_minute_submission_nums = 0 ;
402402 submission_stats .forEach (stat => {
403403 this_minute_submission_nums += stat .values [minute][1 ];
404404 });
405405 max_submissions_per_minute = Math .max (max_submissions_per_minute, this_minute_submission_nums);
406406}
407407
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+
408415nv .addGraph (function () {
409416 var chart = nv .models .multiBarChart ()
410417 // .margin({left: 100}) //Adjust chart margins to give the x-axis some breathing room.
@@ -417,11 +424,13 @@ nv.addGraph(function() {
417424 .y (function (d ) { return d[1 ] }) // ...in case your data is formatted differently.
418425 .showYAxis (true ) // Show the y-axis
419426 .showXAxis (true ) // Show the x-axis
427+ .reduceXTicks (false )
420428 ;
421429 chart .xAxis // Chart x-axis settings
422430 .axisLabel (' Contest Time(minutes)' )
431+ .ticks (tickValues .length )
432+ .tickValues (tickValues)
423433 .tickFormat (d3 .format (' d' ));
424-
425434 chart .yAxis // Chart y-axis settings
426435 .axisLabel (' Total Submissions' )
427436 .tickFormat (d3 .format (' d' ));
0 commit comments