Here is a link to the CodePenD3.js Круговые диаграммы переходов
У меня есть круговая диаграмма, которая имеет свои данные, измененные при изменении настройки (сейчас мои данные просто случайно выбрал, но мой официальный документ правильно ли это). Моя проблема в том, что я не понимаю, как обновить круговую диаграмму, используя переход.
Это процесс создания круговой диаграммы:
function createPieChart()
{
var width = 320,
height = 320,
radius = Math.min(width, height)/2;
var color = d3.scale.ordinal()
.range(["#0083CB", "#006BA5", "#00527f"]);
var arc = d3.svg.arc()
.outerRadius(radius - 10)
.innerRadius(0);
var labelArc = d3.svg.arc()
.outerRadius(radius - 40)
.innerRadius(radius - 40);
var pie = d3.layout.pie()
.sort(null)
.value(function(d) { return d.population; });
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width/2 + "," + height/2 + ")");
data = updateData();
var g = svg.selectAll(".arc")
.data(pie(data))
.enter().append("g")
.attr("class", "arc");
g.append("path")
.attr("d", arc)
.style("fill", function(d) { return color(d.data.age); });
g.append("text")
.attr("transform", function(d) { return "translate(" + labelArc.centroid(d) + ")"; })
.attr("dy", ".35em")
.text(function(d) { return d.data.age; });
function type(d) {
d.population = +d.population;
return d;
}
}
Это моя функция для обновления круговой диаграммы. Я получаю сообщение об ошибке, которое появляется ReferenceError: s is not defined
выйти из Lib D3:
function updatePieChart()
{
svg.selectAll("path").data(pie(data)).transition().duration(500)
.attrTween("d", arcTween);
}
и функция arcTween:
function arcTween(a) {
var i = d3.interpolate(this._current, a);
this._current = i(0);
return function(t) { return arc(i(t)); };
}
Любая помощь будет большим. К сожалению, когда я ищу, я нахожу только графические диаграммы пончиков.
спасибо.
Ваша переменная 's' не существует в пределах объема' updateDegrees ('). Что такое '' '? – ksav