各种echarts深度自定义(自定义过多,自己用)

function initPie(el,data,options){
    var options = Object.prototype.toString.call(options) === "[object Object]" ? options : {};
    var chartTitle = 'chartTitle' in options ? options.chartTitle : "",
        radius = 'radius' in options ? options.radius : '50%',
        isLabel = 'isLabel' in options ? options.isLabel : true,
        colors = 'colors' in options ? options.colors : null,
        hoverAnimation = 'hoverAnimation' in options ? options.hoverAnimation : true,
        center = 'center' in options ? options.center : ['50%','50%'],
        labelPosition = 'labelPosition' in options ? options.labelPosition : 'outside',
        emphasis = 'emphasis' in options ? options.emphasis : {},
        labelFormatter = 'labelFormatter' in options ? options.labelFormatter : '{b}',
        labelLine = 'labelLine' in options ? options.labelLine : {},
        roseType = 'roseType' in options ? options.roseType : false,
        legendBoxLeft = 'legendBoxLeft' in options ? options.legendBoxLeft : 'auto';
        legendBoxBottom = 'legendBoxBottom' in options ? options.legendBoxBottom : 'auto',
        legendBoxHeight = 'legendBoxHeight' in options ? options.legendBoxHeight : 'auto',
        y = 'y' in options ? options.y : 'center',
        legendType = 'legendType' in options ? options.legendType : 'plain';
    var option = {
        title: {
            text: chartTitle,
            x:'center',
            top:10,
            textStyle:{
                color:'#5E5E5E',
                fontSize:20
            }
        },
        tooltip : {
            trigger: 'item',
            formatter: "{a} <br/>{b} : {c} ({d}%)"
        },
        legend:{
            type:legendType,
            orient:"vertical",
            y:y,
            right:legendBoxLeft,
            bottom:legendBoxBottom,
            height:legendBoxHeight,
            itemWidth:14,
            data:data.map(function (a,b) {
                return a.name;
            })
        },
        toolbox: {
            show: true,
            feature: {
                dataZoom: {
                    yAxisIndex: 'none'
                },
                dataView: {readOnly: false},
                magicType: {type: ['line', 'bar']},
                restore: {},
                saveAsImage: {}
            },
        	top:35,
        	right:20,
        },
        color:colors,
        series : [
            {
                name:chartTitle,
                type:'pie',
                radius :radius,
                hoverAnimation:hoverAnimation,
                center: center,
                avoidLabelOverlap: false,
                roseType:roseType,
                data:data.sort(function (a, b) { return a.value - b.value; }),
                label: {
                    normal: {
                        show:isLabel,
                        position:labelPosition,
                        formatter:labelFormatter
                    },
                    emphasis: emphasis
                },
                labelLine: {
                    normal:labelLine
                }
            }
        ]
    };
    var myechsrt = echarts.init(document.querySelector(el));
    myechsrt.setOption(option)
    return myechsrt;
}
function initbarOrPieBtn(el,toBar,toPie,endValue){
	$(el).css('position',"relative");
	var html='<div class="chart-btns"><div class="chart-btns-box"><span class="app-icon-3232 app-bar to-bar"></span><span class="app-icon-3232 app-pie to-pie"></span></div></div>'
	$(el).append(html);
	$("span.to-bar").bind("click",function () {
		toBar(endValue);
	})
	$("span.to-pie").bind("click",function () {
		toPie();
	})
}
function record(options){//更新记录数
	 var el = 'el' in options ? options.el : console.error('cannot find el'),
        data = 'data' in options ? options.data : [];
    if(data.length > 0){
    	data = data.sort(function (a, b) { return b.value - a.value; });
    }
    var title = 'title' in options ? options.title : "",
        tooltipFormatter = 'tooltipFormatter' in options ? options.tooltipFormatter() : null,
        xData = 'xData' in options ? options.xData() : data.map(function (a,b){return a.name}),
        val = 'val' in options ? options.val() : data.map(function (a,b){return a.value}),
        err = 'err' in options ? options.err() : data.map(function (a,b){return a.error}),
        legendData = 'legendData' in options ? options.legendData() : [],
        colors = 'colors' in options ? options.colors : ['#6797f5'],
        endValue = 'endValue' in options ? options.endValue : 6
    var seriesData = 'seriesData' in options? options.seriesData() : null;   
  var  option = {
    	    tooltip : {
    	        trigger: 'axis',
    	        axisPointer : {            // 坐标轴指示器,坐标轴触发有效
    	            type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
    	        }
    	    },
    	    title:{
                text: title,
                left:'center',
                top:10,
                textStyle:{
                    color:'#5E5E5E',
                    fontSize:20
                }
            },
            dataZoom: [{
                type: 'inside',
                //startValue:0,
                //endValue:endValue
                orient:"vertical",
            }, {
                type: 'slider',
                show:false,
                bottom:-20,
                textStyle:{
                    color:'#7CAAFB',
                    fontSize:0
                },
               borderColor:'rgba(0,0,0,0)',
                fillerColor:'#2b91e7',
                handleSize:"0%"
            }],
    	    grid: {
    	        left: '3%',
    	        right: '4%',
    	        bottom: '3%',
    	        containLabel: true
    	    },
    	    xAxis:  {
    	        type: 'value'
    	    },
    	    yAxis: {
    	        type: 'category',
    	        data: xData,
    	        axisLabel: {
                    textStyle: {
                        fontSize: 15,
                    }
                },
    	    },
    	    series: [
    	        {
    	            name: '成功数量',
    	            type: 'bar',
    	            stack: '总量',
    	            label: {
    	                normal: { 
    	                    show: true,
    	                    //
    	                    position: 'insideLeft',
    	                    textStyle: {
                                fontSize: 15,
                            }
    	                }
    	            },
    	            data: val
    	        },
    	        {
    	            name: '失败数量',
    	            type: 'bar',
    	            stack: '总量',
    	            label: {
    	                normal: {
    	                	
    	                	
    	                         formatter: '{c}\n\n',
    	                 
    	                    show: true,
    	                    position: 'right',
    	                    textStyle: {
                                fontSize: 15,
                            }
    	                }
    	            },
    	            data:err
    	        },
    	       
    	    ]
    	};
           
    var myechsrt = echarts.init(document.querySelector(el));
    myechsrt.setOption(option)
    return myechsrt;
}

