数据可视化D3教你如何画百度地铁线网

北京中科白癜风医院爱心捐助 http://nb.ifeng.com/a/20180426/6532940_0.shtml
城市轨道交通的迅猛发展随着城市里面汽车数量的增多以及城市道路没有得到有效的拓宽,城市内的交通一直是一个相对比较让城市人头疼的事情,另外城市废气问题的影响下,城市轨道交通的建设应运而生,为整个城市的交通带来了极大的便利。随着城市轨道交通的快速发展,推动了“半小时城市生活圈”和“一小时城市生活圈”的形成,给周边城市的经济和交通带来了快速的发展。但城市轨道交通的快速发展,同时将城市轨道交通网变得复杂,因而地铁线网图就成为了一个必须品,百度地铁线网图在这方面就给提供了很大的支持与便利。百度地铁线网图——北京局部百度地铁线网图就是我们之前所说的svg可视化实现的,今天我们通过D3.js描述下它的构建过程,首先通过分析线网图的内容,可以知道其中主要包括圆点、直线和曲线,我们就通过D3.js先实现这三个功能。

01地铁站点——圆点

svg中可以通过circle标签来描绘一个圆形元素,因此,采用添加circle的方式进行处理。站点展示但是仅仅通过circle是不能做出来百度地图的效果,其中还要设置很多的树形,比如id(用于唯一指定当前形状)、cx(x方向的位置)、cy(y方向的位置)、r(图形半径)、fill(图形内部颜色)、stroke(图形边框颜色)、stroke-width(图形边框粗细)等,这些属性就可以完全实现我们所需要的图形样式。

02地铁线路——直线/曲线

svg中同样提供一个非常重要的元素——path,path是用过每一个点进行构建一条指定的线段,通过多个点可以形成一条多个线段构成的路径/线。线路展示使用path标签时,其中有一个重要的属性“d”,这个属性就是path的详细信息,其中的组成时一个字符串,主要有M(移动到某个指定的点)、L(绘制直线到指定的点)、H(绘制水平直线到指定的点)、V(绘制竖直直线到指定的点)、C(绘制曲线)、S(绘制平滑曲线)、Q(绘制二次Bezier曲线)、T(绘制平滑二次Bezier曲线)、A(绘制椭圆曲线)、Z(绘制闭合曲线)等关键字符,这些字符就是指定路径的方式的,内容相对复杂,例如:“M,L,L,L,A50,50,0,0,0,,”因此,d3提供一套更加人性化的方式,具体如下:

03总结操作

通过将站点和线路进行合并处理,即生成了制作地铁线网图的第一步。地铁线网图第一步通过上述三个步骤,就能完成最基本的线网图数据可视化了,但这只是实现可视化的第一步,后续关于数据获取以及事件处理方面,使得数据可视化效果变得更加友好。欢迎大家继续


转载请注明:http://www.aierlanlan.com/cyrz/8899.html

  • 上一篇文章:
  •   
  • 下一篇文章: