echarts给饼图添加点击事件

vue使用echarts,给饼图添加点击事件

var valueData = [
      {value: 33,name: '诊所'},
    {value: 29,name: '汽车服务相关'},
    {value: 27, name: '洗衣店'},
    {value: 26,name: '中介机构'},
    {value: 22,name: '汽车维修'}
];
var nameData = ['诊所', '汽车服务相关', '洗衣店', '中介机构', '汽车维修'];
var colorData = ['#A769EB', '#f69846', '#f6d54a', '#45dbf7', '#5AF6DE', '#89F6DC'];

let Option2 = {
    backgroundColor: 'rgba(0,0,0,0)',
    tooltip: {
        trigger: 'item',
        formatter: "{b} : {d}% <br/> {c}"
    },
    legend: {
        // orient: 'vertical',
        icon: 'circle',
        bottom: 20,
        x: 'center',
        y: 'top',
        data: nameData,
        textStyle: {
            color: '#fff'
        }
        //data: ['诊所', '汽车服务相关', '洗衣店', '中介机构', '汽车维修', '火车站', '人流指数', '日式简餐/快餐', 'ATM', '超市']
    },
    series: [{
        type: 'pie',
        // radius: ['20%', '40%'],
        center: ['50%', '50%'],
        left:70,
        right:70,
        color: colorData,
        data: valueData,
        labelLine: {
            normal: {
                show: true,
                length: 20,
                length2: 20,
                lineStyle: {
                    color: '#fff',
                    width: 2
                }
            }
        },
        label: {
            normal: {
                formatter: '{c|{b}}\n{a|{d}}'+ '%',
                rich: {
                    b: {
                        fontSize: 12,
                        color: '#12EABE',
                        align: 'left',
                        padding: 4
                    },
                    d: {
                        
                        fontSize: 12,
                        align: 'left',
                        padding: 2
                    },
                    c: {
                        color: '#fff',
                        fontSize: 12,
                        align: 'left',
                        padding: 2
                    }
                }
            }
        }
    }]
}
var dom1 = document.getElementById("Box2");
var myChart1 = echarts.init(dom1);
let number = 0 //声明一个变量稍后接扇区的dataIndex 
myChart1.on('click', function(param) { //添加点击事件
    console.log(param );
    myChart1.dispatchAction({ type: 'highlight', dataIndex: param.dataIndex }); //激活点击区域高亮
    if (param.dataIndex !== number) { // 当鼠标点击的时候 消除上一个扇区的高亮
        myChart1.dispatchAction({ type: 'downplay', dataIndex: number });
    }
    number = param.dataIndex //接住当前扇区的dataIndex
});
myChart1.setOption(Option2)
myChart1.dispatchAction({ type: 'highlight', dataIndex: 0 }); // 生成是默认第一条数据高亮

饼图中间添加图片

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要为echarts饼图的legend添加点击事件,可以通过以下步骤实现: 1. 在初始化echarts时,设置legend的selectedMode属性为true,开启图例选择功能。 2. 使用legendselectchanged事件监听图例的点击事件,当图例被点击时触发相应的操作。 3. 在事件回调函数中,可以根据需要进行自定义操作,比如显示或隐藏相应的饼图数据系列。 引用中提到了在vue项目中引入echarts添加点击事件的示例代码,可以参考这个示例来实现echarts饼图legend的点击事件。在代码中,可以使用legendselectchanged事件来监听图例的点击事件,并在事件回调函数中根据需要进行相应的操作。 简单来说,可以通过设置selectedMode属性为true开启图例选择功能,并使用legendselectchanged事件来监听图例的点击事件,并在回调函数中添加自定义操作。 以下是一个示例代码: ```javascript // 初始化echarts let myChart = echarts.init(document.getElementById('chart')); // 设置legend的selectedMode为true let option = { legend: { selectedMode: true }, // 其他配置项... }; // 监听图例的点击事件 myChart.on('legendselectchanged', function (params) { // 根据params中的信息进行相应的操作 console.log(params); // 其他操作... }); // 设置echarts的配置项并渲染图表 myChart.setOption(option); ``` 通过以上步骤,就可以为echarts饼图的legend添加点击事件,并在事件回调函数中进行相应的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vue+echarts 饼图legend文字超出省略,hover时显示tooltip及数据,取消点击事件](https://blog.csdn.net/dhlg123/article/details/122091889)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [vue 项目引入echarts 添加点击事件操作](https://download.csdn.net/download/weixin_38552292/12923404)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值