function kind(options){//种类统计
    var el = 'el' in options ? options.el : console.error('cannot find el'),
        data = 'data' in options ? options.data : [];
    if(data.length > 0){
    	data = data.sort(function (a, b) { return b.value - a.value; });
    }
    var title = 'title' in options ? options.title : "",
        tooltipFormatter = 'tooltipFormatter' in options ? options.tooltipFormatter() : null,
        xData = 'xData' in options ? options.xData() : data.map(function (a,b){return a.name}),		
        legendData = 'legendData' in options ? options.legendData() : [],
        colors = 'colors' in options ? options.colors : ['#6797f5'],
        endValue = 'endValue' in options ? options.endValue : 6
    var seriesData = 'seriesData' in options? options.seriesData() : null;

    var option = {
        title:{
            text: title,
            left:'center',
            top:10,
            textStyle:{
                color:'#5E5E5E',
                fontSize:20
            }
        },
        color:colors,
        legend:{
        	bottom:0,
            data:legendData
        },
        toolbox: {
            show: true,
            feature: {
                dataZoom: {
                    yAxisIndex: 'none'
                },
                dataView: {readOnly: false},
                magicType: {type: ['line', 'bar']},
                restore: {},
                saveAsImage: {}
            },
        	top:35,
        	right:20,
        },
        tooltip : {
            trigger: 'axis',
            axisPointer : {            // 坐标轴指示器,坐标轴触发有效
                type : 'shadow',      // 默认为直线,可选为:'line' | 'shadow'     
            },
            formatter:tooltipFormatter
        },
        calculable : true,
        dataZoom: [{
            type: 'inside',
        }, {
            type: 'slider',
            show:false,
            bottom:-20,
            textStyle:{
                color:'#7CAAFB',
                fontSize:0
            },
           borderColor:'rgba(0,0,0,0)',
            fillerColor:'#2b91e7',
            handleSize:"0%"
        }],
        
        grid: {
            left: '3%',
            right: '4%',
            bottom: '5%',
           containLabel: true
        },
        xAxis : [
            {
                type : 'category',
                data : xData,
                axisLabel: {
                    textStyle: {
                        fontSize: 15,
                    }
                },
            }
        ],
        yAxis : [
            {
                type : 'value'
            }
        ],
        series : seriesData ? seriesData : [
            {
                name:title,
                type:'bar',
                barWidth:'80%',
                data:data,
            }
        ]
    };
    var myechsrt = echarts.init(document.querySelector(el));
    myechsrt.setOption(option)
    return myechsrt;
}
function initStatistical(title,data1,data2,endValue){
	//横条图
	function toBar(endValue){
		$(".echart-box").html('<div  style=" height: 120%;"   id="echartContainer" class="echart-container"></div>');
		record({//更新记录数
			el:'#echartContainer',
			data:data1,
			title:title,
	        endValue:endValue?endValue:15,
			tooltipFormatter:function (data){
				return '{a} <br/> {b} : {c} (条)'
			}
		})
	}
	toBar(endValue)
	initStatisticalTable({
		el:'#divTable',
		title:title,
		data:data2,
	})
}
//统计分析-- 统计图 -- 即表格 是单项
function recordStatistical(title,data1,data2,endValue){
	//竖条图
	function toBar(endValue){//种类统计
		$(".echart-box").html('<div  style=" height: 120%;"   id="echartContainer" class="echart-container"></div>');
		kind({
			el:'#echartContainer',
			data:data1,
			title:title,
	        endValue:endValue?endValue:15,
			tooltipFormatter:function (data){
				return '{a} <br/> {b} : {c} (条)'
			}
		})
	}
	function toPie(){
		$(".echart-box").html('<div id="echartContainer" class="echart-container"></div>');
		initPie('#echartContainer',data1,{
			chartTitle:title,
			isLabel:true,
	        radius:['0','60%'],
	        colors:['#E4E625','#30C3E8','#A76EEE','#F3949A','#Fcc'],
	        hoverAnimation:false,
	        center:['50%','50%'],
	        emphasis:{
	            show: true,
	            textStyle: {
	                fontSize: 16,
	                fontWeight: 'bold'
	            }
	        },
	        legendType:"scroll",
	        legendBoxLeft:40,
	        legendBoxHeight:"50%",
		})
	}
	toBar(endValue)
	initStatisticalTable({
		el:'#divTable',
		title:title,
		data:data2,
	})
}
/**
 * 现状数据分析
 */
