《前端》echart-API之的事件和行为---2020年7月16日

事件有两种类型,一种是 用户鼠标操作事件 ,通过 on 方法,如 跳转地址,弹出对话框或者数据下钻等。
另一种是 组件交互的行为事件 , 调用 dispatchAction 后触发的事件,如在切换图例时出发的‘legendeselectchanged’ 事件,数据区域缩放时触发‘datazoom’事件。

1、鼠标操作事件:

    click 、dbclick 、mousedown 、mousemove 、mouseover 、mouseup 、mouseout。
    示例:

    mychart.on('click',function(params){
        window.open('url'+encodeURIComponent(params.name));
    })

 下面是监听一个图例开关的示例:

// 图例开关的行为只会触发 legendselectchanged 事件
        myChart.on('legendselectchanged', function (params) {
            // 获取点击图例的选中状态
            var isSelected = params.selected[params.name];
            // 在控制台中打印
            console.log((isSelected ? '选中了' : '取消选中了') + '图例' + params.name);
            // 打印所有图例的状态
            console.log(params.selected);
        });

你可以在回调函数中获得这个对象中的数据名、系列名称后在自己的数据仓库中索引得到其它的信息候更新图表,显示浮层等。

2、组件交互的行为事件:

 myChart.dispatchAction({ type: '' "}) 触发图表行为。

    myChart.dispatchAction({
        type: 'dataZoom',
        start: 20,
        end: 30
    });
    // 可以通过 batch 参数批量分发多个 action
    myChart.dispatchAction({
        type: 'dataZoom',
        batch: [{
            // 第一个 dataZoom 组件
            start: 20,
            end: 30
        }, {
            // 第二个 dataZoom 组件
            dataZoomIndex: 1,
            start: 10,
            end: 20
        }]
    })

如:加入下拉框:当下拉框改变的时候触发legend的事件

    <!-- 下拉列表 -->
    <select id="sel_search_orderstatus" style="width:150px" multiple="multiple">
        <option value="0">2017年</option>
        <option value="5">2016年</option>
    </select>

/* legend 下拉列表多选*/
$('#sel_search_orderstatus').multiselect({
    onChange: function (option, checked, select) {
        var name = $(option).text();
        console.log("option",option);
        console.log("checked",checked);
        console.log("select",select);

        myChart.dispatchAction({
            type: 'legendToggleSelect',
            name: name
        });
    }
});

3、在图表中加入交互组件

 https://echarts.apache.org/zh/tutorial.html#%E5%9C%A8%E5%9B%BE%E8%A1%A8%E4%B8%AD%E5%8A%A0%E5%85%A5%E4%BA%A4%E4%BA%92%E7%BB%84%E4%BB%B6

    图例组件 legend、
    标题组件 title、
    视觉映射组件 visualMap、
    数据区域缩放组件 dataZoom、
    时间线组件 timeline 

我的其他博文:

《前端》echarts 图例很多时如何放进下拉菜单(实现选择性显示图表数据)--2020年7月16 https://mp.csdn.net/console/editor/html/107375094

官方api教程https://echarts.apache.org/zh/tutorial.html#ECharts%20%E4%B8%AD%E7%9A%84%E4%BA%8B%E4%BB%B6%E5%92%8C%E8%A1%8C%E4%B8%BA

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值