OpenAuth.Net/OpenAuth.Mvc/Content/echarts/chart/scatter.js

1 line
27 KiB
JavaScript
Raw Normal View History

define("echarts/chart/scatter",["require","../component/base","./base","../util/shape/Symbol","../component/axis","../component/grid","../component/dataZoom","../component/dataRange","../config","zrender/tool/util","zrender/tool/color","../chart"],function(e){function t(e,t,a,o,s){i.call(this,e,t,a,o,s),n.call(this),this.refresh(o)}var i=e("../component/base"),n=e("./base"),a=e("../util/shape/Symbol");e("../component/axis"),e("../component/grid"),e("../component/dataZoom"),e("../component/dataRange");var o=e("../config"),s=e("zrender/tool/util"),r=e("zrender/tool/color");return t.prototype={type:o.CHART_TYPE_SCATTER,_buildShape:function(){var e=this.series;this._sIndex2ColorMap={},this._symbol=this.option.symbolList,this._sIndex2ShapeMap={},this.selectedMap={},this.xMarkMap={};for(var t,i,n,a,s=this.component.legend,l=[],h=0,d=e.length;d>h;h++)if(t=e[h],i=t.name,t.type===o.CHART_TYPE_SCATTER){if(e[h]=this.reformOption(e[h]),this.legendHoverLink=e[h].legendHoverLink||this.legendHoverLink,this._sIndex2ShapeMap[h]=this.query(t,"symbol")||this._symbol[h%this._symbol.length],s){if(this.selectedMap[i]=s.isSelected(i),this._sIndex2ColorMap[h]=r.alpha(s.getColor(i),.5),n=s.getItemShape(i)){var a=this._sIndex2ShapeMap[h];n.style.brushType=a.match("empty")?"stroke":"both",a=a.replace("empty","").toLowerCase(),a.match("rectangle")&&(n.style.x+=Math.round((n.style.width-n.style.height)/2),n.style.width=n.style.height),a.match("star")&&(n.style.n=a.replace("star","")-0||5,a="star"),a.match("image")&&(n.style.image=a.replace(new RegExp("^image:\\/\\/"),""),n.style.x+=Math.round((n.style.width-n.style.height)/2),n.style.width=n.style.height,a="image"),n.style.iconType=a,s.setItemShape(i,n)}}else this.selectedMap[i]=!0,this._sIndex2ColorMap[h]=r.alpha(this.zr.getColor(h),.5);this.selectedMap[i]&&l.push(h)}this._buildSeries(l),this.addShapeList()},_buildSeries:function(e){if(0!==e.length){for(var t,i,n,a,o,s,r,l,h=this.series,d={},m=0,c=e.length;c>m;m++)if(t=e[m],i=h[t],0!==i.data.length){o=this.component.xAxis.getAxis(i.xAxisIndex||0),s=this.component.yAxis.getAxis(i.yAxisIndex||0),d[t]=[];for(var p=0,u=i.data.length;u>p;p++)n=i.data[p],a=null!=n?null!=n.value?n.value:n:"-","-"===a||a.length<2||(r=o.getCoord(a[0]),l=s.getCoord(a[1]),d[t].push([r,l,p,n.name||""]));this.xMarkMap[t]=this._markMap(o,s,i.data,d[t]),this.buildMark(t)}this._buildPointList(d)}},_markMap:function(e,t,i,n){for(var a,o={min0:Number.POSITIVE_INFINITY,max0:Number.NEGATIVE_INFINITY,sum0:0,counter0:0,average0:0,min1:Number.POSITIVE_INFINITY,max1:Number.NEGATIVE_INFINITY,sum1:0,counter1:0,average1:0},s=0,r=n.length;r>s;s++)a=i[n[s][2]].value||i[n[s][2]],o.min0>a[0]&&(o.min0=a[0],o.minY0=n[s][1],o.minX0=n[s][0]),o.max0<a[0]&&(o.max0=a[0],o.maxY0=n[s][1],o.maxX0=n[s][0]),o.sum0+=a[0],o.counter0++,o.min1>a[1]&&(o.min1=a[1],o.minY1=n[s][1],o.minX1=n[s][0]),o.max1<a[1]&&(o.max1=a[1],o.maxY1=n[s][1],o.maxX1=n[s][0]),o.sum1+=a[1],o.counter1++;var l=this.component.grid.getX(),h=this.component.grid.getXend(),d=this.component.grid.getY(),m=this.component.grid.getYend();o.average0=(o.sum0/o.counter0).toFixed(2)-0;var c=e.getCoord(o.average0);o.averageLine0=[[c,m],[c,d]],o.minLine0=[[o.minX0,m],[o.minX0,d]],o.maxLine0=[[o.maxX0,m],[o.maxX0,d]],o.average1=(o.sum1/o.counter1).toFixed(2)-0;var p=t.getCoord(o.average1);return o.averageLine1=[[l,p],[h,p]],o.minLine1=[[l,o.minY1],[h,o.minY1]],o.maxLine1=[[l,o.maxY1],[h,o.maxY1]],o},_buildPointList:function(e){var t,i,n,a,o=this.series;for(var s in e)if(t=o[s],i=e[s],t.large&&t.data.length>t.largeThreshold)this.shapeList.push(this._getLargeSymbol(i,this.getItemStyleColor(this.query(t,"itemStyle.normal.color"),s,-1)||this._sIndex2ColorMap[s]));else for(var r=0,l=i.length;l>r;r++)n=i[r],a=this._getSymbol(s,n[2],n[3],n[0],n[1]),a&&this.shapeList.push(a)},_getSymbol:function(e,t,i,n,a){var o,s=this.series,r=s[e],l=r.data[t],h=this.component.dataRange;if(h){if(o=isNaN(l[2])?this._sIndex2ColorMap[e]:h.getColor(l[2]),!o)return null}else o=this._sIndex2ColorMap[e];var d=this.getSymbolShape(r,e,l,t,i,n,a,this._sIndex2ShapeMap[e],o,"rgba(0,0,0,0)