var configSum="";//档值,数据越多,档越大
var newDataDynamic=true;
function newTreeFigure(data,sum,endValue){
	configSum=sum;
	//横条图
	function toBar(endValue){
		$("#newEchartContainer").html('<div  style=" height: 100%;"   id="newEchart" class="echart-container"></div>');
		newXueyuan({
			el:'#newEchart',
			data:data,
			//title:title,
	        endValue:endValue?endValue:15,
			tooltipFormatter:function (data){
				return '{a} <br/> {b} : {c} (条)'
			}
		})
	}	
	toBar(endValue);
}
/**
 * 现状分析树状图
 * @param options
 * @returns
 */
function newXueyuan(options){
	var config={"top":'10%',"left":'7%',"bottom":'10%',"right":'30%',"expandAndCollapse":false,"fontSize":20,"symbolSize":20}
	if(configSum==1){
		config={"top":'10%',"left":'7%',"bottom":'10%',"right":'30%',"expandAndCollapse":false,"fontSize":20,"symbolSize":20}
	}else if(configSum==2){
		config={"top":'10%',"left":'7%',"bottom":'10%',"right":'50%',"expandAndCollapse":false,"fontSize":15,"symbolSize":15}
	}else if(configSum==3){
		config={"top":'10%',"left":'7%',"bottom":'10%',"right":'50%',"expandAndCollapse":true,"fontSize":10,"symbolSize":10}
	}
	
var el = 'el' in options ? options.el : console.error('cannot find el'),
    data = 'data' in options ? options.data : [];
   if(data.length > 0){
   	data = data.sort(function (a, b) { return b.value - a.value; });
   }  
   var cloors=['#FF0000','#0000FF','#11EE11','#808080','#33CCCC','#DD2292','#2BD54D','#0033FF','#E61A42','#2BD5D5'];
   data.itemStyle = {//根节点
	        color : '#ef9512',
	        borderColor:'#ef9512'
	    };
   var n=0;
   for(var i=0;i< data.children.length;i++){
	 n++;
	   data.children[i].lineStyle = {//根节点线条
			   color : '#ef9512',
		        borderColor:'#ef9512'
		    } ;
	   data.children[i].itemStyle = {//根节点
		        color :  cloors[n],
		        borderColor:cloors[n],
		    };	
	   for(var j=0;j< data.children[i].children.length;j++){//第二个节点
		   data.children[i].children[j].lineStyle = {//根节点线条
				   color : cloors[n],
			        borderColor:cloors[n],
			    } ;
		   data.children[i].children[j].itemStyle = {
				   color : cloors[n],
			       borderColor:cloors[n],
			    } 
	   }	
	  if(n==9){
		  n=0;
	  }
   }	 
   var option = {
           tooltip: {
               trigger: 'item',
               formatter: '{b}',
               hideDelay: 0 // chart.refresh();刷新时会维持当时图表的所有状态,所以设置隐藏延迟为0,否则在快速选择另一个节点时(尤其是数据比较多时)导致无法显示选择中的tooltip
               //无法完全避免但是很大减轻了副作用
           },            
           series: [{
               name: '树图',
               type: 'tree',
               orient: 'horizontal', // vertical horizontal
               rootLocation: { x: '10%', y: '60%' }, // 根节点位置  {x: 'center',y: 10}
               nodePadding: 50, //智能定义全局最小节点间距,不能定义层级节点间距
               symbol: 'circle',
               symbolSize: 20,
               roam: true,
               data: [data],
               silent: true,
              // initialTreeDepth:null,
               expandAndCollapse:config.expandAndCollapse,//关闭事件
               top: config.top,
               left: config.left,
               bottom: config.bottom,
               right: config.right,
               animation:newDataDynamic,
               label: {
                   normal: {
                       position: 'top',
                       verticalAlign: 'middle',
                       align: 'middle',
                       fontSize:config.fontSize ,
                       offset:[0,-10],
                   }
               },
               leaves: {
                   label: {
                       normal: {
                           position: 'right',
                           verticalAlign: 'middle',
                           align: 'left',  
                           offset:[0,0],
                       }
                   }
               },
           }]
       }; 
   var myechsrt = echarts.init(document.querySelector(el));
   myechsrt.setOption(option);
   newDataDynamic=false;
   return myechsrt;
}

