Я пытался отсортировать данные по годам. Поэтому я установил srollmagi c, чтобы показать другой фильтр. Впрочем, со второго года он работал нормально.
Как только я установил фильтр, эффект анимации пропал и выдает сообщение об ошибке, в котором говорится, что данные пути неверны.
Cna Кто-нибудь мне помочь в этом?
Часть фильтрации d3, как показано ниже.
function repeat(){
uarea
// .style('fill','rgba(1, 60, 230, 0.3)')
.attr('d', areas( sdata.filter( function(d){return d.Year==7} ) ) )
.attr('fill','rgba(10,10,10,0.2)')
.transition()
.duration(900)
.attrTween('d',function(){
var interpolator=d3.interpolateArray(sdata,sdata1);
return function(t){
return areas(interpolator(t))
}
})
// .transition()
// .duration(500)
// .attrTween('d',function(){
// var interpolator=d3.interpolateArray(sdata1,sdata2);
// return function(t){
// return areas(interpolator(t))
// }
// })
.transition()
.duration(900)
.attrTween('d',function(){
var interpolator=d3.interpolateArray(sdata1,sdata);
return function(t){
return areas(interpolator(t))
}
})
.on('end',repeat)
}
document.getElementsByTagName('body')[0].style.overflow='auto'
setTimeout(fifthstage,500)
}
Фильтрация, которую я пытался добавить, эта часть ниже.
.attrTween('d',function(){
var interpolator=d3.interpolateArray(sdata.filter( function(d){return d.Year==7} ),
sdata1.filter( function(d){return d.Year==7} ));
return function(t){
return areas(interpolator(t))
}
})
Однажды Я добавляю
.filter( function(d){return d.Year==7} ) to each tween,
анимация исчезла.
Полный код находится по следующей ссылке.
https://codepen.io/jotnajoa/pen/yLYpyXK
Заранее спасибо.