Echarts 折线图自动切换数据

这是一个关于ECharts的示例,展示如何在网页中实现折线图的动态切换效果。通过JavaScript定时器函数moveLine,每隔5秒自动切换显示不同系列的数据,同时更新图例选中状态,提供了数据可视化的交互体验。
摘要由CSDN通过智能技术生成
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		   <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
		   <script>
			   window.onload=function(){
				   moveLine()
			   }
		   </script>
	</head>
	<body>
		   <div id="main" style="width: 600px;height:400px;"></div>
	</body>
	 <script type="text/javascript">
	        // 基于准备好的dom,初始化echarts实例
	        var myChart = echarts.init(document.getElementById('main'));
	
	        // 指定图表的配置项和数据
	        var option = {
	            title: {
	                text: 'ECharts 入门示例'
	            },
	        
	            tooltip: {
	                  trigger: 'axis',
	                  axisPointer: {
	                      type: 'cross',
	                      label: {
	                          backgroundColor: '#6a7985'
	                      }
	                  }
	              },
	              legend: {
					   selectedMode: "single",  
					    selected:{
					                 '直接访问': false,
					                 '搜索引擎': true,  
					             },
	                  data: ['直接访问', '搜索引擎'],
					  
					  
	              },
				  
				  
				  
				  
				  
	            xAxis: {
	                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
	            },
	            yAxis: {},
	            series: [
	                 
	                  
	                   {
	                       name: '直接访问',
	                       type: 'line',
	                       stack: '总量',
	                       areaStyle: {},
	                       data: [320, 332, 301, 334, 390, 330, 320]
	                   },
	                   {
	                       name: '搜索引擎',
	                       type: 'line',
	                       stack: '总量',
	                       label: {
	                           normal: {
	                               show: true,
	                               position: 'top'
	                           }
	                       },
	                    
	                       data: [820, 932, 901, 934, 1290, 1330, 1320]
	                   }
	               ]
	        };
	
	        // 使用刚指定的配置项和数据显示图表。
	        myChart.setOption(option);
			var j=0	
			function moveLine(){
				
				this.timer = setTimeout(()=>{
					  		   
				       let option = this.myChart.getOption();
					
				       let selected = {};
												  
				       for(let i=0;i<this.option.legend.data.length;i++){  
						   // this.legendData是legend中data的值,上面是写死的值,做自动切换时不要写死
				         if(j==i){
				           selected[this.option.legend.data[i]] = true;
				         }else{
				           selected[this.option.legend.data[i]] = false;
				         }
						 
				       };
				       this.myChart.clear();  
						   console.log(option.legend,'lend---------------')
						 // 清空原来的折线图
				       option.legend[0].selected = selected;  
						 //更改legend里的selected
				       this.myChart.setOption(option); 
								  //重绘
				       j += 1;
					 
				       if(j == this.option.legend.data.length){
				         j = 0;
				       };
				       //调用自己
				       this.moveLine();
				     },5000)
			}
	    </script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yzhSWJ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值