/**
 * 历史数据分析
 */
var reloadData={};//历史数据结构
var historyDataDynamic=true;
var initialize_1 =true;//初始化加载一次
var load="";
function historyTreeFigure(data,sum,flag,endValue){
	load=flag;
	configSum=sum;
	if(flag=="1"){
		initialize_1=true
	}
	//横条图
	reloadData=data;
	if(initialize_1){
		$("#historyEchartContainer").html('<div  style=" height: 100%;"   id="historyEchart" class="echart-container"></div>');

		initialize_1=false;
}

	function toBar(endValue){
	

			historyXueyuan({
				el:'#historyEchart',
				data:data,
				//title:title,
		        endValue:endValue?endValue:15,
				tooltipFormatter:function (data){
					return '{a} <br/> {b} : {c} (条)'
				}
			})		
	}
	
	toBar(endValue);
}
/**
 * 历史分析数据树图
 * @param options
 * @returns
 */
function historyXueyuan(options){
	var config={"top":'10%',"left":'7%',"bottom":'10%',"right":'30%',"expandAndCollapse":false,"fontSize":20,"symbolSize":20}
	if(configSum==1){
		config={"top":'10%',"left":'7%',"bottom":'10%',"right":'50%',"expandAndCollapse":false,"fontSize":20,"symbolSize":20}
	}else if(configSum==2){
		config={"top":'10%',"left":'7%',"bottom":'10%',"right":'50%',"expandAndCollapse":false,"fontSize":15,"symbolSize":15}
	}else if(configSum==3){
		config={"top":'10%',"left":'7%',"bottom":'10%',"right":'50%',"expandAndCollapse":true,"fontSize":10,"symbolSize":10}
	}
	
var el = 'el' in options ? options.el : console.error('cannot find el'),
    data = 'data' in options ? options.data : [];
   if(data.length > 0){
   	data = data.sort(function (a, b) { return b.value - a.value; });
   }  
   var cloors=['#FF0000','#0000FF','#11EE11','#808080','#33CCCC','#DD2292','#2BD54D','#0033FF','#E61A42','#2BD5D5'];
   data.itemStyle = {//根节点
	        color : '#ef9512',
	        borderColor:'#ef9512'
	    };     
   var n=0;
   for(var i=0;i< data.children.length;i++){
	 n++;
	   data.children[i].lineStyle = {//根节点线条
			   color : '#ef9512',
		        borderColor:'#ef9512'
		    } ;
	   for(var j=0;j< data.children[i].children.length;j++){//第二个节点
		   data.children[i].children[j].lineStyle = {//根节点线条
				   color : cloors[n],
			        borderColor:cloors[n],
			    } ;
		   data.children[i].children[j].itemStyle = {
				   color : cloors[n],
			       borderColor:cloors[n],
			    } 
	   }	
	  if(n==9){
		  n=0;
	  }
   }	 
   if(load=="1"){
	   historyDataDynamic=true;
   }
   var option = {
           tooltip: {
               trigger: 'item',
               formatter: '{b}',
               hideDelay: 0 // chart.refresh();刷新时会维持当时图表的所有状态,所以设置隐藏延迟为0,否则在快速选择另一个节点时(尤其是数据比较多时)导致无法显示选择中的tooltip
               //无法完全避免但是很大减轻了副作用
           },           
           series: [{
               name: '树图',
               type: 'tree',
               orient: 'horizontal', // vertical horizontal
               rootLocation: { x: '10%', y: '60%' }, // 根节点位置  {x: 'center',y: 10}
               nodePadding: 50, //智能定义全局最小节点间距,不能定义层级节点间距
               symbol: 'circle',
               symbolSize: 20,
               roam: true,
               data: [data],
               silent: false,
              // initialTreeDepth:null,
               expandAndCollapse:config.expandAndCollapse,//关闭事件
               top: '10%',
               left: '7%',
               bottom: '10%',
               right: '30%',
               animation:historyDataDynamic,
               label: {
                   normal: {
                       position: 'top',
                       verticalAlign: 'middle',
                       align: 'middle',
                       fontSize:config.fontSize ,
                       offset:[0,-10],
                   }
               },
               leaves: {
                   label: {
                       normal: {
                           position: 'right',
                           verticalAlign: 'middle',
                           align: 'left',  
                           offset:[0,0],
                       }
                   }
               },
           }]
       }; 
   interceptor_1=true;
   
  var myechsrt = echarts.init(document.querySelector(el));
  $("#dateSelect").attr('disabled',false);
   myechsrt.setOption(option,true)
   myechsrt.on('click',function(params){
	   clickSwitchPictures(params,data);
});
   historyDataDynamic=false;
  
   return myechsrt;
}
/**
 * 点击切换图片
 */

