2016-04-09 4 views
0

Я попытался создать набор диаграмм кругов d3, которые рисуют при возврате запроса json.D3 arcTween - Обновление переходов для нескольких круговых диаграмм

Я могу получить ярлыки и фоновые дорожки для работы, но я не могу получить дорожки переднего плана для рисования. Я только сталкиваюсь с этой проблемой, когда пытаюсь создать несколько круговых диаграмм.

Пример моего текущего прогресса представлена ​​здесь:
http://jsbin.com/wubohidefo/edit?html,js,output

Любая помощь вы можете предоставить, чтобы получить передний план пути работы или объяснить, что является причиной этого было бы весьма признателен.

ответ

1

При возврате arc(d)arcTween в:

function arcTween(transition, newAngle) { 
    transition.attrTween("name", function(d) { 

     var interpolate = d3.interpolate(d.endAngle, newAngle); 
     return function(t) { 
      d.endAngle = interpolate(t); 
      text.text(((d.endAngle/τ)*10).toFixed(1)); 
      return arc(d); 
     }; 
    }); 
} 

Вы должны быть вместо этого установка foreground.attr("d", arc):

function arcTween(transition, newAngle) { 
    transition.attrTween("name", function(d) { 

     var interpolate = d3.interpolate(d.endAngle, newAngle); 
     return function(t) { 
      d.endAngle = interpolate(t);     
      text.text(((d.endAngle/τ)*10).toFixed(1)); 
      foreground.attr("d", arc); 
     }; 
    }); 
} 
+1

Спасибо MrHen! – RMC

+0

MrHen (надеюсь, вы все еще можете это получить), когда данные фильтруются и функция снова вызвана, чтобы обновить диаграммы, как я могу заставить ее рисовать из своей последней позиции вместо рисования с 0? Например, если диаграмма равна 30, то новое значение равно 70, как вы можете перемещать передний план от 30 до 70, а не от 0 до 70? – RMC

+0

обновленный пример: http://jsbin.com/gatodekala/edit?html,js,output – RMC

Смежные вопросы