var margin = {top:20, right:20, bottom:20, left:20},
width = 500 - margin.right - margin.left,
height = 500 - margin.top - margin.bottom,
raio = width/2;
var color = d3.scaleOrdinal()
.range(["#BBDEFB", "#90CAF9", "#64B5F6", "#42A5F5", "#2196F3", "#1E88E5", "#1976D2"]);
var sex = [];
var item_sex = {
f : 0,
m : 0,
};
var age_group = [];
var item_age_group = {
age_group5_14 : 0,
age_group15_24 : 0,
age_group25_34 : 0,
age_group35_54 : 0,
age_group55_74 : 0,
age_group75 : 0,
};
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");
//arcos
var arco = d3.arc()
.outerRadius(raio - 10)
.innerRadius(0);
var labelArc = d3.arc()
.outerRadius(raio - 40)
.innerRadius(raio - 40);
var pie = d3.pie()
.sort(null)
.value(function(d) {
return d.item_age_group;
});
d3.csv("master.csv", function(error, data) {
if (error) throw error;
data.forEach(function(d){
sex = d.sex;
age_group = d.age;
//contabilixar genero
if (sex === 'male')
item_sex.m += 1;
if (sex === 'female')
item_sex.f += 1;
//contabilizar faixa etária
if (age_group === '5-14 years')
item_age_group.age_group5_14 +=1;
if (age_group === '15-24 years')
item_age_group.age_group15_24 +=1;
if (age_group === '25-34 years')
item_age_group.age_group25_34 +=1;
if (age_group === '35-54 years')
item_age_group.age_group35_54 +=1;
if (age_group === '55-74 years')
item_age_group.age_group55_74 +=1;
if (age_group === '75+ years')
item_age_group.age_group75 +=1;
});
console.log(item_sex);
console.log(item_age_group);
var g = svg.selectAll(".arc")
.data(pie(data))
.enter().append("g")
.attr("class", "arco");
g.append("path")
.attr("d", arco)
.style("fill", d.item_age_group)
// transition
.transition()
.ease(d3.easeLinear)
.duration(2000)
.attrTween("d", tweenPie);
});
function tweenPie(b) {
b.innerRadius = 0;
var i = d3.interpolate({startAngle: 0, endAngle: 0}, b);
return function(t) { return arco(i(t)); };
}
body {
margin: 0;
font-family: Arial, Helvetica, sans-serif;
}
.topnav {
overflow: hidden;
background-color: #333;
}
.topnav a {
float: left;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
.topnav a:hover {
background-color: #ddd;
color: black;
}
.topnav a.active {
background-color: rgb(134, 44, 59);
color: white;
}
h1 {
font-family: serif;
font-variant: small-caps;
font-weight: bold;
font-size: 52px;
color: rgb(37, 5, 15);
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
</style>
</head>
<body>
<div class="topnav">
<a class="active" href="index.html">Home</a>
<a href="mapa.html">World Mapa</a>
<a href="evolucaoAno.html">Evolucion</a>
<a href="pieChart.html">Sex and Age group</a>
</div>
<body><br><br>
<h1 style="text-align: center">Sex and Age group</h1>
<script src="//d3js.org/d3.v4.min.js" charset="utf-8"></script>
<script>
</script>
</body>
</html>