This is interesting to me. Look at the following D3 code:
var scale = d3.scale.linear() .domain([100, 500]) .range([10, 350]); scale(100); //Returns 10
Yes, there is, and it's aptly named invert.
invert
console.log(scale.invert(10)); //Returns 100 console.log(scale.invert(180)); //Returns 300 console.log(scale.invert(350)); //Returns 500