dvd3js:improving_our_pie_layout
improving our pie layout
var width = 400;
var height = 400;
var radius = 200;
var colors = d3.scale.category20c();
var piedata = [
{ label: 'Maurice', value: 5 },
{ label: 'Mireille', value: 20 },
{ label: 'Bob', value: 10 },
{ label: 'Ginette', value: 12 },
{ label: 'Fernande', value: 8 },
];
var pie = d3.layout.pie()
.value(function (d) {
return d.value;
});
var arc = d3.svg.arc()
.outerRadius(radius);
var myChart = d3.select('#chart').append('svg')
.attr('width', width)
.attr('height', height)
.append('g')
.attr('transform', 'translate(' + (width - radius) + ', ' + (height - radius) + ')')
.selectAll('path').data(pie(piedata))
.enter().append('g')
.attr('class', 'slice');
var slices = d3.selectAll('g.slice')
.append('path')
.attr('fill', function (d, i) {
return colors(i);
})
.attr('d', arc);
var text = d3.selectAll('g.slice')
.append('text')
.text(function (d) {
return d.data.label;
})
.attr('text-anchor', 'middle')
.attr('fill', 'white')
.attr('transform', function (d) {
d.innerRadius = 0;
d.outerRadius = radius;
return 'translate(' + arc.centroid(d) + ')';
});
dvd3js/improving_our_pie_layout.txt · Last modified: 2016/04/14 20:24 by leo