ECharts交互API

ECharts交互API,第1张

交互API 全局Echarts对象echartsInstance对象setOptionresizeon\offdispatchActioncleardispose

全局Echarts对象 引入echarts.js文件之后就可以直接使用的全局echarts常见的Api init 得到echarts的实例对象(第一个参数) 使用主题(第二个参数)registerTheme 注册主题registerMap 注册地图的矢量数据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 setOption 设置或修改图例的配置项以及数据多次调用setOption方法 合并新的配置和旧的配置 增量动画 参考我写的增量动画来理解 resize 重新计算图表的大小 参考我的自适应学习笔记 on\off

绑定和解绑事件处理函数

鼠标事件

常见事件:click dblclick mousedown mousemove mouseup 等

Echarts事件

常见事件: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重新设置

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1296226.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存