0

Функция инверсии шкалы

11

Я сталкиваюсь с проблемой при работе с библиотекой 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 ответ(ов)

0

Да, существует такая функция, и она называется invert.

console.log(scale.invert(10));   // Возвращает 100
console.log(scale.invert(180));  // Возвращает 300
console.log(scale.invert(350));  // Возвращает 500

Эта функция позволяет преобразовать значение из диапазона значений шкалы обратно в исходные значения.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь