交互API(echarts对象和echartsInstance对象)

目录

1.全局echarts对象

引入echarts.js文件之后就可以使用

常用方法

1.init方法

初始化ECharts实例对象

使用主题 

2.registerTheme方法

注册主题

只有注册过的主题,才能在init方法中使用该主题

3.registerMap方法

注册地图数据

$.get('json/map/china.json',function(data){
        echarts.registerMap('china',data);
});

geo组件使用地图数据 

var option = {
    geo: {
        type:'map',
        map:'china',
    }
}

4.connect方法 

一个页面中可以有多个独立的图表

每一个图表对应一个ECharts实例对象

connect可以实现多图关联,传入联动目标为ECharts实例对象,支持数组

 用途:保存图片的时候能自动拼接多个图表、刷新按钮、重置按钮、提示框联动等等...

var mCharts = echarts.init(document.querySelector('#div1'))
...
var mCharts2 = echarts.init(document.querySelector('#div2'))
...
echarts.connect([mCharts,mCharts2])

2.echartsInstance对象

可通过echarts.init方法调用之后得到

常用方法

1.setOption

用来设置图表的配置项以及数据

可多次调用,会对新旧配置进行一个合并(比如用来设置增量动画) 

2.resize

用来实现图表自适应浏览器窗口大小的效果

常和window对象的resize事件结合使用

3.on/off

用于绑定/解绑事件处理函数

这样的事件可分为:

①鼠标事件

click、dblclick、mousedown、mousemove、mouseup

通过回调函数的参数arg可以获取与事件相关的数据信息

<script>
    var mCharts = echarts.init(document.querySelector('div'))
    ... 
    mCharts.on('click', function(arg){
      console.log(arg)
    })
    mCharts.off('click')        //对click事件解绑
</script>

②ECharts事件

legendselectchanged、'datazoom'、'pieselectchanged'、'mapselectchanged'等

通过回调函数的参数arg可以获取与事件相关的数据信息

以legendselectchanged事件(选中图例的变化)为例

<script>
      var mCharts = echarts.init(document.querySelector('div'))
      ...
      mCharts.on('legendselectchanged',function(arg){
        console.log(arg)
      })
  </script>

4.dispatchAction

使用代码模拟用户的行为

5.clear

清空当前实例,会移除实例中所有的组件和图表

清空之后可以再次使用setOption 

6.dispose

销毁实例

销毁之后实例无法再使用

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="lib/echarts.min.js"></script>
  <script src="lib/jquery-3.6.0.min.js"></script>
</head>
<body>
  <div style="width: 600px;height: 400px;"></div>
  <button id="btn1">触发行为</button>
  <button id="btn2">清空实例</button>
  <button id="btn3">setOption</button>
  <button id="btn4">销毁实例</button>
  <script>
      var mCharts = echarts.init(document.querySelector('div'))
      var pieData = [
        {
          name: '淘宝',
          value: 11231
        },
        {
          name: '京东',
          value: 22673
        },
        {
          name: '唯品会',
          value: 6123
        },
        {
          name: '聚美优品',
          value: 6700
        }
      ]
      var option = {
        tooltip:{
          show: true
        },
        series: [
          {
            type: 'pie',
            data: pieData,
          }
        ]
      }
      mCharts.setOption(option)
      $('#btn1').click(function(){
        mCharts.dispatchAction({
          type: 'showTip',  //事件类型
          seriesIndex: 0,   //图表的索引
          dataIndex: 2,     //数据的索引
        })
        mCharts.dispatchAction({
          type: 'highlight',//事件类型
          seriesIndex: 0,    //图表的索引
          dataIndex: 2,      //数据的索引
        })
      })
      $('#btn2').click(function(){
        // 清空图表的实例
        mCharts.clear()
      })
      $('#btn3').click(function(){
        // 重新设置option
        mCharts.setOption(option)
      })
      $('#btn4').click(function(){
        // 销毁mCharts
        mCharts.clear()
      })
  </script>
</body>
</html>

点击"触发行为"按钮

 点击"清空实例"按钮 

点击"setOption"按钮 

点击"销毁实例"按钮

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漂流の少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值