当前位置:首页 >> 网络编程

d3.js实现图形缩放平移

本文实例为大家分享了d3.js实现图形缩放平移的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>缩放操作</title>
</head>
<body>
<script src = "d3.js"></script>
<script>
  var width = 400,
      height = 400;
  var circles =[{cx:150,cy:200,r:30},
    {cx:250,cy:200,r:30}]
  var svg = d3.select("body").append("svg")
      .attr("width",width)
      .attr("height",height)
 
 
  //定义缩放函数
  var zoom = d3.behavior.zoom()
      .scaleExtent([1,10])//用于设置最小和最大的缩放比例
      .on("zoom",zoomed)
 
  //绘制
  var g = svg.append("g")
      .call(zoom)
  g.selectAll("circle")
      .data(circles)
      .enter()
      .append("circle")
      .attr("cx", function (d) {
        return d.cx
      })
      .attr("cy", function (d) {
        return d.cy
      })
      .attr("r", function (d) {
        return d.r
      })
      .attr("fill","black")
  function zoomed(){
    g.attr("transform","translate("+d3.event.translate+")scale("+d3.event.scale+")")
  } //d3.event.translate 是平移的坐标值,d3.event.scale 是缩放的值。
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。