如何在综合图表中正确调整voronoi的大小
How to properly resize voronoi in a reponsive chart
我有一个用d3制作的响应折线图,但在调整用于悬停状态的voronoi的大小时遇到了问题。我怀疑我指它的方式不对。。。
我在这里添加了voronoi:
var voronoiGroup = svg.append("g")
.attr("class", "voronoi");
voronoiGroup.selectAll("line")
.data(voronoi(d3.nest()
.key(function(d) { return xScale(d.date) + "," + yScale(d.value); })
.rollup(function(v) { return v[0]; })
.entries(d3.merge(ranksFiltered.map(function(d) { return d.values;})))
.map(function(d) { return d.values; })))
.enter()
.append("path")
.attr("id", "cells")
.attr("d", function(d) { return "M" + d.join("L") + "Z"; })
.datum(function(d) { return d.point; });
在我的调整大小功能中,我尝试重新绘制它:
svg.select("#cells path")
.attr("d", function(d) { return "M" + d.join("L") + "Z"; })
.datum(function(d) { return d.point; });;
如果有人想尝试一下,这里有一个砰的一声:
http://plnkr.co/edit/Jj4QpF1bqK901WalNMmR
谢谢你抽出时间!
d3
为数不多的几次之一,我建议您删除voronoi组下的路径并重新添加它们:
voronoi.clipExtent([[0, -10], [width+10, height]]);
voronoiGroup.selectAll("path").remove();
voronoiGroup.selectAll("cells")
.data(voronoi(vd))
.enter()
.append("path")
.attr("class", "cells")
.attr("d", function(d) { return "M" + d.join("L") + "Z"; })
.datum(function(d) { return d.point; })
.attr("stroke", "red")
.on("mouseover", mouseover)
.on("mouseout", mouseout);
更新了plunker。
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- ExtJS——在展开/折叠时调整面板高度
- Chrome应用程序调整窗口大小保持纵横比
- 如何自动调整标签的高度以适应内容
- 导航栏没有调整到浏览器屏幕的大小
- 调整屏幕大小后不显示子菜单
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- 合并两个数组,重新调整循环js
- Morris.js折线图x轴标签在调整大小后消失
- 调整缩放窗口高度提升缩放
- 调整屏幕大小时更改属性值
- 如何针对Android股票/本地浏览器来调整CSS
- 如何调整信息窗口的大小并点击按钮?+更改信息窗口的内容
- Adobe Air SDK在页面加载时调整窗口大小
- 更改屏幕上对象的宽度调整大小
- 客户端图像调整大小.任何已知问题
- 窗口大小调整事件在ie7中持续触发
- 在javascript中调整图像大小
- 如何在综合图表中正确调整voronoi的大小