D3.js节点映射中的缩放功能
D3.js zoom functionality in node-map
目前,我正在根据这个 D3 .js示例 http://bl.ocks.org/mbostock/2706022 在地图上使用节点。
现在我想使用缩放功能,但是当我将此功能添加为以下代码时,它只能在 Firefox 中工作。在所有其他浏览器中,它不起作用。我还删除了拖动方法。
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height)
.call(d3.behavior.zoom().scaleExtent([1, 8])
.on("zoom", zoom));
(...)
var node = svg.selectAll(".node")
.data(force.nodes())
.enter().append("g")
.attr("class", "node")
.on("mouseover", mouseover)
.on("mouseout", mouseout);
所以问题是是否可以同时使用tick
和zoom
函数。所以我可以在节点中导航。
您需要
添加一个"g",用于应用转换和缩放转换
只需在.on("zoom", zoom))
后添加.append('g')
(我已经相应地修改了您的小提琴)
另一个建议:缩放和平移在没有.transition()
的情况下效果最好
我根据以下内容更改了您的缩放功能: http://bl.ocks.org/mbostock/3680999还要添加一个 g:
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height)
.call(d3.behavior.zoom().scaleExtent([1, 8])
.on("zoom", zoom))
.append('g') # Append g;
http://jsfiddle.net/gvatrgw0/3/
相关文章:
- 创建缩放功能当我们点击签署整个页面获得缩放,当我们点击-签署它获得缩小
- 在iOS上使用iScroll.js时启用缩放功能
- 更改iphone/ipad保存缩放功能的字体大小
- 在D3中设置缩放功能后,如何删除缩放功能
- iScroll 4 – 恢复默认/本机缩放功能
- D3Js 树布局自动缩放功能
- 将缩放功能添加到 jquery 宝丽来图库
- D3.js节点映射中的缩放功能
- 移动版Magento中的缩放功能问题
- 如何通过下拉菜单中的选择启动Sunburst中的缩放功能
- 在Highcharts中区分缩放功能和编程settextrees调用
- Jqplot缩放功能不工作
- D3添加缩放功能到D3 .xml加载元素
- 如何更改d3日冕图的缩放功能?
- 灯箱不工作,只有缩放功能工作
- 在微软平板电脑/触摸屏显示器上使用mozilla firefox禁用默认的缩放功能
- NVD3图例显示/隐藏图表获取比例/缩放功能禁用
- 我如何实现缩放功能,就像浏览器的CTRL +
- D3.JS时间序列折线图,具有实时数据、平移和缩放功能
- 将SVG组件置于d3js中的缩放功能之后