function clickSwitchPictures(params,data){
	
	//校验点击的是历史节点
	   if(typeof(params.value)!="undefined" ){		   
		   //var check =   'image://data:image/png;base64,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';
		   var check =   'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+nhxg7wAAAT1JREFUSIm91r1Kw2AYxfFfgh+ddOtoR92tiKOrH+BVqLN4F96Mg3Z1FJQKegdFESoo6qTT45BG0CaxtcYDB8ITcv68eZ/3IyFUaBbr2MEaWpjHC3o4xzHO8F6RE0WeInaJeyJGcJ84IGaK84aLi8T1iOHffU0s/QRZIR5/Ccj9RKyWQZaI5wkBuZ+/jih7mJ7gF5X5ZpD7CTn8Y0DuwxzSkHVHHZA+0UixhWbVYplATWyn2KwJkGsjxXLNkHaStZv5GiEvSTZBwyquVitJiuspXsePG0uvKW6L3iTJ+C7RXYrLmkaQ6yJFp2ZIR80r/iFf8W84qmkUR4P8/9uF+YfzJHf7D+anLzthlUEQC0T3l4ArojWcWX5b2Tf6beWe2Bt8N5SXqL53NWTnzaZst25hTrYV9dDFKU4GXVSoD4zWTpuLY5GgAAAAAElFTkSuQmCC'; 
		   contrastData(params.value,params.name);		   
			  //将点击的节点和数据结构的匹配到一起
		   for(var i =0;i<data.children.length;i++){
			   if(data.children[i].value==params.data.value){
				   if(check == params.data.symbol){//如果节点是已选中,则改变成未选中											   
					 //  reloadData.children[i].symbol =  'image://data:image/png;base64,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';
					   initialize_1=true;
					   reloadData.children[i].symbol =  'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+nhxg7wAAAURJREFUSIm91r1KxEAUhuEnwZ+t3M7SLbV3RSxt/QGvQq3Fu/BmLNTWUlBW0DsQRVBQXCutjkU2gm4S467xwAdhMvO9TDJzzkkIFTGNVWxhBR200ccNznCIU7xX+ESRJoht4p6IGnog9oipYr/hwXniqqb5d10RCz9BloinEQG5nonlMsgC8TImINfL1x1lD5NjfKIyXQ98PyH7dRfnUXP+fg5pyU5HE5AHopViA7NVl2WMmMVmivWGAHmspVhsGNJNsuOm/f1NxO/dkqRwuJ+U2f0hREL0MVPXKIeXGRbEa4rb2tNHi7sUFw1DzlOcNAw50fCNf8xv/BsOGtrFwcD//7Iw/1BPcnV/838qMu+SivKLmCN6IwIuic6wZ3m3sqt+t3JP7AzWDfklqvuulqzerMuydUeWgl5lfVcPxzganKLC+ABWE1+A4b02FwAAAABJRU5ErkJggg==';
					   historyTreeFigure(reloadData);	
					  // return;
				   }else{//如果节点是未选中,则改变成已选中	
					  // reloadData.children[i].symbol =  'image://data:image/png;base64,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';
					   initialize_1=true;
					   reloadData.children[i].symbol =  'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+nhxg7wAAAT1JREFUSIm91r1Kw2AYxfFfgh+ddOtoR92tiKOrH+BVqLN4F96Mg3Z1FJQKegdFESoo6qTT45BG0CaxtcYDB8ITcv68eZ/3IyFUaBbr2MEaWpjHC3o4xzHO8F6RE0WeInaJeyJGcJ84IGaK84aLi8T1iOHffU0s/QRZIR5/Ccj9RKyWQZaI5wkBuZ+/jih7mJ7gF5X5ZpD7CTn8Y0DuwxzSkHVHHZA+0UixhWbVYplATWyn2KwJkGsjxXLNkHaStZv5GiEvSTZBwyquVitJiuspXsePG0uvKW6L3iTJ+C7RXYrLmkaQ6yJFp2ZIR80r/iFf8W84qmkUR4P8/9uF+YfzJHf7D+anLzthlUEQC0T3l4ArojWcWX5b2Tf6beWe2Bt8N5SXqL53NWTnzaZst25hTrYV9dDFKU4GXVSoD4zWTpuLY5GgAAAAAElFTkSuQmCC';
					   historyTreeFigure(reloadData);	
					  // return;
				   }  				   
			   }
		   }
		  
	   }
}
/**
 * 数据来源
 */
