Skip to content

Commit b3db6ab

Browse files
as6325400meisterT
authored andcommitted
Limit the labels on the x-axis
update delta
1 parent 4603afb commit b3db6ab

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

webapp/templates/jury/analysis/contest_overview.html.twig

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ var submissions = [
381381
var contest_duration_minutes = Math.ceil(({{ current_contest.endtime }} - {{ current_contest.starttime }}) / 60);
382382
383383
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]);
385385
});
386386
387387
const 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+
408415
nv.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

Comments
 (0)