饼图(Pie)的核心思想是分解,适用于对比几个数据在其形成的总和中所占的百分比。 整个饼代表总和,每一个数用一个扇形表示。为了更直观地查看影响健康寿命的各类因素数据、某高校的专业与人数分布数据,需要在ECharts中绘制不同的饼图进行展示,如标准饼图、圆环图、嵌套饼图和南丁格尔玫瑰图等。
标准饼图是以一个完整的圆来表示数据对象的全体,其中扇形面积表示各个组成部分。饼图常用于描述百分比构成,其中每一个扇形代表一个数据所占的比例。下面以一个实例说明标准饼图的绘制方法。 世界卫生组织(WHO)在一份统计调查报告中指出:在影响健康寿命的各类因素中,生活方式(饮食、运动和生活习惯)占60%,遗传因素占15%,社会因素占10%,医疗条件占8%,气候环境占7%。因此,健康寿命60%取决于自己。利用影响健康寿命的各类因素数据绘制标准饼图,如图2-20所示。需要注意,该饼图在不同版本的ECharts中运行,会有一些细微的差别
绘制饼图最主要的参数有以下几个。 (1)center表示圆心坐标,它可以是像素点表示的绝对值,也可以是数组类型。默认值为['50%','50%']。百分比计算时按照公式min(width,height)50%进行计算,其中的width和height分别表示div中所设置的宽度和高度。 (2)radius表示半径,它可以是像素点表示的绝对值,也可以是数组类型。默认值为[0, '75%'],支持绝对值(px)和百分比。百分比计算时按照公式min(width,height)/275%进行计算,其中的width和height分别表示div中所设置的宽度和高度。如果用形如[内半径,外半径]数组表示的话,那么可以绘制一个环形图;如果内半径为0,则可绘制一个标准的饼图。 (3)clockWise表示饼图中各个数据项(item)是否按照顺时针顺序显示,它是一个布尔类型,取值只有false和true。默认值为true。
作品展示如下:
源代码如下:
<html>
<head>
<meta charset="utf-8">
<title>第一个 ECharts 实例</title>
<!-- 引入 echarts.js -->
<script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
myChart.setOption({
series : [
{
name: '访问来源',
type: 'pie', // 设置图表类型为饼图
radius: '55%', // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
data:[ // 数据数组,name 为数据项名称,value 为数据项值
{value:235, name:'视频广告'},
{value:274, name:'联盟广告'},
{value:310, name:'邮件营销'},
{value:335, name:'直接访问'},
{value:400, name:'搜索引擎'}
]
}
]
})
</script>
</body>
</html>