pivot() demo

https://github.com/nicolaskruchten/pivottable

by Nicolas Kruchten

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pivottable/2.13.0/pivot.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/pivottable/2.13.0/pivot.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pivottable/2.6.0/tips_data.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
<div id="output"></div>

CSS

body {
  font-family: Verdana;
}

JavaScript

var utils = $.pivotUtilities;
var heatmap =  utils.renderers["Heatmap"];
var sumOverSum =  utils.aggregators["Sum over Sum"];

$("#output").pivot(
  utils.tipsData, {
    rows: ["sex", "smoker"],
    cols: ["day", "time"],
    aggregator: sumOverSum(["tip", "total_bill"]),
    renderer: heatmap,
    rendererOptions: {
      heatmap: {
        colorScaleGenerator: function(values) {
          return d3.scale.threshold()
            .domain([0.14, 0.2])
            .range([ "#ff0000","#ffff00", "#00ff00"]) 
        }
      }
    }
  });