| /* 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> |