Интерполировать число с суффиксом единицы на D3 - PullRequest
0 голосов
/ 25 января 2019

В настоящее время я использую 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))));
    };
}
...