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;
});