博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【 D3.js 进阶系列 — 6.1 】 缩放的应用(Zoom)
阅读量:5047 次
发布时间:2019-06-12

本文共 999 字,大约阅读时间需要 3 分钟。

缩放(Zoom)是另一种重要的可视化操作,主要是使用鼠标的滚轮进行。

1. zoom 的定义

缩放是由 d3.behavior.zoom() 定义的。

var zoom = d3.behavior.zoom()					.scaleExtent([1, 10])					.on("zoom", zoomed);		function zoomed() {			circles_group.attr("transform", 				"translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");		}

第 2 行:scaleExtent 用于设置最小和最大的缩放比例

第 3 行:当 zoom 事件发生时,调用 zoomed 函数

第 5 - 8 行:zoomed 函数,用于更改需要缩放的元素的属性,d3.event.translate 是平移的坐标值,d3.event.scale 是缩放的值。

2. 绘制圆

与【】一样,绘制两个圆用于测试。只是将圆 circle 元素添加到一个组 g 里,g 元素调用 call(zoom),zoom 为刚才定义的缩放行为。

var circles_group = svg.append("g")								.call(zoom);				circles_group.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");

3. 结果

结果如下,在圆上滑动鼠标滚轮试试:

源代码单击以下链接后查看:

谢谢阅读。

文档信息

  • 版权声明:署名(BY)-非商业性(NC)-禁止演绎(ND)
  • 发表日期:2014 年 12 月 28 日
  • 更多内容: 和
  • 备注:本文发表于 ,转载请注明出处,谢谢

转载于:https://www.cnblogs.com/new0801/p/6176798.html

你可能感兴趣的文章
OGRE 源码编译方法
查看>>
上周热点回顾(10.20-10.26)
查看>>
C#正则表达式引发的CPU跑高问题以及解决方法
查看>>
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了...
查看>>
APScheduler调度器
查看>>
设计模式——原型模式
查看>>
如何一个pdf文件拆分为若干个pdf文件
查看>>
web.xml中listener、 filter、servlet 加载顺序及其详解
查看>>
前端chrome浏览器调试总结
查看>>
获取手机验证码修改
查看>>
数据库连接
查看>>
python中数据的变量和字符串的常用使用方法
查看>>
等价类划分进阶篇
查看>>
delphi.指针.PChar
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
java 字符串转json,json转对象等等...
查看>>
极客前端部分题目收集【索引】
查看>>
第四天 selenium的安装及使用
查看>>
关于js的设计模式(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)...
查看>>
KMPnext数组循环节理解 HDU1358
查看>>