D3 V4 设置初始缩放级别
D3 V4 setting initial zoom level
我刚刚开始使用 D3 V4,在平移和缩放功能工作时遇到了问题。问题是我希望初始比例值大于 1,所以我使用
zoom.scaleTo(svg, 2);
但是,一旦我平移或缩放,比例就会重置回 1。
下面是 JSFiddle 上此行为的示例,我做错了什么?
JSFiddle
问题是:
var svg = d3.select("body").append("svg")
.attr("width", 600)
.attr("height", 600)
.call(zoom)
.append("g");
您正在将组元素而不是 svg 元素分配给变量 svg
。
zoom
已正确应用于 svg 元素,但是当您调用 zoom.scaleTo(svg, 2)
时,您正在缩放组元素,而不是 svg 元素。
可以通过首先创建 svg 元素并将其分配给 svg
变量,然后才创建和分配组元素来解决此问题。
var svg = d3.select("body").append("svg")
.attr("width", 600)
.attr("height", 600)
.call(zoom);
var mainContainer = svg.append("g");
下面是固定的 JSFiddle:https://jsfiddle.net/skgktrcu/2/
相关文章:
- 更改高贴图的缩放级别
- 在不阻止默认行为的情况下检测IE10中的缩放
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 缩放Raphael/SVG容器以适应所有内容
- 传单缩放控制位置错误
- 在不移动内部文本的情况下缩放元素的效果
- 调整缩放窗口高度提升缩放
- 计算CSS3缩放框在另一个框中的最高位置
- D3.JS向rect添加缩放和列表项
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- 将直流图表库中的折线图缩放限制为小时
- 为什么缩放按钮不会显示在照片擦除中
- 动态设置谷歌地图缩放
- 如何缩放像图像一样的元素
- 使用KineticJS变换(移动/缩放/旋转)形状
- 在手机上缩小/缩放滚动图像
- 将时间缩放添加到折线图(Chart.js)
- D3 v4 -添加过渡只是缩放,而不是平移/拖动
- 在现有SVG上应用缩放事件(d3.js v4)
- D3 V4 设置初始缩放级别