index.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Sunburst with Text</title>
<script type="text/javascript" src="//d3js.org/d3.v2.js"></script>
<script type="text/javascript" src="d3.layout.js"></script>
<style type="text/css">
svg {
font: 10px sans-serif;
}
</style>
</head>
<body>
<div id="chart"></div>
<script type="text/javascript">
var w = window.innerWidth - 1,
h = window.innerHeight - 1,
r = Math.min(w, h) / 2,
color = d3.scale.category20c();
var vis = d3.select("#chart").append("svg:svg")
.attr("width", w)
.attr("height", h)
.append("svg:g")
.attr("transform", "translate(" + w / 2 + "," + h / 2 + ")");
var partition = d3.layout.partition()
.sort(null)
.size([2 * Math.PI, r * r])
.children(function(d) { return isNaN(d.value) ? d3.entries(d.value) : null; })
.value(function(d) { return d.value; });
var arc = d3.svg.arc()
.startAngle(function(d) { return d.x; })
.endAngle(function(d) { return d.x + d.dx; })
.innerRadius(function(d) { return Math.sqrt(d.y); })
.outerRadius(function(d) { return Math.sqrt(d.y + d.dy); });
d3.json("readme.json", function(json) {
var g = vis.data(d3.entries(json)).selectAll("g")
.data(partition)
.enter().append("svg:g")
.attr("display", function(d) { return d.depth ? null : "none"; });
g.append("svg:path")
.attr("d", arc)
.attr("stroke", "#fff")
.attr("fill", function(d) { return color((d.children ? d : d.parent).data.key); })
.attr("fill-rule", "evenodd");
g.append("svg:text")
.attr("transform", function(d) { return "rotate(" + (d.x + d.dx / 2 - Math.PI / 2) / Math.PI * 180 + ")"; })
.attr("x", function(d) { return Math.sqrt(d.y); })
.attr("dx", "6")
.attr("dy", ".35em")
.text(function(d) { return d.data.key; });
});
</script>
</body>
</html>
readme.json
{
"name": "51%2030",
"children": [
{
"name": "Accesible",
"children": [
{
"name": "Estacionar bicicletas es caro",
"size": 1,
"colour": "#f9f0ab"
},
{
"name": "Falta acceso a Bicicletas",
"size": 3,
"colour": "#f9f0ab"
},
{
"name": "Falta acceso a Bicicletas Públicas",
"size": 4,
"colour": "#f9f0ab"
},
{
"name": "Impuestos favorables a la movilidad motorizada",
"size": 2,
"colour": "#f9f0ab"
},
{
"name": "Los insumos para Bicicletas no son accesibles",
"size": 1,
"colour": "#f9f0ab"
},
{
"name": "No poder usar la bicicleta en viajes",
"size": 1,
"colour": "#f9f0ab"
},
{
"name": "No puedo reparar mi Bicicleta fácilmente",
"size": 2,
"colour": "#f9f0ab"
}
]
},
{
"name": "Atractivo",
"children": [
{
"name": "Falta cultura para combinar bicicleta y estilo personal",
"size": 4,
"colour": "#f9f0ab"
},
{
"name": "Falta de infraestructura para bicicletas en el trabajo",
"size": 4,
"colour": "#f9f0ab"
},
{
"name": "Me resulta difícil andar en Bicicleta",
"size": 1,
"colour": "#f9f0ab"
},
{
"name": "No me resulta interesante la Bicicleta",
"size": 1,
"colour": "#f9f0ab"
}
]
},
{
"name": "Eficiente",
"children": [
{
"name": "Bloqueo de Ciclovías",
"size": 3,
"colour": "#f9f0ab"
},
{
"name": "Falta de integración de Bicicleta con otros Transportes",
"size": 13,
"colour": "#f9f0ab"
},
{
"name": "Falta de legislación específica sobre Bicicletas",
"size": 4,
"colour": "#f9f0ab"
},
{
"name": "Faltan Ciclovías",
"size": 2,
"colour": "#f9f0ab"
},
{
"name": "Faltan estacionamientos de Bicicletas",
"size": 15,
"colour": "#f9f0ab"
},
{
"name": "Las personas mayores tienen dificultades para moverse en bicicleta",
"size": 1,
"colour": "#f9f0ab"
},
{
"name": "Mal estado de las ciclovías",
"size": 2,
"colour": "#f9f0ab"
},
{
"name": "Mala integración de Bicicleta con otros Transportes",
"size": 6,
"colour": "#f9f0ab"
},
{
"name": "No se cumple la legislación específica sobre Bicicletas",
"size": 1,
"colour": "#f9f0ab"
}
]
},
{
"name": "Seguro",
"children": [
{
"name": "Bloqueo de Ciclovías",
"size": 3,
"colour": "#f9f0ab"
},
{
"name": "Falta de convivencia entre peatones y ciclistas",
"size": 2,
"colour": "#f9f0ab"
},
{
"name": "Falta de educación vial para ciclistas",
"size": 8,
"colour": "#f9f0ab"
},
{
"name": "Falta de señalización en las ciclovías",
"size": 1,
"colour": "#f9f0ab"
},
{
"name": "Faltan Ciclovías",
"size": 6,
"colour": "#f9f0ab"
},
{
"name": "Inseguridad en las Ciclovías",
"size": 2,
"colour": "#f9f0ab"
},
{
"name": "Sensación de inseguridad física",
"size": 8,
"colour": "#f9f0ab"
}
]
}
]
}