UNPKG

dc

Version:

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

93 lines (76 loc) 2.34 kB
<!DOCTYPE html> <html lang="en"> <head> <title>dc.js - Sunburst Chart 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"/> <link type="text/css" rel="stylesheet" href="../css/dc-floatleft.css"/> <style> .pie-slice path { stroke:#fff; } .dc-chart .selected path { stroke-width: 1; stroke:#fff; } </style> </head> <body> <div class="container"> <script type="text/javascript" src="header.js"></script> <div id="test"></div> <div id="test2"></div> <div id="test3"></div> <script type="text/javascript" src="../js/promise-polyfill.js"></script> <script type="text/javascript" src="../js/fetch.umd.js"></script> <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 chart3 = dc.rowChart("#test3"); var chart2 = dc.rowChart("#test2"); var chart = dc.sunburstChart("#test"); d3.csv("morley.csv").then(function(experiments) { var ndx = crossfilter(experiments), runDimension = ndx.dimension(function (d) { return [d.Expt, d.Run]; }); var speedSumGroup = runDimension.group().reduceSum(function (d) { return d.Speed; }); var runOnlyDimension = ndx.dimension(function (d) { return d.Run; }); var runOnlySpeedGroup = runOnlyDimension.group().reduceSum(function (d) { return d.Speed; }); var exptOnlyDimension = ndx.dimension(function (d) { return d.Expt; }); var exptOnlySpeedGroup = exptOnlyDimension.group().reduceSum(function (d) { return d.Speed; }); chart3 .width(200) .height(200) .dimension(exptOnlyDimension) .group(exptOnlySpeedGroup); chart2 .width(200) .height(200) .dimension(runOnlyDimension) .group(runOnlySpeedGroup); chart .width(768) .height(480) .innerRadius(100) .dimension(runDimension) .group(speedSumGroup) .legend(dc.legend()); dc.renderAll(); }); </script> </div> </body> </html>