echart 饼图选择事件

本文深入探讨了ECharts配置文件中如何通过事件处理实现饼图交互功能,具体解析了`pieSelected`事件回调函数的工作原理及应用。

var ecConfig = require('echarts/config');
myChart.on(ecConfig.EVENT.PIE_SELECTED, function(param){
    var selected = param.selected;
    var serie;
    var str = '当前选择: ';
    for (var idx in selected) {
        serie = option.series[idx];
        for (var i = 0, l = serie.data.length; i < l; i++) {

            if (selected[idx][i]) {
             //SOP
                str += '【系列' + idx + '】' + serie.name + ' : ' +
                       '【数据' + i + '】' + serie.data[i].name + ' ';
            }
        }
    }
    document.getElementById('wrong-message').innerHTML = str;

})

回调函数里param参数里的格式详细不太清楚。


代码摘自文档example/pie3.html

ECharts 里,并没有直接获取直径的 API,但可以通过计算来得到。的大小由 `radius` 属性控制,该属性可设置为百分比或者像素值。若 `radius` 以百分比形式设置,就需要结合表容器的大小来计算直径;若以像素值设置,那么直径就是 `radius` 值的两倍。 以下是具体示例代码: ```javascript // 初始化 echarts 实例 var myChart = echarts.init(document.getElementById('main')); // 指定表的配置项数据 var option = { series: [ { type: 'pie', radius: ['20%', '50%'] // 这里设置了的内外半径 } ] }; // 使用刚指定的配置项数据显示表。 myChart.setOption(option); // 获取表容器的宽度高度 var container = myChart.getDom(); var containerWidth = container.offsetWidth; var containerHeight = container.offsetHeight; // 获取的配置 var seriesOption = option.series[0]; // 获取的半径配置 var radius = seriesOption.radius; // 计算的外直径 var outerDiameter; if (typeof radius[1] === 'string' && radius[1].indexOf('%')!== -1) { // 如果是百分比,根据容器大小计算 var outerRadiusPercentage = parseFloat(radius[1]) / 100; var minDimension = Math.min(containerWidth, containerHeight); outerDiameter = minDimension * outerRadiusPercentage * 2; } else { // 如果是像素值,直接乘以 2 outerDiameter = parseFloat(radius[1]) * 2; } console.log('的外直径: ', outerDiameter); ``` 在这个示例里,首先初始化了 ECharts 实例并设置了的配置,接着获取了表容器的大小。然后根据 `radius` 的设置方式(百分比或者像素值)来计算的外直径。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值