- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对可视化库D3.js的应用研究
摘 要
D3(Data-Driven Documents)是最流行的可视化库之一,是一个用动态图形显示数据的JavaScript库,一个数据可视化的工具。通过D3.js实现数据的可视化,可以分为下面几个步骤。首先是将数据加载到浏览器的内存空间中,然后把加载的数据绑定到文档中的元素,并根据需要创建新的元素,接着解析每个元素的范围资料并为其设置相应的可视化属性,实现元素的变换,最后响应用户输入实现元素状态的过渡,以图形的形式将数据可视化的结果展示在浏览器上。
【关键词】D3 数据可视化 DOM
1 D3.js的基本特性
D3是缩写,它的全称是Data-Driven Documents(数据驱动文档),是基于数据的文档操作JavaScript库。D3能够把数据和HTML、SVG、CSS结合起来,创造出可交互的数据图表。其中,数据来源自作者,文档代表基于Web的文档(或网页),也就是可以在浏览器中展现的一切,比如,HTML、SVG等,而D3相当于是扮演了一个驱动程序的角色,将数据和文档联系起来。
D3.js采用的是链式语法,非常方便于对库中函数方法的引用。
例如:d3.select(body).append(p).text(New); //为p元素添加文字内容
数据的可视化可以让数据分析的结果更加直观,便于发觉隐含内容D3结合功能强大的可视化组件和数据驱动的方法对DOM进行操作,可以将任意数据绑定到文档对象模型(DOM)。 支持的数据格式有常见的:txt、html、json、html、xml、csv等。
D3 不隐藏你的原始数据。D3 代码在客户端执行(也就是在用户浏览器,而不是 Web 服务器中执行),因此你想要可视化的数据必须发送到客户端。可视化的目的就是为了更好地表现数据。
D3不是一个整体框架,旨在提供每一个可以想象的特征。相反,D3解决问题的关键在于:基于数据文件的有效操作。这避免了专有的表示提供了非凡的灵活性,使Web标准如CSS3的全部功能,HTML5和SVG。以最小的开销、非常快的速度,支持大型数据集和互动的动态可视化行为。
2 D3可视化特性在电力数据可视化中的应用
2.1 电力机组数据的可视化研究
通过D3.js实现数据的可视化,可以分为下面几个步骤。
首先是将数据加载到浏览器的内存空间中,在本文研究的应用实例中就是把时间和频率两组数据电力机组的数据库中接收并加载到浏览器的内存空间中。
例如d3.json(http://localhost:8888/selectInterval?qs=+start+js=+end+bm=+table+
xvalue=+time+yvalue=+value,function(json) {});
然后把加载的数据绑定到文档中的元素,并根据需要创建新的元素,具体到本文实例中也就是将时间和频率两组数据绑定到最终网页显示中的可视化图表结果中,也就是分别映射到可视化图表的X轴和Y轴,整个网页中的元素可以分为两类,一类是可视化图表中的元素,主要包括X、Y轴及其值域、坐标轴区域网格化显示和可视化图表中折线的属性(线宽、颜色等),这些元素都是为了使最终显示的结果更清晰明了;另一类是参数部分,主要包括画布宽度、高度(以像素为单位),用来控制数据可视化显示区域的大小,也包括起始时间、终止时间、表名、画布数据量、X轴字段、Y轴字段等,用来决定从哪里加载数据、加载哪些数据以及可视化区域中一次显示数据的多少,还包括Y轴上限和Y轴下限等,用来控制Y轴的值域区间,更有助于使数据的可视化展示能更好的反映出数据变化的情况。
2.2 应用结果分析
图1所示是基于D3.js对一电力机组在某一时间区间内的frequency(频率值)实现数据可视化后的结果截图,其中横轴是时间,纵轴是相应的频率值。在实例中通过D3实现对数据的可视化,清晰的展现出数据的分布情况,可以方便观察数据,快捷的辨别出某一时间区间内电力机组的工作频率是否在正常工作的频率范围内。
3 基于D3的数据可视化
本文通过对电力机组工作数据的可视化研究,比较深入的了解了D3.js的特性、不足和工作机制。根据应用实例研究结果,可以知道D3是一个很好的数据可视化工具,它支持多种数据格式,例如txt、html、json、html、xml、csv等,同时结合功能强大的可视化组件和数据驱动的方法进行操作,以最小的开销、非常快的速度,实现数据可视化的目标。
参考文献
[1]Scott Murray著,李松峰译.数据可视化实战[M].北京:人民邮电出版社,2013(06).
[2]周爱民著.Ja
原创力文档


文档评论(0)