function forceFigure(links,nodes,distance,loadName,endValue){	
	function toBar(endValue){
		$(".echart-box").html('<div  style=" height: 100%;"   id="echartContainer" class="echart-container"></div>');
		laiyuan({//更新记录数
			el:'#echartContainer',
			links:links,
			nodes:nodes,
			distance:distance,
			loadName:loadName,
		})
	}
	toBar(endValue);
}
function laiyuan(options){
	var el = 'el' in options ? options.el : console.error('cannot find el'),
			nodes = 'nodes' in options ? options.nodes : [],
			links = 'links' in options ? options.links : [];
			distance = 'distance' in options ? options.distance : 1000;
			loadName='loadName' in options ? options.loadName : "";
	    var categories = [];
	   // {name:"有来源表的"},{name:"没有来源表的"}
	        categories[0] = {
	            itemStyle:{
	            	color: {
	            	    type: 'linear',
	            	    x: 0,
	            	    y: 0,
	            	    x2: 0,
	            	    y2: 1,
	            	    colorStops: [{
	            	        offset: 0, color: '#FF9900' // 0% 处的颜色
	            	    }, {
	            	        offset: 1, color: '#FF9900' // 100% 处的颜色
	            	    }],
	            	    global: false // 缺省为 false
	            	}
	            }
	        };
	        categories[1] = {name: '有来源表',
		            itemStyle:{
		            	color: {
		            	    type: 'linear',
		            	    x: 0,
		            	    y: 0,
		            	    x2: 0,
		            	    y2: 1,
		            	    colorStops: [{
		            	        offset: 0, color: '#00FF99' // 0% 处的颜色
		            	    }, {
		            	        offset: 1, color: '#00FF99' // 100% 处的颜色
		            	    }],
		            	    global: false // 缺省为 false
		            	}
		            }
		        };
	        categories[2] = {name: '有来源表',
		            itemStyle:{
		            	color: {
		            	    type: 'linear',
		            	    x: 0,
		            	    y: 0,
		            	    x2: 0,
		            	    y2: 1,
		            	    colorStops: [{
		            	        offset: 0, color: '#22DD22' // 0% 处的颜色
		            	    }, {
		            	        offset: 1, color: '#22DD22' // 100% 处的颜色
		            	    }],
		            	    global: false // 缺省为 false
		            	}
		            }
		        };
	        categories[3] = {name: '无来源表',
		            itemStyle:{
		            	color: {
		            	    type: 'linear',
		            	    x: 0,
		            	    y: 0,
		            	    x2: 0,
		            	    y2: 1,
		            	    colorStops: [{
		            	        offset: 0, color: '#00FF99' // 0% 处的颜色
		            	    }, {
		            	        offset: 1, color: '#00FF99' // 100% 处的颜色
		            	    }],
		            	    global: false // 缺省为 false
		            	}
		            }
		        };
	       
	    var  graph=  {links:links , nodes:nodes};
	    option = {
	    		  tooltip: {
	    	            show:true,
	    	             trigger: 'item',
	    	            //formatter:'{b}'
	    	             formatter:function(params){
	    	            	 //正则判断是否包含>号
	    	            	 var regex=/\>/g;
	    	            	 var str=[];//装字符串
	    	            	 if(params.data.nameAll){
	    	            		 return params.data.nameAll;
	    	            	 }
	    	            		 str = params.name.split(' > ');
	    	            	 for(var i=0;i<nodes.length;i++){
	    	            		 for(var n=0;n<str.length;n++){
	    	            			 if(str[n]==nodes[i].id){
	    	            				 str[n]=nodes[i].nameAll;
	    	            			 }
	    	            		 }
	    	            	 }
	    	                 return ""+str[0]+">"+str[1]+""
	    	             }
	    	        },	  
	       legend: {
	    	   bottom:20,
	    	   orient: 'vertical',
		        left: 'right',
		        data:categories,
		        itemGap:15,
		        textStyle: {
		            color: '#5076C2',
		            fontSize:20
		        },	
		      
	       },
	        animation: false,
	        series : [
	            {	            	
	                type: 'graph',
	                layout: 'force',
	                data: graph.nodes,
	                links:graph.links,
	                categories: categories,
	                roam: true,
	               // layoutAnimation:false,
	                lineStyle: {	                	
	                	width:3,
	                	color: '#000',
	                },
	                label: {	                	
	                	 show:true,
	                     position:'inside',
	                     align:'center',
	                     color: '#000',//文字颜色
	                     fontSize:15,
	                     fontWeight:'normal',
	                     width:100,
	                     formatter: [
	                                 '{b}',
	                                // '{c}'
	                             ].join('\n'),

	                             rich: {
	                                 b: {	                                    	                                    
	                                 },
	                                // c: {	                                
	                               //  },
	                                
	                             }
	                    // layoutAnimation:true,
	                },            
	                force: {
	                    repulsion: distance,
	                    layoutAnimation:false,
	                }             
	            }
	        ]
	    };
	    var myechsrt = echarts.init(document.querySelector(el));	
	   /* myechsrt.on('legendselectchanged', function(obj) {
	       
	    });*/
	    myechsrt.setOption(option)
	}
