Advertisement
Guest User

Untitled

a guest
Sep 1st, 2015
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.79 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <h1>Vizualizacija</h1>
  6. </head>
  7.  
  8. <style>
  9. text {
  10. font: 12px sans-serif;}
  11. body {
  12. background-color: #BDFFFB;}
  13. </style>
  14.  
  15. <body>
  16.  
  17. <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script>
  18.  
  19. <script>
  20. var diameter = 1000,
  21. format = d3.format(",d"),
  22. color = d3.scale.category20();
  23.  
  24. var bubble = d3.layout.pack()
  25. .sort(null)
  26. .size([diameter, diameter])
  27. .padding(1.5);
  28.  
  29. var tip = d3.tip()
  30. .attr('class', 'd3-tip')
  31. .offset([-10, 0])
  32. .html(function(d) {
  33. return "<strong>Frequency:</strong> <span style='color:red'>" + d.frequency + "</span>";})
  34.  
  35. var svg = d3.select("body").append("svg")
  36. .attr("width", diameter)
  37. .attr("height", diameter)
  38. .attr("class", "bubble");
  39.  
  40. d3.json("flare.json", function(error, root) {
  41. if (error) throw error;
  42.  
  43. var node = svg.selectAll(".node")
  44. .data(bubble.nodes(classes(root))
  45. .filter(function(d) { return !d.children; }))
  46. .enter().append("g")
  47. .attr("class", "node")
  48. .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; });
  49.  
  50. node.append("title")
  51. .text(function(d) { return d.className + ": " + format(d.value); });
  52.  
  53. node.append("circle")
  54. .attr("r", function(d) { return d.r; })
  55. .style("fill", function(d) { return color(d.packageName); });
  56.  
  57. node.append("text")
  58. .attr("dy", ".3em")
  59. .style("text-anchor", "middle")
  60. .text(function(d) { return d.className.substring(0, d.r / 3); });
  61. });
  62.  
  63. // Returns a flattened hierarchy containing all leaf nodes under the root.
  64. function classes(root) {
  65. var classes = [];
  66.  
  67. function recurse(name, node) {
  68. if (node.children) node.children.forEach(function(child) { recurse(node.name, child); });
  69. else classes.push({packageName: name, className: node.name, value: node.size});
  70. }
  71.  
  72. recurse(null, root)
  73. return {children: classes};
  74. }
  75.  
  76. d3.select(self.frameElement).style("height", diameter + "px");
  77.  
  78. </script>
  79. </body>
  80. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement