将给定的范围值转换为D3中的域值

Ser*_*rov 1 javascript d3.js

我有一个线性比例:

var xRange.range([0, parentWidth]).domain([0, 100]);
Run Code Online (Sandbox Code Playgroud)

现在在鼠标悬停时,我使用鼠标光标获得xy coords d3.mouse(container).然后我展示了一个漂浮的工具提示.我需要根据xRange比例放置从鼠标位置计算的xy值.

我该怎么做?或者我是否必须使用交换范围和域值创建另一个比例?

Ole*_*leg 10

不需要另一个规模.对于线性(数字)输入,您可以使用linear.invert(),其中:

返回输入域x中输出范围y中相应值的值.这表示从范围到域的逆映射.

例:

var x = d3.scale.linear()
        .domain([0,50])
        .range([0,100]);

// domain to range:
x(25); // 50

// range to domain:
x.invert(50); // 25
Run Code Online (Sandbox Code Playgroud)