ECharts环形饼图示例(附有注释)

图表效果如下:

具体代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>关系图案例</title>
		<!-- 引入 ECharts 文件 -->
		<script src="js/echarts4.0.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<!-- 为 ECharts 准备一个具备大小(宽高)的 容器 -->
		<div id="chart1" style="width: 80%;height: 400px;top: 50px;left: 10%;border: 3px solid #000;"></div>
	</body>
</html>

<script type="text/javascript">
	// 基于准备好的容器(这里的容器是id为chart1的div),初始化echarts实例
	var chart1 = echarts.init(document.getElementById("chart1"));
	
	// 指定图表的配置项和数据
	var option = {
	    title: {
	        text: '男女所占比例',
	        left : '3%',                    // 标题距离左侧边距
	        top : '3%',                     // 标题距顶部边距
	        textStyle: {
	            color: '#000'
	        }
	    },
	    series: [{
	            type: "pie",                // 系列1类型: 饼图
	            center: ["25%","50%"],      // 饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标。[ default: ['50%', '50%'] ]
	            radius: ["49%","50%"],      // 饼图的半径,数组的第一项是内半径,第二项是外半径。[ default: [0, '75%'] ]
	                                        // 可以将内半径设大显示成圆环图(Donut chart)。
	            clockWise: false,           // 饼图的扇区是否是顺时针排布。[ default: true ]
	            startAngle: 90,             // 起始角度,支持范围[0, 360]。 [ default: 90 ]
	            hoverAnimation: true,       // 是否开启 hover 在扇区上的放大动画效果。[ default: true ]
	            itemStyle: {                // 图形样式
	                normal: {
	                    color: "#5886f0",       // 图形的颜色
	                    borderColor: "#5886f0", // 图形的描边颜色
	                    borderWidth: 20,        // 描边线宽。为 0 时无描边。[ default: 0 ]
	                    borderType: 'solid',    // 柱条的描边类型,默认为实线,支持 'solid', 'dashed', 'dotted'。
	                    label: {                // 图形内部标签
	                        show: true,                 // 是否显示标签
	                        textStyle: {                // 标签文本样式
	                            fontSize: 15,
	                            fontWeight: "bold"      // 标签字体加粗,'normal','bold','bolder','lighter',100 | 200 | 300 | 400...
	                        },
	                        position: "center"          // 标签的位置,'outside'(饼图扇区外侧,通过视觉引导线连到相应的扇区)
	                                                    // 'inside'(饼图扇区内部);  'inner' 同 'inside'。
	                                                    // 'center'(在饼图中心位置。)
	                    },
	                    labelLine: {            // 标签的视觉引导线样式,在 label 位置 设置为'outside'的时候会显示视觉引导线。
	                        show: false
	                    }
	                },
	                emphasis: {                 // 高亮的扇区和标签样式(起强调作用)
	                    color: "#5886f0",
	                    borderColor: "#5886f0",
	                    borderWidth: 20,
	                    borderType: 'solid',
	                    label: {
	                        textStyle: {
	                            fontSize: 15,
	                            fontWeight: "bold"
	                        }
	                    }
	                }
	            },
	            data: [{value: 52.7,name: "男(480人) 比率52.7%"},
	                {name: " ",value: 47.3,
	                    itemStyle: {
	                        normal: {
	                            color: "#5886f0",
	                            borderColor: "#5886f0",
	                            borderWidth: 0,
	                            label: {
	                                show: false
	                            },
	                            labelLine: {
	                                show: false
	                            }
	                        },
	                        emphasis: {
	                            color: "#5886f0",
	                            borderColor: "#5886f0",
	                            borderWidth: 0
	                        }
	                    }
	                }
	            ]
	        }, {   
	            type: "pie",            // 系列2类型: 饼图
	            center: [
	                "75.0%",
	                "50%"
	            ],
	            radius: [
	                "49%",
	                "50%"
	            ],
	            clockWise: false,
	            hoverAnimation: true,
	            itemStyle: {
	                normal: {
	                    label: {
	                        show: true,
	                        textStyle: {
	                            fontSize: 15,
	                            fontWeight: "bold"
	                        },
	                        position: "center"
	                    },
	                    labelLine: {
	                        show: false
	                    },
	                    color: "#ee3a3a",
	                    borderColor: "#ee3a3a",
	                    borderWidth: 20
	                },
	                emphasis: {
	                    label: {
	                        textStyle: {
	                            fontSize: 15,
	                            fontWeight: "bold"
	                        }
	                    },
	                    color: "#ee3a3a",
	                    borderColor: "#ee3a3a",
	                    borderWidth: 20
	                }
	            },
	            data: [{
	                    value: 47.3,
	                    name: "女(421人)  占率47.3%"
	                },
	                {
	                    name: " ",
	                    value: 52.7,
	                    itemStyle: {
	                        normal: {
	                            label: {
	                                show: false
	                            },
	                            labelLine: {
	                                show: false
	                            },
	                            color: "#ee3a3a",
	                            borderColor: "#ee3a3a",
	                            borderWidth: 0
	                        },
	                        emphasis: {
	                            color: "#ee3a3a",
	                            borderColor: "#ee3a3a",
	                            borderWidth: 0
	                        }
	                    }
	                }
	            ]
	        }
	    ]
	};
	
	// 使用刚指定的配置项和数据显示图表
	chart1.setOption(option);
	
</script>

想要使用该图表,只需要  复制以上代码  ,再下载    echarts.js  在页面文件中引入即可. 

注:本文的一个关键点就是环形图内部标签位置的设置,相关的配置项是 position,其取值分别为:

    'outside'(饼图扇区外侧,通过视觉引导线连到相应的扇区);

    'inside'(饼图扇区内部);      

    'inner' 同 'inside'; 

    'center'(在饼图中心位置);

echarts.js 下载链接:    http://echarts.baidu.com/download.html


  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值