У меня есть ассортимент данных, и я использовал его для создания кольцевой диаграммы. Я хочу составить диаграмму ap ie, используя разбивку данных, которые я получил с помощью d3.nest для разделения данных, которые у меня были (в настоящее время они делятся на 3 категории: гнездо разбивает их на 129). В основном, у меня есть данные Olympi c, основанные на награжденных медалях, и я хочу разделить данные о взаимодействии, в какие виды спорта они были заработаны.
Я просто не уверен, как использовать вложенные данные для создания ap ie диаграмма, особенно если ключи переменные. Я включу мою реализацию для кольцевой диаграммы.
var pie = d3.pie();
// color based on medal awarded
// order: gold, silver, bronze
var color = d3.scaleOrdinal()
.range(['#e5ce0c', '#e5e4e0', '#a4610a']);
var arcs = d3.select(svg).selectAll("g.arc")
.data(pie(data))
.enter()
.append("g")
.attr("class", "arc")
.attr("transform", "translate(" + (w/2) + "," + ((h-25)/2) + ")");
arcs.append("path")
.attr("fill", function(d, i) {
return color(i);
})
.attr("d", arc)
.attr("stroke", "white")
.style("stroke-width", "0.5px")
.on('mouseover', function(d) {
d3.select(this).attr('opacity', .7);
})
.on('mouseleave', function(d) {
d3.select(this).attr('opacity', 1);
});
// title
d3.select(svg).append('text')
.attr('x', function(d) {
return ((w/2) - 85);
})
.attr('y', '20')
.text(function(d) {
return ('Medal breakdown for ' + country);
})
.attr('font-size', '16px');
arcs.append("text")
.attr("transform", function(d) {
return "translate(" + arc.centroid(d) + ")";
})
.attr("text-anchor", "middle")
.text(function(d) {
return d.value;
});