В настоящее время я использую D3 вместе с angularJS в проекте для разработки графиков.
На пончик-графе, над которым я работаю, у меня есть номер в центре, и я хочу анимировать это число с помощью функции interpolateNumber в d3, проблема в том, что мне нужны суффиксы единиц ( 99.9 k ) - максимальный пример.
Я немного приблизился к использованию свойства формата d3, но не получил нужного мне результата.
Сначала, если мой номер, например, 9 , он показывает 9.0 вместо 9 , а при вводе 99900 i получите 100k вместо 99,9k .
Достигнув максимума 99,9k Я просто хочу, чтобы он показал 99,9k +
Возможно ли что-то подобное? Это мой код:
controller.js:
var formatSuffix = d3.format(".2s");
function animation(centerCount) {
const selection = d3.select(this),
start = d3.select(this).text(),
end = centerCount,
interpolator = d3.interpolateNumber(start, end);
return function(t) {
selection.text(formatSuffix(Math.round(interpolator(t))));
};
}