UNPKG

dc

Version:

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

84 lines (71 loc) 2.34 kB
<!DOCTYPE html> <html lang="en"> <head> <title>dc.js - Sunburst File Listing</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="file_chart"></div> <div id="type_chart"></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 fileChart = dc.sunburstChart("#file_chart"); var typeChart = dc.pieChart("#type_chart"); d3.tsv("cat.tsv").then(function (cats) { var ndx = crossfilter(cats); var picturesDimension = ndx.dimension(function (d) { return d.file.split('/'); }); var picturesGroup = picturesDimension.group().reduceSum(function (d) { return d.size; }); var typeDimension = ndx.dimension(function (d) { return d.type; }); var typeGroup = typeDimension.group().reduceSum(function (d) { return d.size; }); // d3.schemeCategory20b has been removed from D3v5 var d3SchemeCategory20b = [ '#393b79','#5254a3','#6b6ecf','#9c9ede','#637939', '#8ca252','#b5cf6b','#cedb9c','#8c6d31','#bd9e39', '#e7ba52','#e7cb94','#843c39','#ad494a','#d6616b', '#e7969c','#7b4173','#a55194','#ce6dbd','#de9ed6' ]; fileChart .width(700) .height(640) .dimension(picturesDimension) .group(picturesGroup) .colors(d3.scaleOrdinal(d3SchemeCategory20b)) .legend(dc.legend()); typeChart .width(200) .height(200) .innerRadius(50) .dimension(typeDimension) .group(typeGroup); dc.renderAll(); }); </script> </div> </body> </html>