数据可视化基础实验9:完成可交互和带动画的图表_第1页
数据可视化基础实验9:完成可交互和带动画的图表_第2页
数据可视化基础实验9:完成可交互和带动画的图表_第3页
数据可视化基础实验9:完成可交互和带动画的图表_第4页
数据可视化基础实验9:完成可交互和带动画的图表_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1实验概述动画和交互是数据可视化产品和用户进一步沟通的有效方式。本实验针对病毒感染数据,完成基于地图的带交互和动画的可视化图表实验目的完成本实验后,应该能够使用D3做出带过渡动画的报表关于过渡动画的相关设置绘制WannaCrypt病毒感染分布图制作根据时间变化的感染分布图实验背景为了更好的进行前端代码编程,我们推荐使用Hbuilder的编辑器,可以到其官网dcloud.io上下载其最新版本。在其“边改边看模式”进行代码修改,可以直接看到显示效果。在服务器上下载本实验的代码模板,插件和数据,加入到Hbuilder的项目目录中,完成实验环境准备,就可以开始实验了。实验步骤进入实验环境:1、使用编辑器打开MyDemo\Test-09\0901-transition.html2、编写一个简单的柱状图vardataset=[20,45,26,38,44,60];varw=20,offset=10;d3.select("#myChart").selectAll("rect").data(dataset).enter().append("rect")2.attr("class","bar").attr("width",w).attr("x",function(d,i){returni*(w+offset)}).attr("height",function(d){returnd*23、修改代码,在设置width代码下面一行编写.attr("height",0)//高度初始为零.transition()//设置过渡4、运行代码后效果如下,图为gif请单独打开此图片进入实验环境:1、使用编辑器打开MyDemo\Test-09\0902-transition-duration.html2、设置过渡时长.transition()//设置过渡.duration(1000)//设置过渡所需的时长.attr("x",function(d,i){returni*(w+offset)}).attr("height",function(d){returnd*2运行代码后效果如下,图为gif33、设置延迟时间,使用编辑器打开MyDemo\Test-09\0903-transition-delay.html编写如下代码.delay(function(d,i){//设置延迟时间returni/dataset.length*400;.attr("x",function(d,i){returni*(w+offset)}).attr("height",function(d){returnd*26、运行代码后效果如下,图为gif请单独打开此图片设置过渡动画类型,使用编辑器打开MyDemo\Test-09\0904-transition-ease.html.ease(d3.easeQuadIn)//过渡动画类型//d3.easeLinear.attr("x",function(d,i){returni*(w+offset)}).attr("height",function(d){returnd*2监听过渡事件,使用编辑器打开MyDemo\Test-09\0905-transition-event.html.on("start",function(d,i){//开始d3.select(this).attr("fill","red")4if(i===2){//模拟中断效果d3.select(this).transition().ease(d3.easePolyIn);}.on("end",function(d){//结束d3.select(this).attr("fill","blue").on("interrupt",function(d){//中断d3.select(this).attr("fill","#00992c")6、运行代码后效果如下,图为gif请单独打开此图片数据背景:2017年5月WannaCrypt病毒席卷全球,我们爬取了一段时间内被感染的用户的地理位置信息数据,通过地图进行展示,以发现其中的规律和特点。1、使用编辑器打开MyDemo\Test-09\0906-Map-Leaflet-WannaCrypt.html2、加载设置地图varcp=[33.56,108.98];zoomControl:falsemap.setView(cp,2);L.tileLayer('http://{s}./{z}/{x}/{y}.png',{attribution:'©<ahref="/copyright">OpenStreetMap</a>contributors'}).addTo(map);//leafletmapend5L.control.zoom({zoomInTitle:'放大',zoomOutTitle:'缩小',position:p在地图中添加Svgmap.svg=L.svg();map.addLayer(map.svg);//添加svg并会自动在svg中添加g标签,varsvg=d3.select(map.getPanes().overlayPane).select("svg").attr("class","zt-svg");根据数据绘制circle元素一下代码在注释#2处编写svg.selectAll("circle").data(data).enter().append("circle").attr("cx",function(d){returngetMapPosition(d.latlng).x.attr("cy",function(d){returngetMapPosition(d.latlng).y.attr("opacity",map.getZoom()/5).attr("r","3");监听地图缩放和拖拽事件更新圆点位置svg.style("display","none")updateView();updateView();fun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论