ECharts交互API

全局Echarts对象

  • 引入echarts.js文件之后就可以直接使用的
  • 全局echarts常见的Api
    1. init 得到echarts的实例对象(第一个参数) 使用主题(第二个参数)
    2. registerTheme 注册主题
    3. registerMap 注册地图的矢量数据
    4. connect 将多个图表进行关联 保存图片自动拼接 刷新按钮 重置按钮 提示框联动 图例选择 数据范围修改
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>增量动画</title>
    <script src="js/lib/echarts.min.js" type="text/javascript" charset="utf-8"></script>
	<script src="js/theme/vintage.js"></script>
	<script src="js/lib/jquery.min.js"></script>
</head>
<body>
    <div id="main" style="width: 600px;height:400px;"></div>
    <div id="main1" style="width: 600px;height:400px;"></div>
	
    <script type="text/javascript">
		//ecaharts.js文件引入之后就会创建一个echarts对象
		//echarts就是全局对象
		
		//myChart就是一个echartsInstance实例对象
		
		/**
		 * 全局echarts常见的Api
		 * init 得到echarts的实例对象(第一个参数) 使用主题(第二个参数)
		 * registerTheme 注册主题
		 * registerMap 注册地图的矢量数据
		 * connect 将多个图表进行关联
		 */
		
		
        var myChart = echarts.init(document.querySelector('#main'),'vintage');
		var xDataArr = ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"];
		var yDataArr = [5, 20, 36, 10, 10, 20];
        var option = {
			toolbox:{
				feature:{
					saveAsImage:{}
				}
			},
            xAxis: {
				type:'category',
                data: xDataArr
            },
            yAxis: { 
				type:'value',
			},
            series: [
				{
					name: '销量',
					type: 'bar',
					data: yDataArr,
				}
			]
        };
        myChart.setOption(option);
		
		var myChart1 = echarts.init(document.querySelector('#main1'),'vintage');
		$.get('json/china.json',function(ret){
		//ret 就是中国各个省份的矢量地图数据
			console.log(ret);
			echarts.registerMap('chinaMap',ret);
			var option1 = {
				geo:{
					type:'map',
					//chinaMap需要和registerMap中注册的是一致的
					map:'chinaMap',
				},
			}
			myChart1.setOption(option1);
			//将柱状图和地图关联起来
			echarts.connect([myChart,myChart1]);
		})
    </script>
</body>
</html>

在这里插入图片描述

echartsInstance对象

setOption

resize

on\off

  • 绑定和解绑事件处理函数

  • 鼠标事件

    1. 常见事件:click dblclick mousedown mousemove mouseup 等
  • Echarts事件

    1. 常见事件:legendselectchanged datazoom pieselectchanged mapselecthanged等
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>饼状图</title>
  <script src="js/lib/echarts.min.js"></script>
</head>

<body>
  <div style="width: 600px;height:600px"></div>
  <script>
    var mCharts = echarts.init(document.querySelector("div"))
	var peiData = [
		{
			name:'淘宝',
			value:11231
		},
		{
			name:'京东',
			value:22637
		},
		{
			name:'唯品会',
			value:6123
		},
		{
			name:'1号店',
			value:8989
		},
		{
			name:'聚美优品',
			value:6700
		}
	]
    var option = {
		legend:{
			data:['淘宝','京东','唯品会','一号店','聚美优品']
		},
		series:[
			{
				type:'pie',
				data: peiData,
				label:{
					show:true,
					formatter:function(arg){
						console.log(arg);
						return arg.name+'平台'+arg.value+'元\n' +arg.percent+'%' 
					}
				},
			}
		]
    }
    mCharts.setOption(option)
	//绑定点击事件 事件参数arg
	mCharts.on('click',function(arg){
		console.log(arg);
	});
	//上面的click将会被解绑
	mCharts.off('click');
	
	//监听点击图例的事件
	mCharts.on('legendselectchanged',function(arg){
		console.log(arg);
	})
  </script>
</body>

</html>

在这里插入图片描述

dispatchAction

  • 触发某些行为
  • 使用代码模拟用户的行为
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>饼状图</title>
  <script src="js/lib/echarts.min.js"></script>
  <script src="js/lib/jquery.min.js"> </script>
</head>

<body>
  <div style="width: 600px;height:600px"></div>
  <button id="btn">出发行为</button>
  <script>
    var mCharts = echarts.init(document.querySelector("div"))
	var peiData = [
		{
			name:'淘宝',
			value:11231
		},
		{
			name:'京东',
			value:22637
		},
		{
			name:'唯品会',
			value:6123
		},
		{
			name:'1号店',
			value:8989
		},
		{
			name:'聚美优品',
			value:6700
		}
	]
    var option = {
		legend:{
			data:['淘宝','京东','唯品会','一号店','聚美优品']
		},
		series:[
			{
				type:'pie',
				data: peiData,
				label:{
					show:true,
					formatter:function(arg){
						console.log(arg);
						return arg.name+'平台'+arg.value+'元\n' +arg.percent+'%' 
					}
				},
			}
		]
    }
    mCharts.setOption(option)
	$('#btn').click(function(){
		//模拟用户行为
		mCharts.dispatchAction({
			type:'highlight',
			seriesIndex:0,
			dataIndex:2
		})
		mCharts.dispatchAction({
			type:'showTip',
			seriesIndex:0,
			dataIndex:2
		})
	})
	
  </script>
</body>

</html>

在这里插入图片描述

clear

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

  • 清空之后可以再次设置setOption操作

$('#btn1').click(function(){
	//模拟用户行为
	mCharts.clear();
})

dispose

  • 直接销毁实例 不能通过setOption重新设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值