UNPKG

dc

Version:

A multi-dimensional charting library built to work natively with crossfilter and rendered using d3.js

65 lines (55 loc) 1.97 kB
<!DOCTYPE html> <html lang="en"> <head> <title>dc.js - Scatter Plot Example</title> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="../css/dc.css"/> </head> <body> <div class="container"> <script type="text/javascript" src="header.js"></script> <div id="test"></div> <script type="text/javascript" src="../js/d3.js"></script> <script type="text/javascript" src="../js/crossfilter.js"></script> <script type="text/javascript" src="../js/dc.js"></script> <script type="text/javascript"> var chart = dc.compositeChart("#test"); d3.csv("morley.csv", function(error, experiments) { experiments.forEach(function(x) { x.Speed = +x.Speed; }); var ndx = crossfilter(experiments), scatterDimension = ndx.dimension(function(d) { return [+d.Run, d.Speed * d.Run / 1000]; }), scatterGroup = scatterDimension.group(), lineDimension = ndx.dimension(function(d) { return +d.Run; }), lineGroup = lineDimension.group().reduceSum(function (d) { return d.Speed * d.Run / 4000; }); chart .width(768) .height(480) .x(d3.scale.linear().domain([6,20])) .yAxisLabel("This is the Y Axis!") .clipPadding(10) .dimension(scatterDimension) .brushOn(false) .legend(dc.legend().x(70).y(10).itemHeight(13).gap(5)) .compose([ dc.scatterPlot(chart) .group(scatterGroup, "Blue Group") .colors("blue"), dc.scatterPlot(chart) .group(scatterGroup, "Red Group") .colors("red") .valueAccessor(function (d) { return d.key[1] + 5; }), dc.lineChart(chart) .dimension(lineDimension) .group(lineGroup, "Line Group") ]); chart.render(); }); </script> </div> </body> </html>