echarts 点击事件(点击之后变颜色,适用于饼图,柱状图;以及饼图点击之后上移)

博客提到先声明参数value,在点击操作后再次调用ECharts的柱状图和饼图,围绕ECharts图表的调用展开。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先声明一个参数value,然后在点击之后再次调用该echart

柱状图:
这里写图片描述

    Mychart.on('click', function eConfig(param){
                value=param.name;
                queryData();
    });
   series : [
                {
                    name:'数量',
                    type:'bar',
                    barWidth: '30%',
                    data:resultData,
                    // data:[10, 52, 200, 334, 390, 330, 220],
                   /* itemStyle: {
                        normal: {
                            // color:['#07a6ba','#4bc0c9','#3b56d9','#dbbb32','03ecef','#8648e7','#0fb2db']
                            color: function(params) {//柱子颜色
                                var colorList = ['#C33531','#EFE42A','#64BD3D','#EE9201','#29AAE3', '#B74AE5','#0AAF9F','#E89589','#16A085','#4A235A','#C39BD3 ','#F9E79F','#BA4A00','#ECF0F1','#616A6B','#EAF2F8','#4A235A','#3498DB' ];
                                return colorList[params.dataIndex]
                            }
                        }
                    }*/
                    //该处为点击事件
                    ***itemStyle:{
                        normal: {
                            color: function(params) {
                                var key = params.name.replace(/<\/?.+?>/g,"").replace(/[\r\n]/g, "");
                                if(key  == value){
                                    return "#FE8463";
                                }else{
                                    return "#4ABACE";
                                }
                            }
                        }
                    }***
                }
            ]

饼图:
这里写图片描述

 Mychart.on('click', function eConfig(param){
                value=param.name;
                queryData();
});
 series: [
                {
                    name:'访问来源',
                    type:'pie',
                    radius: ['50%', '70%'],
                    avoidLabelOverlap: false,
                    ***selectedMode:'single',***//饼图上移
                    label: {
                        normal: {
                            show: false,
                            position: 'center'
                        },
                        emphasis: {
                            show: true,
                            textStyle: {
                                fontSize: '30',
                                fontWeight: 'bold'
                            }
                        }
                    },
                    labelLine: {
                        normal: {
                            show: false
                        }
                    },
                    barWidth :8,
                   /*  itemStyle: {
                        normal: {
                            // color:['#07a6ba','#4bc0c9','#3b56d9','#dbbb32','03ecef','#8648e7','#0fb2db']
                            color: function(params) {//柱子颜色
                                var colorList = ['#C33531','#EFE42A','#64BD3D','#EE9201','#29AAE3', '#B74AE5','#0AAF9F','#E89589','#16A085','#4A235A','#C39BD3 ','#F9E79F','#BA4A00','#ECF0F1','#616A6B','#EAF2F8','#4A235A','#3498DB' ];
                                return colorList[params.dataIndex]
                            }
                        }
                    },*/
                    itemStyle:{
                        normal: {
                            color: function(params) {
                                var key = params.name.replace(/<\/?.+?>/g,"").replace(/[\r\n]/g, "");
                                if(key  == value){
                                    return "#FE8463";
                                }else{
                                    return "#4ABACE";
                                }
                            }
                        }
                    },
                    data:resultData
                }
            ]
### 实现ECharts柱状图点击事件后显示 为了实现在ECharts中配置柱状图点击事件以展示对应的,可以按照如下方式进行设置: #### 获取DOM元素并初始化表 在组件挂载完成后,通过`document.getElementById()`获取到用于放置表的DOM节点,并利用此节点实例化ECharts对象。这一步骤确保了有容器可用以便后续操作。 ```javascript import * as echarts from 'echarts'; // 假设这是Vue组合式API中的onMounted钩子函数内部逻辑 const initChart = () => { const chartDom = document.getElementById("main"); let myChart = echarts.init(chartDom); } ``` #### 绘制初始柱状图 定义一个名为`drawBarCharts`的方法负责渲染柱状图数据,在调用该方法传入所需的数据列表作为参数[^1]。 ```javascript function drawBarCharts(dataList) { option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ name: '销量', type: 'bar', data: dataList, itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } }] }; myChart.setOption(option); } ``` #### 设置点击事件监听器 当用户点击柱状图上的某个条目触发相应的处理程序。这里的关键在于使用`myChart.on('click')`注册回调函数来响应用户的交互行为。如果希望仅针对实际形部分而非坐标轴标签或其他非绘区域,则可以通过`params.componentType === 'series'`条件进一步筛选有效点击[^2]。 ```javascript function setupClickHandler() { myChart.on('click', function (params) { if(params.componentType !== 'series'){ return; } // 清除之前的(如果有) clearPreviousPie(); // 显示新的 showCorrespondingPie(params.name); console.log(`Clicked bar with value ${params.value}`); }); } function clearPreviousPie(){ // 移除之前存在的任何代码... } function showCorrespondingPie(selectedCategory){ // 根据selectedCategory创建对应的新... } ``` 上述代码片段展示了如何捕获柱形上发生的点击动作以及如何基于这些输入动态更新页面内容。对于具体的生成细节,可以根据业务需求自定义实现;例如,查询数据库获取额信息或将现有数据转换成适合呈现的形式等。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值