/**
 * 血缘分析
 */
var configSum_1=1;//档值,数据越多,档越大
var newDataDynamic=true;
function bloodTree(data,sum,endNone,endValue){
	configSum_1=sum;
	//横条图
	function toBar(endValue){
		$("#EchartContainer").html('<div  style=" height: 100%;"   id="newEchart" class="echart-container"></div>');
		bloodEcharts({
			el:'#echartContainer',
			data:data,
			endNone:endNone,
			//title:title,
	        endValue:endValue?endValue:15,
			tooltipFormatter:function (data){
				return '{a} <br/> {b} : {c} (条)'
			}
		})
	}	
	toBar(endValue);
}
/**
 * 血缘分析
 * @param options
 * @returns
 */
function bloodEcharts(options){
	var config={"top":'5%',"left":'7%',"bottom":'10%',"right":'20%',"expandAndCollapse":false,"fontSize":20,"symbolSize":20}
	if(configSum_1==1){
		config={"top":'5%',"left":'7%',"bottom":'10%',"right":'20%',"expandAndCollapse":false,"fontSize":20,"symbolSize":20}
	}else if(configSum_1==2){
		config={"top":'5%',"left":'7%',"bottom":'10%',"right":'20%',"expandAndCollapse":false,"fontSize":15,"symbolSize":12}
	}else if(configSum_1==3){
		config={"top":'5%',"left":'7%',"bottom":'10%',"right":'20%',"expandAndCollapse":true,"fontSize":10,"symbolSize":8}
	}
	
var el = 'el' in options ? options.el : console.error('cannot find el'),
    data = 'data' in options ? options.data : [],
    endNone='endNone' in options ? options.endNone : []
   if(data.length > 0){
   	data = data.sort(function (a, b) { return b.value - a.value; });
   }  
   var cloors=['#FF0000','#0000FF','#11EE11','#808080','#33CCCC','#DD2292','#2BD54D','#0033FF','#E61A42','#2BD5D5'];
   data.itemStyle = {//根节点
	        color : '#ef9512',
	        borderColor:'#ef9512'
	    };
   var n=0;
   for(var i=0;i< data.children.length;i++){
	 n++;
	   data.children[i].lineStyle = {//根节点线条
			   color : '#ef9512',
		        borderColor:'#ef9512'
		    } ;
	   data.children[i].itemStyle = {//根节点
		        color :  cloors[n],
		        borderColor:cloors[n],
		    };	
	   var count_1=0;
	   for(var m=0;m<endNone.length;m++){
		   
		   if(data.children[i].name!=endNone[m]){
			   count_1++;
			  
		   }
		 
	   }
	   if(count_1==endNone.length){
		   for(var j=0;j< data.children[i].children.length;j++){//第二个节点
			   data.children[i].children[j].lineStyle = {//根节点线条
					   color : cloors[n],
				        borderColor:cloors[n],
				    } ;
			   data.children[i].children[j].itemStyle = {
					   color : cloors[n],
				       borderColor:cloors[n],
				    } 
		   }
	   }
	 	
	  if(n==9){
		  n=0;
	  }
   }	 
   var option = {
           tooltip: {
               trigger: 'item',
               formatter: '{b}',
               hideDelay: 0 // chart.refresh();刷新时会维持当时图表的所有状态,所以设置隐藏延迟为0,否则在快速选择另一个节点时(尤其是数据比较多时)导致无法显示选择中的tooltip
               //无法完全避免但是很大减轻了副作用
           },            
           series: [{
               name: '树图',
               type: 'tree',
               orient: 'horizontal', // vertical horizontal
               rootLocation: { x: '10%', y: '60%' }, // 根节点位置  {x: 'center',y: 10}
               nodePadding: 30, //智能定义全局最小节点间距,不能定义层级节点间距
               symbol: 'circle',
               symbolSize: config.symbolSize,
               roam: true,
               data: [data],
               silent: true,
              // initialTreeDepth:null,
               expandAndCollapse:config.expandAndCollapse,//关闭事件
               top: config.top,
               left: config.left,
               bottom: config.bottom,
               right: config.right,
               animation:newDataDynamic,
               label: {
                   normal: {
                       position: 'right',
                       verticalAlign: 'middle',
                      // align: 'middle',
                       fontSize:config.fontSize ,
                      // offset:[0,-20],
                   }
               },
               leaves: {
                   label: {
                       normal: {
                           position: 'right',
                           //verticalAlign: 'middle',
                           align: 'left',  
                           offset:[0,0],
                       }
                   }
               },
           }]
       }; 
   var myechsrt = echarts.init(document.querySelector(el));
   myechsrt.setOption(option);
   newDataDynamic=false;
   return myechsrt;
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


版权声明:本文为qq_42795915原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。