Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript d3.js voronoi事件。当光标正好位于点上方时,鼠标指针似乎消失_Javascript_D3.js_Mouseevent_Mouseover_Voronoi - Fatal编程技术网

Javascript d3.js voronoi事件。当光标正好位于点上方时,鼠标指针似乎消失

Javascript d3.js voronoi事件。当光标正好位于点上方时,鼠标指针似乎消失,javascript,d3.js,mouseevent,mouseover,voronoi,Javascript,D3.js,Mouseevent,Mouseover,Voronoi,请问我做错了什么?当鼠标进入相关的voronoi单元时,我想增加点的大小,但是当鼠标恰好位于该点上方时,点会返回到其原始大小;我已经尝试了mouseover和mousemove事件,但没有任何运气。在代码片段中,您可以放大,您将能够看到我刚才描述的内容。 非常感谢 图表 .网格线{ 行程:#ddd; } var数据=[]; for(设i=0;i{ //当鼠标离开图表时隐藏突出显示圆 突出显示(空); }); 渲染图(数据); 函数renderPlot(数据){ 更新销售(数据、规模); sv

请问我做错了什么?当鼠标进入相关的voronoi单元时,我想增加点的大小,但是当鼠标恰好位于该点上方时,点会返回到其原始大小;我已经尝试了
mouseover
mousemove
事件,但没有任何运气。在代码片段中,您可以放大,您将能够看到我刚才描述的内容。 非常感谢


图表
.网格线{
行程:#ddd;
}
var数据=[];
for(设i=0;i<200;i++){
数据推送({
x:Math.random(),
y:Math.random(),
多纳姆:我,
})
}
renderChart(数据)
函数renderChart(数据){
var totalWidth=920,
总高度=480;
var保证金={
前10名,
左:50,,
底数:30,
右:0
}
变量宽度=总宽度-margin.left-margin.right,
高度=总高度-margin.top-margin.bottom;
//绘制点的内部图表尺寸
//变量宽度=宽度-边距.left-边距.right;
//变量高度=高度-margin.top-margin.bottom;
var tsn=d3.transition().duration(200);
//散点图中点的半径
var pointRadius=2;
变量范围={
x:d3.extent(数据,函数(d){返回d.x}),
y:d3.extent(数据,函数(d){返回d.y}),
};
风险等级={
x:d3.scaleLinear().range([0,宽度]),
y:d3.scaleLinear().range([height,0]),和,
};
变量轴={
x:d3.axisBottom(scale.x).滴答声(xTicks).滴答声(0),
y:d3.axisLeft(scale.y).滴答声(yTicks).滴答声(0),
};
变量网格线={
x:d3.axisBottom(scale.x).tickFormat(“”).tickSize(height),
y:d3.axisLeft(scale.y).tickFormat(“”).tickSize(-width),
}
var colorScale=d3.scaleLinear().domain([0,1]).range(['#06a','#06a']);
//选择要添加图表的根容器
var container=d3。选择(“#散点图”);
var zoom=d3.zoom()
.scaleExtent([1,20])
。打开(“缩放”,缩放);
变量工具提示=d3。选择(“主体”)。追加(“div”)
.attr(“id”、“工具提示”)
.样式(“不透明度”,0);
//初始化主SVG
var svg=container.select('svg')
.attr(“宽度”,宽度+边距。左侧+边距。右侧)
.attr(“高度”,高度+边距。顶部+边距。底部)
.呼叫(缩放)
.附加(“g”)
.attr(“转换”、“平移”(+margin.left+)、“+margin.top+”);
//剪辑路径
svg.append(“clipPath”)
.attr(“id”、“剪辑”)
.append(“rect”)
.attr(“宽度”,宽度)
.attr(“高度”,高度);
//热图点
var dotsGroup=svg.append(“g”)
.attr(“剪辑路径”、“url(#剪辑)”)
.附加(“g”);
//创建X轴
var renderXAxis=svg.append(“g”)
.attr(“类”、“x轴”)
//创建Y轴
var renderYAxis=svg.append(“g”)
.attr(“类”、“y轴”)
//设置轴生成函数
var xTicks=数学圆(宽度/50);
变量yTicks=数学圆(高度/50);
功能更新销售(数据、规模){
scale.x.domain([extent.x[0],extent.x[1]]).nice(),
scale.y.domain([extent.y[0],extent.y[1]]).nice()
}
函数缩放(){
d3.event.transform.x=d3.event.transform.x;
d3.event.transform.y=d3.event.transform.y;
//更新:重新缩放x轴
调用(axis.x.scale(d3.event.transform.rescaleX(scale.x));
调用(axis.y.scale(d3.event.transform.rescaleX(scale.y));
attr(“transform”,d3.event.transform);
}
//在所有内容的顶部添加覆盖以获取鼠标事件
dotsGroup.append('rect')
.attr('class','overlay')
.attr('width',width)
.attr('height',height)
.style('填充','红色')
.style('opacity',0)
.on('mouseover',mouseMoveHandler)
.on('mouseleave',()=>{
//当鼠标离开图表时隐藏突出显示圆
突出显示(空);
});
渲染图(数据);
函数renderPlot(数据){
更新销售(数据、规模);
svg.select(“.y.axis”)
.attr(“变换”、“平移”(+-pointRadius+“0)”)
.呼叫(y轴);
var h=高度+点半径;
svg.select(“.x.axis”)
.attr(“转换”、“平移(0、+h+)”)
.调用(axis.x);
svg.append(“g”)
.attr(“类”、“网格”)
.call(gridlines.x);
svg.append(“g”)
.attr(“类”、“网格”)
.call(gridlines.y);
//做图表
var update=dotsGroup.selectAll(“圆圈”).data(数据)
更新
.输入()
.append('圆')
.attr('r',点半径)
.attr('cx',d=>scale.x(d.x))
.attr('cy',d=>scale.y(d.y))
.attr('fill',d=>colorScale(d.y))
};
//创建voronoi图
var voronoiDiagram=d3.voronoi()
.x(d=>scale.x(d.x))
.y(d=>scale.y(d.y))
.尺寸([宽度、高度])(数据);
//添加一个圆圈以指示高亮显示的点
dotsGroup.append('circle')
.attr('class','highlight circle')
.attr('r',pointRadius*2)//如果高亮显示,则增加大小
.style('填充','红色')
.style(“显示”、“无”);
//回调以突出显示某个点
功能突出显示(d){
//无需高亮显示的点-隐藏圆和工具提示
如果(!d){
d3.选择('.突出显示圆圈')。样式('显示','无');
//工具提示。样式(