D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
micahstubbs
Full window
Github gist
packed circles - color scale domain example
<html> <head> <title>D3 in Action Chapter 5 - Packed Circles Example</title> <meta charset="utf-8" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" type="text/JavaScript"></script> </head> <style> svg { height: 500px; width: 500px; border: 1px solid gray; } </style> <body> <div id="viz"> <svg> </svg> </div> <div id="controls" /> </body> <footer> <script> d3.json("tweets.json", function(error,data){ dataViz(data.tweets) }); function dataViz(incData){ nestedTweets = d3.nest() .key(function(el) { return el.user }) .entries(incData); packableTweets = { id: "root", values: nestedTweets } // var depthScale = d3.scale.category10([0,1,2]) // not necessary to set the domain explicity var depthScale = d3.scale.category10(); exposedData = incData; packChart = d3.layout.pack(); packChart.size([500,500]) .children(function(d){ return d.values }) .value(function(d){ return 1 }) d3.select("svg") .append("g") .attr("transform", "translate(0,0)") .selectAll("circle") .data(packChart(packableTweets)) .enter() .append("circle") .attr("r", function(d) { return d.r }) .attr("cx", function(d){ return d.x }) .attr("cy", function(d){ return d.y }) .style("fill", function(d){ return depthScale(d.depth) }) .style("stroke", "black") .style("stroke", "2px") // we can inspect the domain that is // built up by applying depthScale() to each // instance of the current object d console.log(depthScale.domain()) } </script> </footer> </html>
https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js