echarts环形图将label显示在中间,每一类数据高亮显示对应数据,样式不重叠

series: [
				{
					type: 'pie',
					radius: ['30%', '55%'], 
					label: {
						show: true,
						position: 'center',
						formatter: function (params) {
							return (
								'{a|' +
								(params.data.ratio * 100).toFixed(2) +
								'%}' +
								'\n\n' +
								'{b|' +
								params.name +
								'}'
							);
						},
						rich: {
							a: {
								color: '#03a9f4',
								fontSize: 14,
								backgroundColor: 'white'
							},
							b: {
								color: '#333333',
								fontSize: 14,
								backgroundColor: 'white'
							}
						}
					},
					labelLine: {
						show: false
					},
					color: ['#71c4fe', '#189dfe'],
					data: props.marriageSource,
					itemStyle: {
						shadowBlur: 10, // shadowOffsetX: 10,
						shadowColor: 'rgba(9, 59, 110, 0.33)'
					}
				}
			]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Echarts 环形中点击圆环时在中间显示对应数据,可以通过在 `series` 中设置 `label` 和 `emphasis` 属性来实现。 以下是一个示例代码,可以将其放入 HTML 页面中查看效果: ```html <div id="chart" style="width: 600px; height: 400px;"></div> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.1/echarts.min.js"></script> <script> // 初始化 Echarts 实例 var myChart = echarts.init(document.getElementById('chart')); // 设置饼的类型为环形 var option = { title: { text: '环形示例', left: 'center' }, tooltip: { trigger: 'item', formatter: '{b}: {c} ({d}%)' }, legend: { orient: 'vertical', left: 'left', data: ['数据1', '数据2', '数据3', '数据4', '数据5'] }, series: [ { name: '数据名称', type: 'pie', radius: ['40%', '60%'], avoidLabelOverlap: false, label: { show: true, position: 'center', formatter: function(params) { if (params.data) { return params.data.name + '\n' + params.data.value; } else { return ''; } }, fontSize: '24', fontWeight: 'bold' }, emphasis: { label: { show: true, formatter: '{b}:{c} ({d}%)', fontSize: '14', fontWeight: 'normal' } }, labelLine: { show: false }, data: [ {value: 335, name: '数据1'}, {value: 310, name: '数据2'}, {value: 234, name: '数据3'}, {value: 135, name: '数据4'}, {value: 1548, name: '数据5'} ] } ] }; // 绑定点击事件 myChart.on('click', function(params) { if (params.data) { myChart.setOption({ series: [{ label: { show: true, formatter: '{c}', fontSize: '24', fontWeight: 'bold' }, data: [params.data] }] }); } }); // 使用刚指定的配置项和数据显示表。 myChart.setOption(option); </script> ``` 在上面的示例代码中,我们在 `series` 中设置了 `label` 和 `emphasis` 属性,用于在中间和环上显示数据。我们还绑定了 `click` 事件,当点击圆环时,将对应数据设置到 `series` 中并显示中间。 在点击事件中,我们可以通过 `params.data` 获取到点击的数据,然后将其设置到 `series` 中并更新表。在更新表时,我们只需要更新 `series` 中的 `data` 属性,并将其设置为一个只包含点击的数据的数组即可。 通过这种方式,我们可以在点击圆环时,在中间显示对应数据,以满足具体的展示需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值