实现数据可视化-使用D3绘制饼状图


饼状图(Pie Chart),通过将圆形划分为几个扇形,来描述数量或百分比的关系。扇形的大小和数量的多少成正比例,所有扇形正好组成一个完整的圆。

在绘制饼状图之前,首先,先来熟悉一下几个需要使用到的API

d3.layout.pie()

创建一个饼图布局。

pie(value[, index])

转换数据,转换后每一个对象中都包含有起始角度和终止角度。

pie.value([accessor])

设置或获取值访问器,即如何从接收的数据中提取初始值,如果省略参数,则返回当前的值访问器。

pie.sort([comparator])

设置或获取比较器,用于排序,例如d3.ascending 和 d3.descending,如果省略,则返回当前比较器。

pie.startAngle([angle])

设定或获取饼状图的起始角度,默认为0(弧度)

pie.endAngle([angle])

设定或获取饼状图的终止角度,默认为2π(弧度)

下面,我们来制作一个饼状图,要求如下:

用饼状图实现各大智能手机厂商在中国的出货量数据,将此数据进行可视化反映到饼状图上,其中,饼状图的每一段弧度上都标注出该厂商的出货量占总数的百分比,弧度标注出厂商名称。

1.初始化数据, 如下:

实现数据可视化-使用D3绘制饼状图

2.转换数据

实现数据可视化-使用D3绘制饼状图

3.绘制

3.1创建弧生成器

实现数据可视化-使用D3绘制饼状图

3.2添加对应数目的弧组,即元素

实现数据可视化-使用D3绘制饼状图

3.3添加弧的路径元素

实现数据可视化-使用D3绘制饼状图

3.4添加弧内的文字元素

实现数据可视化-使用D3绘制饼状图

3.5添加链接弧外文字的直线元素

实现数据可视化-使用D3绘制饼状图

3.6添加弧外的文字元素

实现数据可视化-使用D3绘制饼状图

4.实现效果如下:

实现数据可视化-使用D3绘制饼状图

以上,我们就是用D3绘制了一个饼状图,后续再更新关于D3的新知识,想学习更多关于D3的同学,请持续关注哦。

源码时代成都校区(天府新谷1号楼6楼)公开课学习目标:

通过学习D3.js,了解由数据决定绘图流程的程序设计模型,学会D3.js的正确使用方式,懂的查找API和相关解决方案,完成综合案例,使用D3.js自由实现数据可视化。

实现数据可视化-使用D3绘制饼状图


分享到:


相關文章: