UNPKG

dc

Version:

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

58 lines (48 loc) 1.73 kB
<!DOCTYPE html> <html lang="en"> <head> <title>dc.js - Single Selection in a Bar Chart</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> <p>Frequently asked question: how to enable single-select on an ordinal chart?</p> <div id="test"> <div> <a class="reset" style="visibility: hidden" href="javascript:chart.filterAll();dc.redrawAll();">reset</a> </div> </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 chart = dc.barChart("#test"); d3.csv("morley.csv").then(function(experiments) { experiments.forEach(function(x) { x.Speed = +x.Speed; }); var ndx = crossfilter(experiments), runDimension = ndx.dimension(function(d) {return +d.Run;}), speedSumGroup = runDimension.group().reduceSum(function(d) {return d.Speed * d.Run / 1000;}); chart .width(768) .height(480) .x(d3.scaleBand()) .xUnits(dc.units.ordinal) .brushOn(true) .yAxisLabel("This is the Y Axis!") .dimension(runDimension) .group(speedSumGroup) .controlsUseVisibility(true) .addFilterHandler(function(filters, filter) {return [filter];}); // this chart.render(); }); </script> </div> </body> </html>