Advertisement
Guest User

Untitled

a guest
Dec 25th, 2014
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. var width = 400,
  2. height = 400,
  3. endAngle = 2 * Math.PI,
  4. colors = d3.scale.category20();
  5.  
  6. var svg = d3.select("body").append("svg")
  7. .attr("class", "pie")
  8. .attr("height", height)
  9. .attr("width", width);
  10.  
  11. function render(innerRadius) {
  12.  
  13. var data = [
  14. {startAngle: 0, endAngle: 0.1 * endAngle},
  15. {startAngle: 0.1 * endAngle, endAngle: 0.2 * endAngle},
  16. {startAngle: 0.2 * endAngle, endAngle: 0.4 * endAngle},
  17. {startAngle: 0.4 * endAngle, endAngle: 0.6 * endAngle},
  18. {startAngle: 0.6 * endAngle, endAngle: 0.7 * endAngle},
  19. {startAngle: 0.7 * endAngle, endAngle: 0.9 * endAngle},
  20. {startAngle: 0.9 * endAngle, endAngle: endAngle}
  21. ];
  22.  
  23. var arc = d3.svg.arc().outerRadius(200).innerRadius(innerRadius);
  24.  
  25. svg.select("g").remove();
  26.  
  27. svg.append("g")
  28. .attr("transform", "translate(200,200)")
  29. .selectAll("path.arc")
  30. .data(data)
  31. .enter()
  32. .append("path")
  33. .attr("class", "arc")
  34. .attr("fill", function (d, i) {
  35. return colors(i);
  36. })
  37. .transition().duration(1000)
  38. .attrTween("d", function (d) {
  39. var start = {startAngle: 0, endAngle: 0};
  40. var interpolate = d3.interpolate(start, d);
  41. return function (t) {
  42. return arc(interpolate(t));
  43. };
  44. });
  45. }
  46.  
  47. render(100);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement