ecahrts 饼图数据过多显示不全问题解决

ecahrts 饼图数据过多显示不全问题解决

问题如下:
在这里插入图片描述
解决后显示如下:(默认显示 6个数据,点击右侧对应显示在图表上)
在这里插入图片描述
具体实现:

function echart1(){		
	var seriesData = [];  // options 中的data 数据
	let selected={} // 决定图表中显示的个数
	let sysvionDistributionList=allData.sysvionDistributionList
	for(let i=0;i< sysvionDistributionList.length;i++){
		let name=sysvionDistributionList[i].sysVision
		seriesData.push({
            name:sysvionDistributionList[i].sysVision,
            value:sysvionDistributionList[i].fail
        });
		selected[name] = i < 6; //这里是关键: 限制图表中起始显示 6个,这里必须保证 name 不为空
	}
	/*以上是对 后台返回数据的一个处理 */
	seriesData=seriesData.filter(item=>{ return item.value!=0}) // 过滤掉不需要显示的数据
	let sum=0;
	seriesData.forEach(item=>{
		if(item.value)
			sum += Number(item.value)
	})//二级标题中显示的总数
	var w = $('#chart8').width();          // 获取容器实际宽度
	$('#ZD4').css('width',w);        // 赋予图表容器宽度值
	var myChart1 = echarts.init(document.getElementById('ZD4'));         // 初始化图表并设置参数
	option = {
			title: {
				zlevel: 0,
				text: '失败总数',
				subtext: sum,
				top: '44%',
				left: '39%',
				textAlign:'center',
				textStyle: {
					color: '#333',
					fontSize: 12,
					lineHeight: 16,
					fontWeight: 'normal'
				},
				subtextStyle: {
					color: '#333',
					fontSize: 24,
					lineHeight: 40,
				}
			},
			legend:{
		 		type: 'scroll', // 数据过多时,分页显示
		 		orient: 'vertical',
		        right: 10,
		        top: 20,
		        bottom: 20,
		        selected:selected  //这里默认显示数组中前六个,如果不设置,则所有的数据都会显示在图表上
		    }, 
			grid: {
				left: '6%',
				right: '6%',
				bottom: '2%',
				top: '2%',
				height: 270,
				containLabel: true,

			},
			tooltip: {
				trigger: 'item',
				formatter: '{a} <br/>{b} : {c} ({d}%)'
			},
			toolbox: {
				show: false,
			},
			series: [{
				name: '',
				type: 'pie',
				radius: [50, 100],
				center: ['40%', '50%'],
				position: 'center',
				formatter: '{b}: {d}%',
				roseType: 'radius',
				label: {
					show: true,
					formatter: '{b}: {d}%',
				},
				emphasis: {
					label: {
						show: false,
						formatter: '{b}: {d}%',
					}
				},
				data: seriesData
			}] 
	};
	myChart1.setOption(option);
}
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值