第二节Echarts空心饼图

效果图

1.饼图统计页面div

<div class="visual_box" style="margin-top: 1px;height: 13%;width: 70%;float: right;height: 100%;">
			<div class="video_surveillance" style="padding-bottom: 0px;padding-top: 0px;height: 15%;width: 100%;justify-content: left;"
				onclick="ak_right_populationDc.init(0);">
				<div style="background: linear-gradient(to left, transparent 0%, #6296b6 100%);width: 50%;display: flex;align-items: center;
				font-size: 14px;font-weight: 500;border-radius: 3px;white-space: nowrap;">&nbsp;&nbsp;重点重大项目占比</div>
			</div>
			<div id="ak_czRight1" style="width: 100%;height: 85%;"></div>
		</div>

2.饼图脚本

调用后端接口,将查询到的结果传给饼图回调函数

initZdzdzbtj: function() {
		var temp = {};
		var sgzt_type = localStorage.getItem('sgzt_type');
		if(sgzt_type == 1){
			var projectStatus = akglobe_config.underConstruction;
			if(projectStatus){
				projectStatus = projectStatus.join("','");
				projectStatus = "'" + projectStatus + "'";
			}
			temp.projectstatus = projectStatus;
		}else if(sgzt_type == 2) {
			var year = (new Date).getFullYear();
			temp.startTime = ak_right.changeDateFormat2(new Date(year, 0, 1).getTime()).trim();
			temp.endTime = ak_right.changeDateFormat2(new Date(year, 11, 31).getTime()).trim();
		}
		var options = new Object();
		options.url = "/manage-api/IndexTjfx2Controller/getZdxmtj";
		options.type = "GET";
		options.data = temp;
		options.errorback = akglobe_config.errBack;
		options.callback = function(data) {
		    ak_czRight.callBackZdzdzbtjGET(data);
		}
		// 如果是测试环境 使用假数据
		if(typep002==2){
		      ak_czRight.callBackZdzdzbtjGET(ak_ztqg.zdzd);
		}else{
		 	akglobe_config.ajaxQuery(options);
		}
	},

饼图回调函数中获取查询结果,将数据封装成echarts要求格式,再将数据传给echarts方法

callBackZdzdzbtjGET:function(data){
	  	var obj = data.object;
		var arr = [
			{
				name: "重点",
				value: obj.importantNum
			},
			{
				name: "重大",
				value: obj.focusNum
			},
			{
				name: "非重点重大",
				value: obj.fzdzdNum
			},
		]
		ak_czRight.callBackZdzdzbtj(arr); // 重点重大占比统计 Echarts
	},

3.echarts空心饼图代码

 设置柱状图自动计算宽度

var objdiv= $('#ak_czRight2');  //document.getElementById('left1_top2_bar');
		var docuWidth = $(document).width();
		var wt=docuWidth * config.echartsDIvWidht; 		
		objdiv.width(wt);

防止多次加载 重复出现点击事件 必须先禁止关闭

myChart1.off('click');// 防止多次加载 重复出现点击事件 必须先禁止关闭

callBackZdzdzbtj: function(arr) {
		var option = {
			title: {
				show: true,
				// text: '调查率\n\n'+wcl+'%', // \n可以换行
				x: '47%', // center
				y: '36%',
				textAlign: 'center',
				textStyle: {
					fontSize: '13',
					fontStyle: 'normal',
					fontWeight: '600',
					lineHeight: '28',
					color: '#ffffff'
				},
			},
			tooltip: {
				trigger: 'item',
				formatter: "{a} <br/>{b}: {c} ({d}%)"
			},
			legend: {
				orient: 'horizontal',
				bottom: '0%',
				x: 'center',
				textStyle: {
					color: '#fff',
				},
				data: ['重点', '重大','非重点重大'],
				type: 'scroll'
			},
			series: [{
				name: '数据项',
				type: 'pie',
				radius: ['30%', '50%'],
				center: ['50%', '45%'],
				minAngle: 20,	// 最小角度
				color: ['#7adeed', '#166dd7', '#FB9A4E', '#589ad7', '#766dd7', '#d76277', '#d7632c',
					'#8fd73c', '#2cd799', '#589ad7'
				],
				itemStyle: { //环形状和环之间的间距
					normal: {
						label: {
							show: true,
							textStyle: {
								color: "#fff"
							},
							formatter: "{d}%"
						},
						// borderRadius: 10,
						// borderColor: options.color, //边框颜色
						// borderWidth: 2 //边框宽
					},
				},
				data: arr,
			}]
		};
		var objdiv= $('#ak_czRight1');  //document.getElementById('left1_top2_bar');
		var docuWidth = $(document).width();
		var wt=docuWidth *0.2; 		
		objdiv.width(wt);
		var censusChart = echarts.init(document.getElementById('ak_czRight1'));
		censusChart.setOption(option);
		censusChart.off('click')
		censusChart.on('click', function(params) {
			console.log(params);
			var name = params.name;
			if (name == '重点') {
				ak_left_click1.top4Click(2);
			} else if (name == '重大') {
				ak_left_click1.top4Click(1);
			}else if(name == "非重点重大"){
				ak_left_click1.top4Click(0);
			}
		})
	},

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

akglobe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值