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>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/673b5fb847d90d300c6afc2bbf82117d.html