Функция инверсии шкалы
Я сталкиваюсь с проблемой при работе с библиотекой D3. У меня есть следующий код, который использует линейное масштабирование:
var scale = d3.scale.linear()
.domain([100, 500])
.range([10, 350]);
scale(100); // Возвращает 10
scale(300); // Возвращает 180
scale(500); // Возвращает 350
Теперь я ищу способ получить обратное значение этого масштаба. То есть, есть ли функция, которая выполняет инверсию шкалы? Например, я ожидаю, что такие вызовы будут возвращать следующие значения:
inverseScale(10); // Возвращает 100
inverseScale(180); // Возвращает 300
inverseScale(350); // Возвращает 500
Пожалуйста, подскажите, как можно реализовать такую обратную функцию для масштаба в D3.
1 ответ(ов)
Да, существует такая функция, и она называется invert
.
console.log(scale.invert(10)); // Возвращает 100
console.log(scale.invert(180)); // Возвращает 300
console.log(scale.invert(350)); // Возвращает 500
Эта функция позволяет преобразовать значение из диапазона значений шкалы обратно в исходные значения.
Код внутри колбэка d3.json() не выполняется
Где найти документацию по форматированию даты в JavaScript?
Как проверить, содержит ли массив строку в TypeScript?
Ссылка и выполнение внешнего JavaScript-файла, размещенного на GitHub
Как остановить Babel от трансформации 'this' в 'undefined' и добавления "use strict"