小编use*_*706的帖子

d3缩放和平移升级到版本4

帮助将被赞赏更新下面的代码在版本4中工作.我已将zoom.behaviour更改为d3.zoom但我不清楚所需的其他更改.它看起来比v3复杂!

<!DOCTYPE html>
<html>
  <head>
   <!-- <script type="text/javascript" src="http://d3js.org/d3.v3.js"></script>-->

   <script data-require="d3@4.0.0" data-semver="4.0.0" src="https://d3js.org/d3.v4.min.js"></script>

    <style type="text/css">
      body, html {
        width: 100%;
        height: 100%;
        margin: 0;
      }
      svg {
        position: absolute;
        top: 0;
        left: 0;
      }
      p {
        text-align: center;
      }
    </style>
  </head>
  <body>
    <p>Use the mouse to pan (click and move) / zoom (scrollwheel)</p>
  </body>
  <script type="text/javascript">
      var svg = d3.select("body")
        .append("svg")
        .attr("width", "100%")
        .attr("height", "100%")
        .call(d3.zoom().on("zoom", function () {
            svg.attr("transform", "translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale …
Run Code Online (Sandbox Code Playgroud)

d3.js

18
推荐指数
3
解决办法
1万
查看次数

拖动原点的d3版本4解决方法

在v3中,我使用拖动原点来防止由于鼠标位置/元素坐标偏移引起的明显跳跃.在v4中是否有替代原因功能已被删除?

var drag1 = d3.behavior.drag()
            .origin(function () {
                var t = d3.select(this);
                return {
                    x: t.attr("x") + d3.transform(t.attr("transform")).translate[0],
                    y: t.attr("y") + d3.transform(t.attr("transform")).translate[1]
                };
            })
            .on("drag", function (d, i) {
                d3.select(this).attr("transform", function (d, i) {
                    return "translate(" + [d3.event.x, d3.event.y] + ")"
                })
            });

    var drag2 = d3.behavior.drag()
            .origin(function () {
                var t = d3.select(this);
                return { x: t.attr("x"), y: t.attr("y") };
            })
            .on("drag", function (d, i) {
                d3.select(this)
                .attr("x", d3.event.x)
                .attr("y", d3.event.y);
            });
Run Code Online (Sandbox Code Playgroud)

d3.js

4
推荐指数
1
解决办法
4535
查看次数

标签 统计

d3.js ×2