Javascript 用于缩放带的D3自定义反转函数

Javascript 用于缩放带的D3自定义反转函数,javascript,d3.js,Javascript,D3.js,我一直在试图通过在图形上绘制一个图层,并根据鼠标位置跟踪工具提示来制作持久的工具提示。不幸的是,我在第xScaleFunc.invert(d3.mouse(this)[0])行上一直遇到一个错误。然后我遇到了这个用于缩放带缩放的自定义反转代码。从这里开始: 问题是我不明白这里发生了什么。我是D3的新手,任何帮助都将不胜感激 xScaleFunc.invert = (function(){ var domain = xScaleFunc.domain() var range = x

我一直在试图通过在图形上绘制一个图层,并根据鼠标位置跟踪工具提示来制作持久的工具提示。不幸的是,我在第xScaleFunc.invert(d3.mouse(this)[0])行上一直遇到一个错误。然后我遇到了这个用于缩放带缩放的自定义反转代码。从这里开始:

问题是我不明白这里发生了什么。我是D3的新手,任何帮助都将不胜感激

xScaleFunc.invert = (function(){
    var domain = xScaleFunc.domain()
    var range = xScaleFunc.range()
    var scale = d3.scaleQuantize().domain(range).range(domain)

    return function(x){
        return scale(x)
    }
})()

仅供参考,整个函数可以是
xScale.invert=function(x){return d3.scaleQuantize().domain(this.range()).range(this.domain())(x);}
,删除currying和iLife。关于你的问题,我不确定一行一行的解释会不会是现在的主题。不管怎样,你知道量化标尺是如何工作的吗?@GerardoFurtado嘿,谢谢你的优化,我正在尽可能多地学习,这样任何来源都会有所帮助。不,我不知道,我想我必须看一下文档。@rioV8谢谢,我会查出来的。@Emmanual如果你仍然不明白,我可以自由地问一个正确的答案。