当前位置: 首页 > article >正文

echarts图之 底部滚动横轴 缩放图形大小

    //折线图-堆叠面积图
	function pileLineChart(odata, dom){
        //放大缩小的代码start
		var dataZoom = [],y2=40;
		if(odata.xData.length > 7){
			dataZoom = [
                {
                    show: true,
                    realtime: true,
                    startValue:0, 
                    endValue:5,
                    left:"center",
                    top:"auto",
                    right:"auto",                          
                    bottom:20,
                },
                {
                    type: 'inside',
                    realtime: true,
                    startValue:0,  
                    endValue:5,   
                }
            ]
			y2 = 78;
		}else{
			dataZoom = [];
			y2 = 40;
		}
        //放大缩小的代码end-下面还有
		
		var myChart = echarts.init(document.getElementById(dom));
		//console.log(odata)
		let oarr = []		
		oarr = odata.series.map(function(item){
			var data = [];
			data.push(0);
			for (var i = 0 ; i < item.data.length; i++) {
				data.push(item.data[i]);
		    }
			return {
				name: item.name,
		      	type: 'line',
		      	stack: 'Total',
		      	barMinHeight: 0, //最小柱高
              	barWidth: 14, // 柱宽度
              	barMaxWidth: 100,// 最大柱宽度
		      	areaStyle: {},
		      	emphasis: {
		        	focus: 'series'
		      	},
		      	data: data
			}
		})
		var xData = [];
		xData.push('');
		for (var i = 0 ; i < odata.xData.length; i++) {
			xData.push(odata.xData[i]);
		}
		option = {
			tooltip: {
		    	trigger: 'axis',
		    	formatter: function(params) {//防止0点被点击
		        	let relVal = ''
		            for (var prop in params) {
		            	if(params[prop].dataIndex == 0) {
		            		relVal = ''
		            	}else{
		            		relVal +=
				            	params[prop].marker +
				                params[prop].seriesName +
				                ' : ' +
				                params[prop].value +
				                '<br/>';
		            	}            	
		            }
		        	return relVal;
		        },
		  	},
			title: {
			    text: '人次',
			    left: '20',
			    textStyle:{
			    	color: '#999',
			    	fontSize: 12,
			    	fontWeight: 400
			   	}
			},
			color: ['#00bdff', '#4cf100', '#ffb500', '#e83928'],
		  	grid: {
		  		top: '30',
		    	left: '30',
		    	right: '20',
		    	bottom: '120',
		    	containLabel: false
		  	},
		  	dataZoom: dataZoom,//放大缩小的引用
		  	legend: {
              	itemWidth:15,  
              	itemHeight:15,  
              	data: barChart.legendData,
              	icon: 'roundRect',
              	itemHeight: 8,
              	textStyle: { //图例文字的样式
                    color: '#999',
                    fontSize: 12
                },
                left: 'center',
                bottom: 'bottom',
          	},
		  	xAxis: [
		  		{
		      		type: 'category',
		      		boundaryGap: false,
		      		data: xData,
		      		nameTextStyle: {
		                color: '#666', //x轴名称颜色
		                fontSize: 10 //x轴名称字体大小
		            },
		            axisLabel: {
		                color: '#666', //x轴刻度标签颜色
		                rotate: 45,
		                fontSize: 10, //y轴名称字体大小
		                formatter: function (params){
		                	return filterFormatter(params)
		                }
		            },
		            axisTick: {
		                show: false //不显示刻度线
		            },
		            axisLine: {
	                    lineStyle: {
	                        color: '#999',
	                        width: 1, //这里是为了突出显示加上的  
	                    },
	                    symbol: ['none', 'arrow'],    //只在末端显示箭头
	                    symbolSize: [6, 10],//原来是[8, 16]
	                    symbolOffset:[0, 8],//箭头段移动8个像素
	                },
		    	}
		  	],
		  	yAxis: [
		    	{
		      		type: 'value',
		      		nameTextStyle: {
		                color: '#666', //y轴名称颜色
		                fontSize: 10 //y轴名称字体大小
		            },
		            axisLabel: {
		                color: '#666', //y轴刻度标签颜色
		                fontSize: 10 //y轴名称字体大小
		            },
		            axisTick: {
		                show: false //不显示刻度线
		            },
		            axisLine: {
	                    lineStyle: {
	                        color: '#999',
	                        width: 1, //这里是为了突出显示加上的  
	                    },
	                    symbol: ['none', 'arrow'],    //只在末端显示箭头
	                    symbolSize: [6, 10],//原来是[8, 16]
	                    symbolOffset:[0, 8],//箭头段移动8个像素
	                },
	                splitLine: {
		                //网格线
		                lineStyle: {
		                  type: "dotted", //设置网格线类型 dotted:虚线   solid:实线
		                },
		                show: true, //隐藏或显示
		            },	                
		    	}
		  	],
		  	series: oarr
		}		      
		myChart.setOption(option, true);
	}
    
    //字数为8个超出就显示成点
    function filterFormatter(params){
		var index = 8;
	    var newstr = '';
	    for(var i = 0; i< params.length; i += index){
	        var tmp = params.substring(i, i+index);
	        newstr += tmp +'';
	    }
	    if( newstr.length > 8)
	        return newstr.substring(0, 8) + '..';
	    else
	        return '\n'+newstr;
	}


http://www.kler.cn/a/161692.html

相关文章:

  • 缓存与数据库不一致的解决方案:深入理解与实践
  • [Linux] Linux信号捕捉
  • 【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)
  • Java面向对象编程进阶之包装类
  • 【数据结构】交换排序——冒泡排序 和 快速排序
  • 性能优化、安全
  • 软件开发安全指南
  • IDEA 保存自动ESLint格式化
  • python 涉及opencv mediapipe知识,眨眼计数 供初学者参考
  • 【Linux】进程通信之命名管道mkfifo
  • 【设计模式-3.1】结构型——外观模式
  • GO设计模式——5、建造者模式(创建型)
  • 深眸科技以机器视觉高性能优势,为消费电子行业提供优质解决方案
  • vuepress路径问题,导致图片不显示
  • 十一.图像处理与光学之图像缩放方式
  • Course2-Week3-使用机器学习的建议
  • 【开源】基于Vue.js的二手车交易系统
  • 力扣102. 二叉树的层序遍历
  • GO设计模式——14、代理模式(结构型)
  • 【深度学习】迁移学习中的领域转移及迁移学习的分类
  • 2024山东健博会,第六届济南国际大健康产业博览会5月举办
  • 1.PyTorch数据结构Tensor常用操作
  • ChatGPT/GPT4科研实践篇: AI绘图+论文写作+编程
  • ChatGPT学习笔记
  • yolov5 获取漏检图片脚本
  • 【Java】图论笔记