nvd3 piechart
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.7/d3.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.5/nv.d3.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.5/nv.d3.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<div>
<svg id="svg1"></svg>
</div>
<div id="container">
<!-- svg2 here -->
</div>
JavaScript
var data = [{"key":"Group1","members":[{"username":"user1"},{"username":"user2"},{"username":"user3"},{"username":"user4"}],"y":4},{"key":"Group0","members":[{"username":"user5"}],"y":1},{"key":"Group2","members":[{"username":"user6"}],"y":1}];
var width = 200;
var height = 200;
d3.select('#container').append('svg').attr('id', 'svg2');
nv.addGraph(function() {
var chart = nv.models.pieChart()
.x(function(d) {
return d.key
})
.y(function(d) {
return d.y
})
.width(width)
.height(height)
.showTooltipPercent(false);
d3.select("#svg2")
.datum(data)
.transition().duration(1200)
.attr('width', width)
.attr('height', height)
.call(chart);
return chart;
});