Javascript d3工具提示删除我的轴(并且不起作用)
我正在尝试将工具提示添加到我的D3图形中: 但是添加这些mouseevents会弄乱所有内容的渲染方式,我不知道为什么。这是一个有轴的线图Javascript d3工具提示删除我的轴(并且不起作用),javascript,tooltip,d3.js,mouseover,jsfiddle,Javascript,Tooltip,D3.js,Mouseover,Jsfiddle,我正在尝试将工具提示添加到我的D3图形中: 但是添加这些mouseevents会弄乱所有内容的渲染方式,我不知道为什么。这是一个有轴的线图 dots.enter() .append("circle") .attr("class", "dot") .attr("cx", open_line.x()) .attr("cy", open_line.y()) .attr("r",3.5) .on("mouseover", myMouseOverFunct
dots.enter()
.append("circle")
.attr("class", "dot")
.attr("cx", open_line.x())
.attr("cy", open_line.y())
.attr("r",3.5)
.on("mouseover", myMouseOverFunction)
.on("mouseout", myMouseOutFunction);
在第144行注释掉.on
两个方法可以使一切呈现出我所期望的样子
对此有什么见解吗
工具提示基于此提琴
您缺少
myMouseOverFunction
简单地定义函数将正确地呈现图形(使用轴),允许您正确地定义鼠标悬停功能
var myMouseOverFunction = function() {}
您可以看到对JSFIDLE的更新响应:
这可以以不同的方式实现,但一个快速的改变是删除CSS中的.FILL定义,而是在创建点本身时填充该值。几个问题:
鼠标:
mouse(container)函数给出了鼠标相对于容器(节点)的位置。您指定了d3.mouse(this)
,但这是指圆圈节点,而您希望指svg容器:d3.select(“svg”).node()
信息箱:
infobox div没有在任何地方定义,因此没有显示任何内容
查看更新的小提琴:是的,你是对的!不知道我怎么没看到。下一个谜团是它不起作用。看看我上面的编辑。。它包含一个指向一个新的JSFIDLE的链接,该JSFIDLE应该可以按预期工作。很好地指出,在我的生产服务器中,我仍然无法显示工具提示。是否
var circle=d3.选择(此项)也需要选择其他内容,而不是此