Echarts概念篇(事件与行为)

事件与行为


<template>
	<div>
		<div id="main"></div>
	</div>
</template>
<script>
	export default {
		data() {
			return {};
		},
		methods: {
			// 初始化图表
			initEcharts() {
				//初始化加载
				const chartBox = this.$echarts.init(document.getElementById("main"));
				const option =  {
					tooltip: {
						trigger: 'item'
					},
					legend: {
						orient: 'vertical',
						left: 'left'
					},
					series: [{
						name: 'Access From',
						type: 'pie',
						radius: '50%',
						data: [{
								value: 1048,
								name: 'Search Engine'
							},
							{
								value: 735,
								name: 'Direct'
							},
							{
								value: 580,
								name: 'Email'
							},
							{
								value: 484,
								name: 'Union Ads'
							},
							{
								value: 300,
								name: 'Video Ads'
							}
						],
						emphasis: {
							itemStyle: {
								shadowBlur: 10,
								shadowOffsetX: 0,
								shadowColor: 'rgba(0, 0, 0, 0.5)'
							}
						}
					}]
				};
				chartBox.setOption(option);
				// chartBox.getZr().on('click', function(event) {
				//   if (!event.target) {
				// 	console.log('鼠标点击了空白处');
				//   }
				// });
				// chartBox.on('click', function(params) {
				// 	console.log('鼠标点击事件')
				// });
				// chartBox.on('dblclick', function(params) {
				// 	console.log('鼠标双击事件')
				// });
				// chartBox.on('mousedown', function(params) {
				// 	console.log("鼠标按下事件")
				// });
				// chartBox.on('mousemove', function(params) {
				// 	console.log('鼠标移动事件')
				// });
				// chartBox.on('mouseup', function(params) {
				// 	console.log('鼠标抬起事件')
				// });
				// chartBox.on('mouseover', function(params) {
				// 	console.log('鼠标移入事件')
				// });
				// chartBox.on('mouseout', function(params) {
				// 	console.log('鼠标移除事件')
				// });
				// chartBox.on('globalout', function(params) {
				// 	console.log('鼠标移除坐标系事件')
				// });
				// chartBox.on('contextmenu', function(params) {
				// 	console.log('鼠标右键点击事件')
				// });
				// 图例开关的行为只会触发 legendselectchanged 事件
				// chartBox.on('legendselectchanged', function(params) {
				// 	// 获取点击图例的选中状态
				// 	var isSelected = params.selected[params.name];
				// 	// 在控制台中打印
				// 	console.log((isSelected ? '选中了' : '取消选中了') + '图例' + params.name);
				// 	// 打印所有图例的状态
				// 	console.log(params.selected);
				// });
				let currentIndex = -1;
				setInterval(function() {
					var dataLen = option.series[0].data.length;
					// 取消之前高亮的图形
					chartBox.dispatchAction({
						type: 'downplay',
						seriesIndex: 0,
						dataIndex: currentIndex
					});
					currentIndex = (currentIndex + 1) % dataLen;
					// 高亮当前图形
					chartBox.dispatchAction({
						type: 'highlight',
						seriesIndex: 0,
						dataIndex: currentIndex
					});
					// 显示 tooltip
					chartBox.dispatchAction({
						type: 'showTip',
						seriesIndex: 0,
						dataIndex: currentIndex
					});
				}, 1000);
			},
		},
		mounted() {
			this.initEcharts();
		},
	};
</script>

<style scoped>
	#main {
		width: 700px;
		height: 300px;
	}
</style>

代码效果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值