我有一个线性刻度:
var xRange.range([0, parentWidth]).domain([0, 100]);
现在在鼠标悬停时,我使用d3.mouse(container)
获取鼠标光标的xy坐标。然后我展示了一个漂浮的工具提示。我需要根据xRange标度来设置从鼠标位置计算的xy值。
我该怎么办?或者我是否必须使用交换范围和域值创建另一个比例?
答案 0 :(得分: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