SO Question Test along circle 3

by Aaron Calderon

JavaScript

var diameter = 500,
    format = d3.format(",d"),
    dataSource = 2;
var pack = d3.layout.pack()
    .size([diameter - 3, diameter - 3])
    .padding(2)
    .sort(function(a, b) {
        return -(a.value - b.value);
    })
    .value(function(d) { return d.size; });
var svg = d3.select("body").append("svg")
    .attr("width", diameter + 300)
    .attr("height", diameter);

var parties = [
                { name: "Conservative", color:"#6495ed" },
                { name: "New Democratic", color:"#f4a460" },
                { name: "Liberal", color:"#F08080" },
                { name: "Bloc Québécois", color:"#87CEFA" },
                { name: "Green", color:"#2F873E" }
              ];

var provincies = [
                { name: "British Columbia", acronym: "BC" },
                { name: "Alberta", acronym: "AL" },
                { name: "Saskatchewan", acronym: "SK" },
                { name: "Manitoba", acronym: "MB" },
                { name: "Ontario", acronym: "ON" },
                { name: "Quebec", acronym: "BC" },
                { name: "New Brunswick", acronym: "NB" },
                { name: "Nova Scotia", acronym: "NS" },
                { name: "Prince Edward Island", acronym: "PE" },
                { name: "Newfoundland and Labrador", acronym: "NL" },
                { name: "Yucon", acronym: "YT" },
                { name: "Northwest Territories", acronym: "NT" },
                { name: "Nunavut", acronym: "NU" }
              ];

var buttonData = ["Original", "Constant", "Random"];
var buttonDiv = d3.select("body").append("svg")
    .attr("width", diameter)
    .attr("height", 50);
var buttons = buttonDiv.selectAll(".updateButton")
	.data(buttonData)
   .enter()
	.append('g')
	.attr("class", "updateButton")
	.on("click", function(d, i) {
		dataSource = i;
		updateVis();		
	});
buttons.append("rect")
	.attr("x", function(d, i) { return (i * 100) + 100; })
    .attr("width", 98)
    .attr("height", 25)
    .attr("ry", 5)
    .style("stroke",...