Legend Items with Value % per series

by duarteleao

HTML

<link rel="stylesheet" href="http://www.webdetails.pt/ctools/charts/lib/tipsy.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.19/require.min.js"></script>
<script src="//webdetails.github.io/ccc/charts/lib/amd/require.config.js"></script>
<script src="//webdetails.github.io/ccc/charts/lib/q01-01.js"></script>
<div id="cccExample" />

JavaScript

require([
  "ccc/pvc", 
  "ccc/def", 
  "ccc/protovis"
], function(pvc, def, pv) {

    new pvc.BarChart({
        canvas: "cccExample",
        width:  500,
        height: 400,
        title:     "Legend Items with Value % per series",
        animate:    false,
        selectable: true,
        hoverable:  true,
        stacked:    true,
        legendPosition: 'right',
        legend: {
            scenes: {
                item: {
                    labelText: function() {
                        var pct = this.group.dimensions('value')
                             .percentOverParent();
                             
                        return this.value().label +
                          " (" + (100 * pct).toFixed(1) + "%)";
                    }
                }
            }
        }
    })
    .setData(crosstab_02)
    .render();
});