版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章典型的可视化工具的使用方法提纲11.1D3可视化库的使用方法11.2使用ECharts图表制作11.1D3可视化库的使用方法11.1.1D3可视化库的安装11.1.2基本操作11.1.1D3可视化库的安装D3是一个JavaScript函数库,这里所说的“安装”,并非通常意义上的安装,而只需要在HTML中引用一个D3.js文件即可。可以有两种方法引用D3.js文件:方法1:访问D3.js官网(/),下载D3.js文件,解压后,在HTML文件中包含相关的js文件即可。方法2:直接包含网络的链接,即在HTML文件中写入如下代码:<scriptsrc="/d3.v5.min.js"charset="utf-8"></script>方法1是把D3.js文件下载到本地使用,所以,在使用过程中不需要连接网络。而方法2则需要在使用过程中能够连接到互联网。11.1.2基本操作1.添加元素比如,选择body标签,为之添加一个p标签,并设置它的内容为“Newparagraph!”,则可以使用如下JavaScript语句:d3.select("body").append("p").text("Newparagraph!");需要把这行JavaScript语句放入HTML代码中,文件名为example1.html,如下所示:11.1.2基本操作<html><head><metacharset="utf-8"><title>D3测试</title><scripttype="text/javascript"src="/d3.v5.min.js"></script></head><body><scripttype="text/javascript">d3.select("body").append("p").text("Newparagraph!");</script></body></html>11.1.2基本操作2.数据绑定D3可以处理哪些类型的数据?它可以接受几乎任何数字数组、字符串或对象(本身包含其他数组或键/值对),还可以处理JSON和GeoJSON。下面给出一段实例代码,文件名称为example2.html:<!DOCTYPEhtml><html><head><title>testD3-1.html</title><scripttype="text/javascript"src="/d3.v5.min.js"></script></head><body>ThisismyHTMLpage.<br></body><scripttype="text/javascript">
vardataset=[5,10,15,20,25];d3.select("body").selectAll("p").data(dataset).enter().append("p").text("Newparagraph!");</script></html>11.1.2基本操作上面这段代码解释如下:d3.select("body"):查找DOM中的body。selectAll("p"):选择DOM中的所有段落。data(dataset):计数和分析数据值。本实例中,dataset中有五个值,每个值都会执行一次。enter():绑定数据和DOM元素。这个方法将数据传递到DOM中。如果数据值比相应的DOM元素多,就用enter()创建一个新元素的占位符。append("p"):通过enter()创建的占位符,在DOM中插入一个p元素。text("Newparagraph!"):为新创建的p标签插入一个文本值。11.1.2基本操作11.1.2基本操作3.用层画条形图(1)为同类层添加样式div.bar{display:inline-block;width:20px;height:75px;/*We'lloverridethislater*/background-color:teal;}(2)声明要为某类层设置属性.attr("class","bar")11.1.2基本操作(3)为每个特定的层设置属性.style("height",function(d){
var
barHeight=d*5;//Scaleupbyfactorof5returnbarHeight+"px";});(4)设置层之间的间隔margin-right:2px;11.1.2基本操作(5)完整的源代码<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>testD3-3-drawingDivBar</title><scripttype="text/javascript"src="/d3.v5.min.js"></script><styletype="text/css">div.bar{display:inline-block;width:20px;height:75px;/*GetsoverridenbyD3-assignedheightbelow*/margin-right:2px;background-color:teal;}</style></head><body><scripttype="text/javascript">
vardataset=[5,10,15,20,25];d3.select("body").selectAll("div").data(dataset).enter().append("div").attr("class","bar").style("height",function(d){
var
barHeight=d*5;returnbarHeight+"px";});</script></body></html>11.1.2基本操作4.绘制SVG图形(1)简单形状SVG标签包含一些视觉元素,包括矩形、圆形、椭圆形、线条、文字和路径等。绘制SVG图形采用了基于像素的坐标系统,其中,浏览器的左上角是原点(0,0),x和y的正方向分别是右和下。(a)矩形使用x和y的指定左上角的坐标,width和height指定尺寸。绘制SVG矩形的代码如下:<rectx="0"y="0"width="500"height="50"/>(b)圆使用cx和cy指定半径的中心的坐标,使用ŗ表示半径。例如:<circlecx="250"cy="25"r="25"/>11.1.2基本操作(c)椭圆使用cx和cy指定半径的中心的坐标,rx和ry分别指定x方向和y方向上圆的半径,例如:<ellipsecx="250"cy="25"rx="100"ry="25"/>(d)线使用x1和Y1到指定线的一端的坐标,x2和y2指定另一端的坐标。stroke指定描边,使得线是可见的。例如:<linex1="0"y1="0"x2="500"y2="50"stroke="black"/>(e)文本使用x和y指定文本的位置。例如:<textx="250"y="25">Easy-peasy</text>可以给文本设置样式。例如:<textx="250"y="155"font-family="sans-serif"font-size="25"fill="gray">Easy-peasy</text>11.1.2基本操作(2)绘图样例下面是一段绘制SVG图形的HTML源代码<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>testD3-6-SVG.html</title><scripttype="text/javascript"src="/d3.v5.min.js"></script><styletype="text/css">.pumpkin{fill:yellow;stroke:orange;stroke-width:5;}</style></head><body><scripttype="text/javascript"></script><svgwidth=500height=960><rectx="0"y="0"width="500"height="50"/><ellipsecx="250"cy="225"rx="100"ry="25"/><linex1="0"y1="120"x2="500"y2="50"stroke="black"/><textx="250"y="155"font-family="sans-serif"font-size="25"fill="gray">Easy-peasy</text>11.1.2基本操作<circlecx="25"cy="80"r="20"fill="rgba(128,0,128,0.75)"stroke="rgba(0,255,0,0.25)"stroke-width="100"/><circlecx="75"cy="80"r="20"fill="rgba(0,255,0,0.75)"stroke="rgba(0,0,255,0.25)"stroke-width="10"/><circlecx="125"cy="80"r="20"fill="rgba(255,255,0,0.75)"stroke="rgba(255,0,0,0.25)"stroke-width="10"/><rectx="0"y="300"width="30"height="30"fill="purple"/><rectx="20"y="305"width="30"height="30"fill="blue"/><rectx="40"y="310"width="30"height="30"fill="green"/><rectx="60"y="315"width="30"height="30"fill="yellow"/><rectx="80"y="320"width="30"height="30"fill="red"/><circlecx="25"cy="425"r="22"class="pumpkin"/>11.1.2基本操作<circlecx="25"cy="525"r="20"fill="rgba(128,0,128,1.0)"/><circlecx="50"cy="525"r="20"fill="rgba(0,0,255,0.75)"/><circlecx="75"cy="525"r="20"fill="rgba(0,255,0,0.5)"/><circlecx="100"cy="525"r="20"fill="rgba(255,255,0,0.25)"/><circlecx="125"cy="525"r="20"fill="rgba(255,0,0,0.1)"/><circlecx="25"cy="625"r="20"fill="purple"stroke="green"stroke-width="10"opacity="0.9"/><circlecx="65"cy="625"r="20"fill="green"stroke="blue"stroke-width="10"opacity="0.5"/><circlecx="105"cy="625"r="20"fill="yellow"stroke="red"stroke-width="10"opacity="0.1"/></svg></body></html>11.1.2基本操作11.1.2基本操作5.散点图下面是给出绘制散点图的一段HTML代码样例<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>testD3-9-drawScatterLot.html</title><scripttype="text/javascript"src="/d3.v5.min.js"></script><styletype="text/css"></style></head><body><scripttype="text/javascript">//Widthandheightvarw=600;varh=100;vardataset=[[5,20],[480,90],[250,50],[100,33],[330,95],[410,12],[475,44],[25,67],[85,21],[220,88]];11.1.2基本操作//CreateSVGelementvarsvg=d3.select("body").append("svg").attr("width",w).attr("height",h);svg.selectAll("circle").data(dataset).enter().append("circle").attr("cx",function(d){returnd[0];}).attr("cy",function(d){returnd[1];}).attr("r",function(d){returnMath.sqrt(h-d[1]);});11.1.2基本操作svg.selectAll("text").data(dataset).enter().append("text").text(function(d){returnd[0]+","+d[1];}).attr("x",function(d){returnd[0];}).attr("y",function(d){returnd[1];}).attr("font-family","sans-serif").attr("font-size","11px").attr("fill","red");</script></body></html>11.1.2基本操作11.2使用ECharts图表制作11.2.1ECharts简介11.2.2ECharts图表制作方法11.2.1ECharts简介ECharts是由百度公司前端数据可视化团队研发的图表库,可以流畅地运行在PC和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11、Chrome、Firefox、Safari等),底层依赖轻量级的、Canvas类库ZRender,可以提供直观、生动、可交互、可高度个性化定制的数据可视化图表。ECharts提供了非常丰富的图表类型,包括常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap,用于多维数据可视化的平行坐标,以及用于BI的漏斗图、仪表盘,并且支持图与图之间的混搭,能够满足用户绝大部分分析数据时的图表制作需求。11.2.2ECharts图表制作方法1.下载ECharts可以在Windows或Linux系统中打开浏览器进行可视化图表制作,但是,建议在Windows系统下操作,使用起来会更加顺畅。访问ECharts官网(),从官网下载界面选择需要的版本下载,根据开发者的不同需求,官网提供了不同的下载文件。需要注意的是,网站下载的ECharts文件名称不是echarts.js,一般需要手动把文件名称修改为echarts.js,因为在HTML中引入时的名称是echarts.js。11.2.2ECharts图表制作方法2.HTML引入ECharts因为ECharts底层是JavaScript,所以可以像JavaScript一样,直接嵌入到HTML中,如下所示:<!DOCTYPEhtml><html><header><metacharset="utf-8"><!--引入
ECharts
文件--><scriptsrc="echarts.js"></script></header></html>11.2.2ECharts图表制作方法3.绘制一个简单的图表<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>ECharts</title><!--引入echarts.js--><scriptsrc="echarts.js"></script></head><body><!--为ECharts准备一个具备大小(宽高)的Dom--><divid="main"style="width:600px;height:400px;"></div><scripttype="text/javascript">//基于准备好的dom,初始化echarts实例varmyChart=echarts.init(document.getElementById('main'));//指定图表的配置项和数据varoption={title:{text:'ECharts入门示例'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑设计师的职业生涯规划及发展策略
- 2026山东农业大学养分资源高效利用理论与技术创新团队博士后招聘备考题库及答案详解一套
- 2026湖北宜昌市“招才兴业”教育系统事业单位校园专项招聘7人备考题库(三峡大学站)附答案详解(精练)
- 陕西法士特汽车传动集团校招试题及答案
- 2026四川遂宁市就业服务管理局面向社会招聘1名编外人员备考题库带答案详解(新)
- 2026四川遂宁射洪平安街道招聘1人备考题库学生专用附答案详解
- 2026新疆八一钢铁集团有限公司冶金铸造吊行车工社会化招聘16人备考题库含答案详解(培优b卷)
- 2026北京市丰台区东铁匠营街道蒲黄榆社区卫生服务中心 护士岗位招聘备考题库附参考答案详解【夺分金卷】
- 2026广东省广晟控股集团有限公司总部管理人员岗位选聘4人备考题库及答案详解【网校专用】
- 2026浙江宁波报业传媒集团有限公司招聘编辑1人备考题库附参考答案详解【满分必刷】
- 2025年低空经济「电力巡检」无人机应用场景与市场前景报告
- 《反窃电现场证据提取与固定技术规范》
- GB/T 191-2025包装储运图形符号标志
- 《城市原水智能调度系统技术规程》
- 2025年食品安全员考试试题库+答案
- 工程力学期末考试b试题及答案
- 2025年人民银行招聘面试心理测试与应对策略
- 南宁市防洪工程软土地基处理:方法、实践与优化策略
- 水土保持工程核查评估项目服务方案投标文件(技术方案)
- 检验科室内质控培训课件
- 处方书写及管理办法
评论
0/150
提交评论