/* setup the chart and its options */ | |
var chart = nv.models.lineChart() | |
.color(d3.scale.category10().range()) | |
.margin({left: 75, bottom: 100}) | |
.forceX([0]).forceY([0]); | |
chart.x(function(datum){ return datum.r; }) | |
.xAxis.options({ | |
axisLabel: customSettings.XLABEL || 'Changeset', | |
tickFormat: d3.format('.0f') | |
}); | |
chart.xAxis | |
.tickValues(changesets_count) | |
.tickFormat(function(d){return changesets[d]}) | |
.rotateLabels(-90); | |
chart.y(function(datum){ return datum.v; }) | |
.yAxis.options({ | |
axisLabel: customSettings.YLABEL || 'GFlops'/*, | |
tickFormat: function(val){ return d3.format('.0f')(val) + ' GFlops'; }*/ | |
}); | |
chart.tooltip.headerFormatter(function(d) { return changesets[d] | |
+ ' <p style="font-weight:normal;text-align: left;">' | |
+ changesets_details[d] + "</p>"; }); | |
//chart.useInteractiveGuideline(true); | |
d3.select('#chart').datum(data).call(chart); | |
var plot = d3.select('#chart > g'); | |
/* setup the title */ | |
plot.append('text') | |
.style('font-size', '24px') | |
.attr('text-anchor', 'middle').attr('x', '50%').attr('y', '20px') | |
.text(customSettings.TITLE || ''); | |
/* ensure the chart is responsive */ | |
nv.utils.windowResize(chart.update); | |
</script> | |
</body> | |
</html> |