var define;var require;var esl;(function(global){var modmodules={};var module_pre_defined=1;var module_analyzed=2;var module_prepared=3;var module_defined=4;var modautodefinemodules={};function modflagautodefine(id){if(!modis(id,module_defined)){modautodefinemodules[id]=1;}} var buildin_module={require:globalrequire,exports:1,module:1};var actualglobalrequire=createlocalrequire();var waittimeout;var requireconf={baseurl:'./',paths:{},config:{},map:{},packages:[],shim:{},waitseconds:0,bundles:{},urlargs:{}};function globalrequire(requireid,callback){var invalidids=[];function monitor(id){if(id.indexof('.')===0){invalidids.push(id);}} if(typeof requireid==='string'){monitor(requireid);} else{each(requireid,function(id){monitor(id);});} if(invalidids.length>0){throw new error('[require_fatal]relative id is not allowed in global require: ' +invalidids.join(', '));} var timeout=requireconf.waitseconds;if(timeout&&(requireid instanceof array)){if(waittimeout){cleartimeout(waittimeout);} waittimeout=settimeout(waittimeoutnotice,timeout*1000);} return actualglobalrequire(requireid,callback);} globalrequire.version='2.0.2';globalrequire.loader='esl';globalrequire.tourl=actualglobalrequire.tourl;function waittimeoutnotice(){var hangmodules=[];var missmodules=[];var hangmodulesmap={};var missmodulesmap={};var visited={};function checkerror(id,hard){if(visited[id]||modis(id,module_defined)){return;} visited[id]=1;if(!modis(id,module_prepared)){if(!hangmodulesmap[id]){hangmodulesmap[id]=1;hangmodules.push(id);}} var mod=modmodules[id];if(!mod){if(!missmodulesmap[id]){missmodulesmap[id]=1;missmodules.push(id);}} else if(hard){if(!hangmodulesmap[id]){hangmodulesmap[id]=1;hangmodules.push(id);} each(mod.depms,function(dep){checkerror(dep.absid,dep.hard);});}} for(var id in modautodefinemodules){checkerror(id,1);} if(hangmodules.length||missmodules.length){throw new error('[module_timeout]hang( ' +(hangmodules.join(', ')||'none') +' ) miss( ' +(missmodules.join(', ')||'none') +' )');}} var wait4predefine=[];function modcompletepredefine(currentid){each(wait4predefine,function(mod){modpredefine(currentid,mod.deps,mod.factory);});wait4predefine.length=0;} function globaldefine(id,dependencies,factory){if(factory==null){if(dependencies==null){factory=id;id=null;} else{factory=dependencies;dependencies=null;if(id instanceof array){dependencies=id;id=null;}}} if(factory==null){return;} var opera=window.opera;if(!id&&document.attachevent&&(!(opera&&opera.tostring()==='[object opera]'))){var currentscript=getcurrentscript();id=currentscript&¤tscript.getattribute('data-require-id');} if(id){modpredefine(id,dependencies,factory);} else{wait4predefine[0]={deps:dependencies,factory:factory};}} globaldefine.amd={};function moduleconfiggetter(){var conf=requireconf.config[this.id];if(conf&&typeof conf==='object'){return conf;} return{};} function modpredefine(id,dependencies,factory){if(!modmodules[id]){modmodules[id]={id:id,depsdec:dependencies,deps:dependencies||['require','exports','module'],factorydeps:[],factory:factory,exports:{},config:moduleconfiggetter,state:module_pre_defined,require:createlocalrequire(id),depms:[],depmkv:{},deprs:[]};}} function modprepare(id){var mod=modmodules[id];if(!mod||modis(id,module_analyzed)){return;} var deps=mod.deps;var factory=mod.factory;var harddependscount=0;if(typeof factory==='function'){harddependscount=math.min(factory.length,deps.length);!mod.depsdec&&factory.tostring().replace(/(\/\*([\s\s]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,'').replace(/require\(\s*(['"'])([^'"]+)\1\s*\)/g,function($0,$1,depid){deps.push(depid);});} var requiremodules=[];var depresources=[];each(deps,function(depid,index){var idinfo=parseid(depid);var absid=normalize(idinfo.mod,id);var moduleinfo;var resinfo;if(absid&&!buildin_module[absid]){if(idinfo.res){resinfo={id:depid,mod:absid,res:idinfo.res};depresources.push(depid);mod.deprs.push(resinfo);} moduleinfo=mod.depmkv[absid];if(!moduleinfo){moduleinfo={id:idinfo.mod,absid:absid,hard:index=state;} function modtryinvokefactory(id){var mod=modmodules[id];if(mod&&mod.invokefactory){mod.invokefactory();}} function modgetmodulesexports(modules,buildinmodules){var args=[];each(modules,function(id,index){if(typeof id==='object'){id=id.absid;} args[index]=buildinmodules[id]||modmodules[id].exports;});return args;} var moddefinedlisteners={};function modadddefinedlistener(id,listener){if(modis(id,module_defined)){listener();return;} var listeners=moddefinedlisteners[id];if(!listeners){listeners=moddefinedlisteners[id]=[];} listeners.push(listener);} function moddefined(id){var mod=modmodules[id];mod.state=module_defined;delete modautodefinemodules[id];var listeners=moddefinedlisteners[id]||[];var len=listeners.length;while(len--){listeners[len]();} listeners.length=0;moddefinedlisteners[id]=null;} function nativeasyncrequire(ids,callback,baseid){var iscallbackcalled=0;each(ids,function(id){if(!(buildin_module[id]||modis(id,module_defined))){modadddefinedlistener(id,tryfinishrequire);(id.indexof('!')>0?loadresource:loadmodule)(id,baseid);}});tryfinishrequire();function tryfinishrequire(){if(typeof callback==='function'&&!iscallbackcalled){var isallcompleted=1;each(ids,function(id){if(!buildin_module[id]){return(isallcompleted=!!modis(id,module_defined));}});if(isallcompleted){iscallbackcalled=1;callback.apply(global,modgetmodulesexports(ids,buildin_module));}}}} var loadingmodules={};function loadmodule(moduleid){if(loadingmodules[moduleid]||modmodules[moduleid]){return;} loadingmodules[moduleid]=1;var shimconf=requireconf.shim[moduleid];if(shimconf instanceof array){requireconf.shim[moduleid]=shimconf={deps:shimconf};} var shimdeps=shimconf&&(shimconf.deps||[]);if(shimdeps){each(shimdeps,function(dep){if(!requireconf.shim[dep]){requireconf.shim[dep]={};}});actualglobalrequire(shimdeps,load);} else{load();} function load(){var bundlemoduleid=bundlesindex[moduleid];createscript(bundlemoduleid||moduleid,loaded);} function loaded(){if(shimconf){var exports;if(typeof shimconf.init==='function'){exports=shimconf.init.apply(global,modgetmodulesexports(shimdeps,buildin_module));} if(exports==null&&shimconf.exports){exports=global;each(shimconf.exports.split('.'),function(prop){exports=exports[prop];return!!exports;});} globaldefine(moduleid,shimdeps,exports||{});} else{modcompletepredefine(moduleid);} modautodefine();}} function loadresource(pluginandresource,baseid){if(modmodules[pluginandresource]){return;} var bundlemoduleid=bundlesindex[pluginandresource];if(bundlemoduleid){loadmodule(bundlemoduleid);return;} var idinfo=parseid(pluginandresource);var resource={id:pluginandresource,state:module_analyzed};modmodules[pluginandresource]=resource;function pluginonload(value){resource.exports=value||true;moddefined(pluginandresource);} pluginonload.fromtext=function(id,text){new function(text)();modcompletepredefine(id);};function load(plugin){var pluginrequire=baseid?modmodules[baseid].require:actualglobalrequire;plugin.load(idinfo.res,pluginrequire,pluginonload,moduleconfiggetter.call({id:pluginandresource}));} load(actualglobalrequire(idinfo.mod));} globalrequire.config=function(conf){if(conf){for(var key in requireconf){var newvalue=conf[key];var oldvalue=requireconf[key];if(!newvalue){continue;} if(key==='urlargs'&&typeof newvalue==='string'){requireconf.urlargs['*']=newvalue;} else{if(oldvalue instanceof array){oldvalue.push.apply(oldvalue,newvalue);} else if(typeof oldvalue==='object'){for(var k in newvalue){oldvalue[k]=newvalue[k];}} else{requireconf[key]=newvalue;}}} createconfindex();}};createconfindex();var pathsindex;var packagesindex;var mappingidindex;var bundlesindex;var urlargsindex;function createkvsortedindex(value,allowasterisk){var index=kv2list(value,1,allowasterisk);index.sort(descsorterbykorname);return index;} function createconfindex(){requireconf.baseurl=requireconf.baseurl.replace(/\/$/,'')+'/';pathsindex=createkvsortedindex(requireconf.paths);mappingidindex=createkvsortedindex(requireconf.map,1);each(mappingidindex,function(item){item.v=createkvsortedindex(item.v);});packagesindex=[];each(requireconf.packages,function(packageconf){var pkg=packageconf;if(typeof packageconf==='string'){pkg={name:packageconf.split('/')[0],location:packageconf,main:'main'};} pkg.location=pkg.location||pkg.name;pkg.main=(pkg.main||'main').replace(/\.js$/i,'');pkg.reg=createprefixregexp(pkg.name);packagesindex.push(pkg);});packagesindex.sort(descsorterbykorname);urlargsindex=createkvsortedindex(requireconf.urlargs,1);bundlesindex={};function bundlesiterator(id){bundlesindex[id]=key;} for(var key in requireconf.bundles){each(requireconf.bundles[key],bundlesiterator);}} function indexretrieve(value,index,hitbehavior){each(index,function(item){if(item.reg.test(value)){hitbehavior(item.v,item.k,item);return false;}});} function tourl(source){var extreg=/(\.[a-z0-9]+)$/i;var queryreg=/(\?[^#]*)$/;var extname='';var id=source;var query='';if(queryreg.test(source)){query=regexp.$1;source=source.replace(queryreg,'');} if(extreg.test(source)){extname=regexp.$1;id=source.replace(extreg,'');} var url=id;var ispathmap;indexretrieve(id,pathsindex,function(value,key){url=url.replace(key,value);ispathmap=1;});if(!ispathmap){indexretrieve(id,packagesindex,function(value,key,item){url=url.replace(item.name,item.location);});} if(!/^([a-z]{2,10}:\/)?\//i.test(url)){url=requireconf.baseurl+url;} url+=extname+query;indexretrieve(id,urlargsindex,function(value){url+=(url.indexof('?')>0?'&':'?')+value;});return url;} function createlocalrequire(baseid){var requiredcache={};function req(requireid,callback){if(typeof requireid==='string'){if(!requiredcache[requireid]){var toplevelid=normalize(requireid,baseid);modtryinvokefactory(toplevelid);if(!modis(toplevelid,module_defined)){throw new error('[module_miss]"'+toplevelid+'" is not exists!');} requiredcache[requireid]=modmodules[toplevelid].exports;} return requiredcache[requireid];} else if(requireid instanceof array){var puremodules=[];var normalizedids=[];each(requireid,function(id,i){var idinfo=parseid(id);var absid=normalize(idinfo.mod,baseid);var resid=idinfo.res;var normalizedid=absid;if(resid){var trueresid=absid+'!'+resid;if(resid.indexof('.')!==0&&bundlesindex[trueresid]){absid=normalizedid=trueresid;} else{normalizedid=null;}} normalizedids[i]=normalizedid;modflagautodefine(absid);puremodules.push(absid);});nativeasyncrequire(puremodules,function(){each(normalizedids,function(id,i){if(id==null){id=normalizedids[i]=normalize(requireid[i],baseid);modflagautodefine(id);}});nativeasyncrequire(normalizedids,callback,baseid);modautodefine();},baseid);modautodefine();}} req.tourl=function(id){return tourl(normalize(id,baseid));};return req;} function normalize(id,baseid){if(!id){return '';} baseid=baseid||'';var idinfo=parseid(id);if(!idinfo){return id;} var resourceid=idinfo.res;var moduleid=relative2absolute(idinfo.mod,baseid);each(packagesindex,function(packageconf){var name=packageconf.name;if(name===moduleid){moduleid=name+'/'+packageconf.main;return false;}});indexretrieve(baseid,mappingidindex,function(value){indexretrieve(moduleid,value,function(mdvalue,mdkey){moduleid=moduleid.replace(mdkey,mdvalue);});});if(resourceid){var mod=modis(moduleid,module_defined)&&actualglobalrequire(moduleid);resourceid=mod&&mod.normalize?mod.normalize(resourceid,function(resid){return normalize(resid,baseid);}):normalize(resourceid,baseid);moduleid+='!'+resourceid;} return moduleid;} function relative2absolute(id,baseid){if(id.indexof('.')===0){var basepath=baseid.split('/');var namepath=id.split('/');var baselen=basepath.length-1;var namelen=namepath.length;var cutbaseterms=0;var cutnameterms=0;pathloop:for(var i=0;i0||series[i].markpoint&&series[i].markpoint.data&&series[i].markpoint.data.length>0||series[i].markline&&series[i].markline.data&&series[i].markline.data.length>0||series[i].nodes&&series[i].nodes.length>0||series[i].links&&series[i].links.length>0||series[i].matrix&&series[i].matrix.length>0||series[i].eventlist&&series[i].eventlist.length>0){return false;}} var loadoption=this._option&&this._option.nodataloadingoption||this._themeconfig.nodataloadingoption||ecconfig.nodataloadingoption||{text:this._option&&this._option.nodatatext||this._themeconfig.nodatatext||ecconfig.nodatatext,effect:this._option&&this._option.nodataeffect||this._themeconfig.nodataeffect||ecconfig.nodataeffect};this.clear();this.showloading(loadoption);return true;},_render:function(magicoption){this._mergeglobalconifg(magicoption);if(this._nodatacheck(magicoption)){return;} var bgcolor=magicoption.backgroundcolor;if(bgcolor){if(!_canvassupported&&bgcolor.indexof('rgba')!=-1){var clist=bgcolor.split(',');this.dom.style.filter='alpha(opacity='+clist[3].substring(0,clist[3].lastindexof(')'))*100+')';clist.length=3;clist[0]=clist[0].replace('a','');this.dom.style.backgroundcolor=clist.join(',')+')';}else{this.dom.style.backgroundcolor=bgcolor;}} this._zr.clearanimation();this._chartlist=[];var chartlibrary=require('./chart');var componentlibrary=require('./component');if(magicoption.xaxis||magicoption.yaxis){magicoption.grid=magicoption.grid||{};magicoption.datazoom=magicoption.datazoom||{};} var componentlist=['title','legend','tooltip','datarange','roamcontroller','grid','datazoom','xaxis','yaxis','polar'];var componentclass;var componenttype;var component;for(var i=0,l=componentlist.length;i ');var targetindex=-1;for(var i=0,l=dataarray.length;i-1){dataarray.splice(targetindex,1);this._optionrestore.series[seriesidx][marktype].data.splice(targetindex,1);var chart=this.chart[seriesitem.type];chart&&chart.delmark(seriesidx,markname.join(' > '),marktype);} return this;},getdom:function(){return this.dom;},getzrender:function(){return this._zr;},getdataurl:function(imgtype){if(!_canvassupported){return '';} if(this._chartlist.length===0){var imgid='img'+this.id;var img=document.getelementbyid(imgid);if(img){return img.src;}} var tooltip=this.component.tooltip;tooltip&&tooltip.hidetip();switch(imgtype){case 'jpeg':break;default:imgtype='png';} var bgcolor=this._option.backgroundcolor;if(bgcolor&&bgcolor.replace(' ','')==='rgba(0,0,0,0)'){bgcolor='#fff';} return this._zr.todataurl('image/'+imgtype,bgcolor);},getimage:function(imgtype){var title=this._optionrestore.title;var imgdom=document.createelement('img');imgdom.src=this.getdataurl(imgtype);imgdom.title=title&&title.text||'echarts';return imgdom;},getconnecteddataurl:function(imgtype){if(!this.isconnected()){return this.getdataurl(imgtype);} var tempdom=this.dom;var imglist={'self':{img:this.getdataurl(imgtype),left:tempdom.offsetleft,top:tempdom.offsettop,right:tempdom.offsetleft+tempdom.offsetwidth,bottom:tempdom.offsettop+tempdom.offsetheight}};var minleft=imglist.self.left;var mintop=imglist.self.top;var maxright=imglist.self.right;var maxbottom=imglist.self.bottom;for(var c in this._connected){tempdom=this._connected[c].getdom();imglist[c]={img:this._connected[c].getdataurl(imgtype),left:tempdom.offsetleft,top:tempdom.offsettop,right:tempdom.offsetleft+tempdom.offsetwidth,bottom:tempdom.offsettop+tempdom.offsetheight};minleft=math.min(minleft,imglist[c].left);mintop=math.min(mintop,imglist[c].top);maxright=math.max(maxright,imglist[c].right);maxbottom=math.max(maxbottom,imglist[c].bottom);} var zrdom=document.createelement('div');zrdom.style.position='absolute';zrdom.style.left='-4000px';zrdom.style.width=maxright-minleft+'px';zrdom.style.height=maxbottom-mintop+'px';document.body.appendchild(zrdom);var zrimg=require('zrender').init(zrdom);var imageshape=require('zrender/shape/image');for(var c in imglist){zrimg.addshape(new imageshape({style:{x:imglist[c].left-minleft,y:imglist[c].top-mintop,image:imglist[c].img}}));} zrimg.render();var bgcolor=this._option.backgroundcolor;if(bgcolor&&bgcolor.replace(/ /g,'')==='rgba(0,0,0,0)'){bgcolor='#fff';} var image=zrimg.todataurl('image/png',bgcolor);settimeout(function(){zrimg.dispose();zrdom.parentnode.removechild(zrdom);zrdom=null;},100);return image;},getconnectedimage:function(imgtype){var title=this._optionrestore.title;var imgdom=document.createelement('img');imgdom.src=this.getconnecteddataurl(imgtype);imgdom.title=title&&title.text||'echarts';return imgdom;},on:function(eventname,eventlistener){this._messagecenteroutside.bind(eventname,eventlistener,this);return this;},un:function(eventname,eventlistener){this._messagecenteroutside.unbind(eventname,eventlistener);return this;},connect:function(connecttarget){if(!connecttarget){return this;} if(!this._connected){this._connected={};} if(connecttarget instanceof array){for(var i=0,l=connecttarget.length;i=0){animators.splice(idx,1);}});animators.push(animator);return animator;}else{log('element not existed');}};zrender.prototype.stopanimation=function(el){if(el.__animators){var animators=el.__animators;var len=animators.length;for(var i=0;i0?-1:1;shape.style.r-=delta;shape.style.r=shape.style.r<5?5:shape.style.r;var value=ecdata.get(shape,'value');var dvalue=value*self.option.island.calculatestep;value=dvalue>1?math.round(value-dvalue*delta):+(value-dvalue*delta).tofixed(2);var name=ecdata.get(shape,'name');shape.style.text=name+':'+value;ecdata.set(shape,'value',value);ecdata.set(shape,'name',name);self.zr.modshape(shape.id);self.zr.refreshnextframe();zrevent.stop(event);};} island.prototype={type:ecconfig.chart_type_island,_combine:function(tarshape,srcshape){var zrcolor=require('zrender/tool/color');var accmath=require('../util/accmath');var value=accmath.accadd(ecdata.get(tarshape,'value'),ecdata.get(srcshape,'value'));var name=ecdata.get(tarshape,'name')+this._nameconnector+ecdata.get(srcshape,'name');tarshape.style.text=name+this._valueconnector+value;ecdata.set(tarshape,'value',value);ecdata.set(tarshape,'name',name);tarshape.style.r=this.option.island.r;tarshape.style.color=zrcolor.mix(tarshape.style.color,srcshape.style.color);},refresh:function(newoption){if(newoption){newoption.island=this.reformoption(newoption.island);this.option=newoption;this._nameconnector=this.option.nameconnector;this._valueconnector=this.option.valueconnector;}},getoption:function(){return this.option;},resize:function(){var newwidth=this.zr.getwidth();var newhieght=this.zr.getheight();var xscale=newwidth/(this._zrwidth||newwidth);var yscale=newhieght/(this._zrheight||newhieght);if(xscale===1&&yscale===1){return;} this._zrwidth=newwidth;this._zrheight=newhieght;for(var i=0,l=this.shapelist.length;i0){var name;var key;for(var i=0,l=iconname.length;i=1){var target=this._markshapelist[len-1];this.zr.delshape(target.id);this.zr.refreshnextframe();this._markshapelist.pop();if(len===1){this._icondisable(this._iconshapemap['markundo']);this._icondisable(this._iconshapemap['markclear']);}}} return true;},__onmarkclear:function(){if(this._marking){this._marking=false;} var len=this._markshapelist.length;if(len>0){while(len--){this.zr.delshape(this._markshapelist.pop().id);} this._icondisable(this._iconshapemap['markundo']);this._icondisable(this._iconshapemap['markclear']);this.zr.refreshnextframe();} return true;},__ondatazoom:function(param){var target=param.target;if(this._zooming||this._zoomstart){this._resetzoom();this.zr.refreshnextframe();this.dom.style.cursor='default';}else{this._resetmark();this.zr.modshape(target.id,{style:{strokecolor:this._enablecolor}});this.zr.refreshnextframe();this._zoomstart=true;var self=this;settimeout(function(){self.zr&&self.zr.on(zrconfig.event.mousedown,self._onmousedown)&&self.zr.on(zrconfig.event.mouseup,self._onmouseup)&&self.zr.on(zrconfig.event.mousemove,self._onmousemove);},10);this.dom.style.cursor='crosshair';} return true;},__ondatazoomreset:function(){if(this._zooming){this._zooming=false;} this._zoomqueue.pop();if(this._zoomqueue.length>0){this.component.datazoom.absolutezoom(this._zoomqueue[this._zoomqueue.length-1]);}else{this.component.datazoom.rectzoom();this._icondisable(this._iconshapemap['datazoomreset']);this.zr.refreshnextframe();} return true;},_resetmark:function(){this._marking=false;if(this._markstart){this._markstart=false;if(this._iconshapemap['mark']){this.zr.modshape(this._iconshapemap['mark'].id,{style:{strokecolor:this._iconshapemap['mark'].highlightstyle.strokecolor}});} this.zr.un(zrconfig.event.click,this._onclick);this.zr.un(zrconfig.event.mousemove,this._onmousemove);}},_resetzoom:function(){this._zooming=false;if(this._zoomstart){this._zoomstart=false;if(this._iconshapemap['datazoom']){this.zr.modshape(this._iconshapemap['datazoom'].id,{style:{strokecolor:this._iconshapemap['datazoom'].highlightstyle.strokecolor}});} this.zr.un(zrconfig.event.mousedown,this._onmousedown);this.zr.un(zrconfig.event.mouseup,this._onmouseup);this.zr.un(zrconfig.event.mousemove,this._onmousemove);}},_icondisable:function(target){if(target.type!='image'){this.zr.modshape(target.id,{hoverable:false,clickable:false,style:{strokecolor:this._disablecolor}});}else{this.zr.modshape(target.id,{hoverable:false,clickable:false,style:{opacity:0.3}});}},_iconenable:function(target){if(target.type!='image'){this.zr.modshape(target.id,{hoverable:true,clickable:true,style:{strokecolor:target.highlightstyle.strokecolor}});}else{this.zr.modshape(target.id,{hoverable:true,clickable:true,style:{opacity:0.8}});}},__ondataview:function(){this._dataview.show(this.option);return true;},__onrestore:function(){this._resetmark();this._resetzoom();this.messagecenter.dispatch(ecconfig.event.restore,null,null,this.mychart);return true;},__onsaveasimage:function(){var saveoption=this.option.toolbox.feature.saveasimage;var imgtype=saveoption.type||'png';if(imgtype!='png'&&imgtype!='jpeg'){imgtype='png';} var image;if(!this.mychart.isconnected()){image=this.zr.todataurl('image/'+imgtype,this.option.backgroundcolor&&this.option.backgroundcolor.replace(' ','')==='rgba(0,0,0,0)'?'#fff':this.option.backgroundcolor);}else{image=this.mychart.getconnecteddataurl(imgtype);} var downloaddiv=document.createelement('div');downloaddiv.id='__echarts_download_wrap__';downloaddiv.style.csstext='position:fixed;'+'z-index:99999;'+'display:block;'+'top:0;left:0;'+'background-color:rgba(33,33,33,0.5);'+'text-align:center;'+'width:100%;'+'height:100%;'+'line-height:'+document.documentelement.clientheight+'px;';var downloadlink=document.createelement('a');downloadlink.href=image;downloadlink.setattribute('download',(saveoption.name?saveoption.name:this.option.title&&(this.option.title.text||this.option.title.subtext)?this.option.title.text||this.option.title.subtext:'echarts')+'.'+imgtype);downloadlink.innerhtml='';downloaddiv.appendchild(downloadlink);document.body.appendchild(downloaddiv);downloadlink=null;downloaddiv=null;settimeout(function(){var _d=document.getelementbyid('__echarts_download_wrap__');if(_d){_d.onclick=function(){var d=document.getelementbyid('__echarts_download_wrap__');d.onclick=null;d.innerhtml='';document.body.removechild(d);d=null;};_d=null;}},500);return;},__onmagictype:function(param){this._resetmark();var itemname=param.target._name;if(!this._magictype[itemname]){this._magictype[itemname]=true;if(itemname===ecconfig.chart_type_line){this._magictype[ecconfig.chart_type_bar]=false;}else if(itemname===ecconfig.chart_type_bar){this._magictype[ecconfig.chart_type_line]=false;} if(itemname===ecconfig.chart_type_pie){this._magictype[ecconfig.chart_type_funnel]=false;}else if(itemname===ecconfig.chart_type_funnel){this._magictype[ecconfig.chart_type_pie]=false;} if(itemname===ecconfig.chart_type_force){this._magictype[ecconfig.chart_type_chord]=false;}else if(itemname===ecconfig.chart_type_chord){this._magictype[ecconfig.chart_type_force]=false;} if(itemname===_magictype_stack){this._magictype[_magictype_tiled]=false;}else if(itemname===_magictype_tiled){this._magictype[_magictype_stack]=false;} this.messagecenter.dispatch(ecconfig.event.magic_type_changed,param.event,{magictype:this._magictype},this.mychart);} return true;},setmagictype:function(magictype){this._resetmark();this._magictype=magictype;!this._issilence&&this.messagecenter.dispatch(ecconfig.event.magic_type_changed,null,{magictype:this._magictype},this.mychart);},__oncustomhandler:function(param){var target=param.target.style.icontype;var featurehandler=this.option.toolbox.feature[target].onclick;if(typeof featurehandler==='function'){featurehandler.call(this,this.option);}},reset:function(newoption,isrestore){isrestore&&this.clear();if(this.query(newoption,'toolbox.show')&&this.query(newoption,'toolbox.feature.magictype.show')){var magictype=newoption.toolbox.feature.magictype.type;var len=magictype.length;this._magicmap={};while(len--){this._magicmap[magictype[len]]=true;} len=newoption.series.length;var oritype;var axis;while(len--){oritype=newoption.series[len].type;if(this._magicmap[oritype]){axis=newoption.xaxis instanceof array?newoption.xaxis[newoption.series[len].xaxisindex||0]:newoption.xaxis;if(axis&&(axis.type||'category')==='category'){axis.__boundarygap=axis.boundarygap!=null?axis.boundarygap:true;} axis=newoption.yaxis instanceof array?newoption.yaxis[newoption.series[len].yaxisindex||0]:newoption.yaxis;if(axis&&axis.type==='category'){axis.__boundarygap=axis.boundarygap!=null?axis.boundarygap:true;} newoption.series[len].__type=oritype;newoption.series[len].__itemstyle=zrutil.clone(newoption.series[len].itemstyle||{});} if(this._magicmap[_magictype_stack]||this._magicmap[_magictype_tiled]){newoption.series[len].__stack=newoption.series[len].stack;}}} this._magictype=isrestore?{}:this._magictype||{};for(var itemname in this._magictype){if(this._magictype[itemname]){this.option=newoption;this.getmagicoption();break;}} var zoomoption=newoption.datazoom;if(zoomoption&&zoomoption.show){var start=zoomoption.start!=null&&zoomoption.start>=0&&zoomoption.start<=100?zoomoption.start:0;var end=zoomoption.end!=null&&zoomoption.end>=0&&zoomoption.end<=100?zoomoption.end:100;if(start>end){start=start+end;end=start-end;start=start-end;} this._zoomqueue=[{start:start,end:end,start2:0,end2:100}];}else{this._zoomqueue=[];}},getmagicoption:function(){var axis;var charttype;if(this._magictype[ecconfig.chart_type_line]||this._magictype[ecconfig.chart_type_bar]){var boundarygap=this._magictype[ecconfig.chart_type_line]?false:true;for(var i=0,l=this.option.series.length;i{b} : {c}',showdelay:20,hidedelay:100,transitionduration:0.4,enterable:false,backgroundcolor:'rgba(0,0,0,0.7)',bordercolor:'#333',borderradius:4,borderwidth:0,padding:5,axispointer:{type:'line',linestyle:{color:'#48b',width:2,type:'solid'},crossstyle:{color:'#1e90ff',width:1,type:'dashed'},shadowstyle:{color:'rgba(150,150,150,0.3)',width:'auto',type:'default'}},textstyle:{color:'#fff'}};var ecdata=require('../util/ecdata');var zrconfig=require('zrender/config');var zrevent=require('zrender/tool/event');var zrarea=require('zrender/tool/area');var zrcolor=require('zrender/tool/color');var zrutil=require('zrender/tool/util');var zrshapebase=require('zrender/shape/base');function tooltip(ectheme,messagecenter,zr,option,mychart){base.call(this,ectheme,messagecenter,zr,option,mychart);this.dom=mychart.dom;var self=this;self._onmousemove=function(param){return self.__onmousemove(param);};self._onglobalout=function(param){return self.__onglobalout(param);};this.zr.on(zrconfig.event.mousemove,self._onmousemove);this.zr.on(zrconfig.event.globalout,self._onglobalout);self._hide=function(param){return self.__hide(param);};self._tryshow=function(param){return self.__tryshow(param);};self._refixed=function(param){return self.__refixed(param);};self._setcontent=function(ticket,res){return self.__setcontent(ticket,res);};this._tdom=this._tdom||document.createelement('div');this._tdom.onselectstart=function(){return false;};this._tdom.onmouseover=function(){self._mousein=true;};this._tdom.onmouseout=function(){self._mousein=false;};this._tdom.classname='echarts-tooltip';this._tdom.style.position='absolute';this.hasappend=false;this._axislineshape&&this.zr.delshape(this._axislineshape.id);this._axislineshape=new lineshape({zlevel:this.getzlevelbase(),z:this.getzbase(),invisible:true,hoverable:false});this.shapelist.push(this._axislineshape);this.zr.addshape(this._axislineshape);this._axisshadowshape&&this.zr.delshape(this._axisshadowshape.id);this._axisshadowshape=new lineshape({zlevel:this.getzlevelbase(),z:1,invisible:true,hoverable:false});this.shapelist.push(this._axisshadowshape);this.zr.addshape(this._axisshadowshape);this._axiscrossshape&&this.zr.delshape(this._axiscrossshape.id);this._axiscrossshape=new crossshape({zlevel:this.getzlevelbase(),z:this.getzbase(),invisible:true,hoverable:false});this.shapelist.push(this._axiscrossshape);this.zr.addshape(this._axiscrossshape);this.showing=false;this.refresh(option);} tooltip.prototype={type:ecconfig.component_type_tooltip,_gcsstext:'position:absolute;display:block;border-style:solid;white-space:nowrap;',_style:function(opt){if(!opt){return '';} var csstext=[];if(opt.transitionduration){var transitiontext='left '+opt.transitionduration+'s,'+'top '+opt.transitionduration+'s';csstext.push('transition:'+transitiontext);csstext.push('-moz-transition:'+transitiontext);csstext.push('-webkit-transition:'+transitiontext);csstext.push('-o-transition:'+transitiontext);} if(opt.backgroundcolor){csstext.push('background-color:'+zrcolor.tohex(opt.backgroundcolor));csstext.push('filter:alpha(opacity=70)');csstext.push('background-color:'+opt.backgroundcolor);} if(opt.borderwidth!=null){csstext.push('border-width:'+opt.borderwidth+'px');} if(opt.bordercolor!=null){csstext.push('border-color:'+opt.bordercolor);} if(opt.borderradius!=null){csstext.push('border-radius:'+opt.borderradius+'px');csstext.push('-moz-border-radius:'+opt.borderradius+'px');csstext.push('-webkit-border-radius:'+opt.borderradius+'px');csstext.push('-o-border-radius:'+opt.borderradius+'px');} var textstyle=opt.textstyle;if(textstyle){textstyle.color&&csstext.push('color:'+textstyle.color);textstyle.decoration&&csstext.push('text-decoration:'+textstyle.decoration);textstyle.align&&csstext.push('text-align:'+textstyle.align);textstyle.fontfamily&&csstext.push('font-family:'+textstyle.fontfamily);textstyle.fontsize&&csstext.push('font-size:'+textstyle.fontsize+'px');textstyle.fontsize&&csstext.push('line-height:'+math.round(textstyle.fontsize*3/2)+'px');textstyle.fontstyle&&csstext.push('font-style:'+textstyle.fontstyle);textstyle.fontweight&&csstext.push('font-weight:'+textstyle.fontweight);} var padding=opt.padding;if(padding!=null){padding=this.reformcssarray(padding);csstext.push('padding:'+padding[0]+'px '+padding[1]+'px '+padding[2]+'px '+padding[3]+'px');} csstext=csstext.join(';')+';';return csstext;},__hide:function(){this._lastdataindex=-1;this._lastseriesindex=-1;this._lastitemtriggerid=-1;if(this._tdom){this._tdom.style.display='none';} var needrefresh=false;if(!this._axislineshape.invisible){this._axislineshape.invisible=true;this.zr.modshape(this._axislineshape.id);needrefresh=true;} if(!this._axisshadowshape.invisible){this._axisshadowshape.invisible=true;this.zr.modshape(this._axisshadowshape.id);needrefresh=true;} if(!this._axiscrossshape.invisible){this._axiscrossshape.invisible=true;this.zr.modshape(this._axiscrossshape.id);needrefresh=true;} if(this._lasttipshape&&this._lasttipshape.tipshape.length>0){this.zr.delshape(this._lasttipshape.tipshape);this._lasttipshape=false;this.shapelist.length=2;} needrefresh&&this.zr.refreshnextframe();this.showing=false;},_show:function(position,x,y,specialcsstext){var domheight=this._tdom.offsetheight;var domwidth=this._tdom.offsetwidth;if(position){if(typeof position==='function'){position=position([x,y]);} if(position instanceof array){x=position[0];y=position[1];}} if(x+domwidth>this._zrwidth){x-=domwidth+40;} if(y+domheight>this._zrheight){y-=domheight-20;} if(y<20){y=0;} this._tdom.style.csstext=this._gcsstext+this._defaultcsstext+(specialcsstext?specialcsstext:'')+'left:'+x+'px;top:'+y+'px;';if(domheight<10||domwidth<10){settimeout(this._refixed,20);} this.showing=true;},__refixed:function(){if(this._tdom){var csstext='';var domheight=this._tdom.offsetheight;var domwidth=this._tdom.offsetwidth;if(this._tdom.offsetleft+domwidth>this._zrwidth){csstext+='left:'+(this._zrwidth-domwidth-20)+'px;';} if(this._tdom.offsettop+domheight>this._zrheight){csstext+='top:'+(this._zrheight-domheight-10)+'px;';} if(csstext!==''){this._tdom.style.csstext+=csstext;}}},__tryshow:function(){var needshow;var trigger;if(!this._curtarget){this._findpolartrigger()||this._findaxistrigger();}else{if(this._curtarget._type==='island'&&this.option.tooltip.show){this._showitemtrigger();return;} var serie=ecdata.get(this._curtarget,'series');var data=ecdata.get(this._curtarget,'data');needshow=this.deepquery([data,serie,this.option],'tooltip.show');if(serie==null||data==null||!needshow){cleartimeout(this._hidingticket);cleartimeout(this._showingticket);this._hidingticket=settimeout(this._hide,this._hidedelay);}else{trigger=this.deepquery([data,serie,this.option],'tooltip.trigger');trigger==='axis'?this._showaxistrigger(serie.xaxisindex,serie.yaxisindex,ecdata.get(this._curtarget,'dataindex')):this._showitemtrigger();}}},_findaxistrigger:function(){if(!this.component.xaxis||!this.component.yaxis){this._hidingticket=settimeout(this._hide,this._hidedelay);return;} var series=this.option.series;var xaxisindex;var yaxisindex;for(var i=0,l=series.length;iystart){top=curcoord;if(curcoord>=y){bottom=curcoord;}else{break;} curcoord=categoryaxis.getcoordbyindex(++dataindex);} if(dataindex<=0){dataindex=0;}else if(y-top>=bottom-y){dataindex-=1;}else{if(categoryaxis.getnamebyindex(dataindex)==null){dataindex-=1;}} return dataindex;} return-1;},_showaxistrigger:function(xaxisindex,yaxisindex,dataindex){!this._event.connecttrigger&&this.messagecenter.dispatch(ecconfig.event.tooltip_in_grid,this._event,null,this.mychart);if(this.component.xaxis==null||this.component.yaxis==null||xaxisindex==null||yaxisindex==null){cleartimeout(this._hidingticket);cleartimeout(this._showingticket);this._hidingticket=settimeout(this._hide,this._hidedelay);return;} var series=this.option.series;var seriesarray=[];var seriesindex=[];var categoryaxis;var formatter;var position;var showcontent;var specialcsstext='';if(this.option.tooltip.trigger==='axis'){if(!this.option.tooltip.show){return;} formatter=this.option.tooltip.formatter;position=this.option.tooltip.position;} var axislayout=xaxisindex!=-1&&this.component.xaxis.getaxis(xaxisindex).type===ecconfig.component_type_axis_category?'xaxis':yaxisindex!=-1&&this.component.yaxis.getaxis(yaxisindex).type===ecconfig.component_type_axis_category?'yaxis':false;var x;var y;if(axislayout){var axisindex=axislayout=='xaxis'?xaxisindex:yaxisindex;categoryaxis=this.component[axislayout].getaxis(axisindex);for(var i=0,l=series.length;i=0){this._showitemtrigger(true);}else{cleartimeout(this._hidingticket);cleartimeout(this._showingticket);this._tdom.style.display='none';}} if(seriesarray.length>0){this._lastitemtriggerid=-1;if(this._lastdataindex!=dataindex||this._lastseriesindex!=seriesindex[0]){this._lastdataindex=dataindex;this._lastseriesindex=seriesindex[0];var data;var value;if(typeof formatter==='function'){var params=[];for(var i=0,l=seriesarray.length;i'+this._encodehtml(seriesarray[i].name||'')+' : ';data=seriesarray[i].data[dataindex];data=this.getdatafromoption(data,'-');formatter+=data instanceof array?data:this.numaddcommas(data);} this._tdom.innerhtml=formatter;}} if(showcontent===false||!this.option.tooltip.showcontent){return;} if(!this.hasappend){this._tdom.style.left=this._zrwidth/2+'px';this._tdom.style.top=this._zrheight/2+'px';this.dom.firstchild.appendchild(this._tdom);this.hasappend=true;} this._show(position,x+10,y+10,specialcsstext);}},_showpolartrigger:function(polarindex,dataindex){if(this.component.polar==null||polarindex==null||dataindex==null||dataindex<0){return false;} var series=this.option.series;var seriesarray=[];var seriesindex=[];var formatter;var position;var showcontent;var specialcsstext='';if(this.option.tooltip.trigger==='axis'){if(!this.option.tooltip.show){return false;} formatter=this.option.tooltip.formatter;position=this.option.tooltip.position;} var indicatorname=this.option.polar[polarindex].indicator[dataindex].text;for(var i=0,l=series.length;i0){var polardata;var data;var value;var params=[];for(var i=0,l=seriesarray.length;i'+this._encodehtml(params[0].indicator)+' : '+this.numaddcommas(params[0].value);for(var i=1,l=params.length;i'+this._encodehtml(params[i].name)+'
';formatter+=this._encodehtml(params[i].indicator)+' : '+this.numaddcommas(params[i].value);} this._tdom.innerhtml=formatter;}} if(showcontent===false||!this.option.tooltip.showcontent){return;} if(!this.hasappend){this._tdom.style.left=this._zrwidth/2+'px';this._tdom.style.top=this._zrheight/2+'px';this.dom.firstchild.appendchild(this._tdom);this.hasappend=true;} this._show(position,zrevent.getx(this._event),zrevent.gety(this._event),specialcsstext);return true;}},_showitemtrigger:function(axistrigger){if(!this._curtarget){return;} var serie=ecdata.get(this._curtarget,'series');var seriesindex=ecdata.get(this._curtarget,'seriesindex');var data=ecdata.get(this._curtarget,'data');var dataindex=ecdata.get(this._curtarget,'dataindex');var name=ecdata.get(this._curtarget,'name');var value=ecdata.get(this._curtarget,'value');var special=ecdata.get(this._curtarget,'special');var special2=ecdata.get(this._curtarget,'special2');var querytarget=[data,serie,this.option];var formatter;var position;var showcontent;var specialcsstext='';if(this._curtarget._type!='island'){var trigger=axistrigger?'axis':'item';if(this.option.tooltip.trigger===trigger){formatter=this.option.tooltip.formatter;position=this.option.tooltip.position;} if(this.query(serie,'tooltip.trigger')===trigger){showcontent=this.query(serie,'tooltip.showcontent')||showcontent;formatter=this.query(serie,'tooltip.formatter')||formatter;position=this.query(serie,'tooltip.position')||position;specialcsstext+=this._style(this.query(serie,'tooltip'));} showcontent=this.query(data,'tooltip.showcontent')||showcontent;formatter=this.query(data,'tooltip.formatter')||formatter;position=this.query(data,'tooltip.position')||position;specialcsstext+=this._style(this.query(data,'tooltip'));}else{this._lastitemtriggerid=nan;showcontent=this.deepquery(querytarget,'tooltip.showcontent');formatter=this.deepquery(querytarget,'tooltip.islandformatter');position=this.deepquery(querytarget,'tooltip.islandposition');} this._lastdataindex=-1;this._lastseriesindex=-1;if(this._lastitemtriggerid!==this._curtarget.id){this._lastitemtriggerid=this._curtarget.id;if(typeof formatter==='function'){this._curticket=(serie.name||'')+':'+dataindex;this._tdom.innerhtml=formatter.call(this.mychart,{seriesindex:seriesindex,seriesname:serie.name||'',series:serie,dataindex:dataindex,data:data,name:name,value:value,percent:special,indicator:special,value2:special2,indicator2:special2,0:serie.name||'',1:name,2:value,3:special,4:special2,5:data,6:seriesindex,7:dataindex},this._curticket,this._setcontent);}else if(typeof formatter==='string'){this._curticket=nan;formatter=formatter.replace('{a}','{a0}').replace('{b}','{b0}').replace('{c}','{c0}');formatter=formatter.replace('{a0}',this._encodehtml(serie.name||'')).replace('{b0}',this._encodehtml(name)).replace('{c0}',value instanceof array?value:this.numaddcommas(value));formatter=formatter.replace('{d}','{d0}').replace('{d0}',special||'');formatter=formatter.replace('{e}','{e0}').replace('{e0}',ecdata.get(this._curtarget,'special2')||'');this._tdom.innerhtml=formatter;}else{this._curticket=nan;if(serie.type===ecconfig.chart_type_radar&&special){this._tdom.innerhtml=this._itemformatter.radar.call(this,serie,name,value,special);}else if(serie.type===ecconfig.chart_type_eventriver){this._tdom.innerhtml=this._itemformatter.eventriver.call(this,serie,name,value,data);}else{this._tdom.innerhtml=''+(serie.name!=null?this._encodehtml(serie.name)+'
':'')+(name===''?'':this._encodehtml(name)+' : ')+(value instanceof array?value:this.numaddcommas(value));}}} var x=zrevent.getx(this._event);var y=zrevent.gety(this._event);if(this.deepquery(querytarget,'tooltip.axispointer.show')&&this.component.grid){this._styleaxispointer([serie],this.component.grid.getx(),y,this.component.grid.getxend(),y,0,x,y);}else{this._hide();} if(showcontent===false||!this.option.tooltip.showcontent){return;} if(!this.hasappend){this._tdom.style.left=this._zrwidth/2+'px';this._tdom.style.top=this._zrheight/2+'px';this.dom.firstchild.appendchild(this._tdom);this.hasappend=true;} this._show(position,x+20,y-20,specialcsstext);},_itemformatter:{radar:function(serie,name,value,indicator){var html='';html+=this._encodehtml(name===''?serie.name||'':name);html+=html===''?'':'
';for(var i=0;i';} return html;},chord:function(serie,name,value,special,special2){if(special2==null){return this._encodehtml(name)+' ('+this.numaddcommas(value)+')';}else{var name1=this._encodehtml(name);var name2=this._encodehtml(special);return ''+(serie.name!=null?this._encodehtml(serie.name)+'
':'')+name1+' -> '+name2+' ('+this.numaddcommas(value)+')'+'
'+name2+' -> '+name1+' ('+this.numaddcommas(special2)+')';}},eventriver:function(serie,name,value,data){var html='';html+=this._encodehtml(serie.name===''?'':serie.name+' : ');html+=this._encodehtml(name);html+=html===''?'':'
';data=data.evolution;for(var i=0,l=data.length;i';if(!data[i].detail){continue;} if(data[i].detail.img){html+='';} html+='
'+data[i].time+'
';html+='';html+=data[i].detail.text+'
';html+='';} return html;}},_styleaxispointer:function(seriesarray,xstart,ystart,xend,yend,gap,x,y){if(seriesarray.length>0){var querytarget;var curtype;var axispointer=this.option.tooltip.axispointer;var pointtype=axispointer.type;var style={line:{},cross:{},shadow:{}};for(var ptype in style){style[ptype].color=axispointer[ptype+'style'].color;style[ptype].width=axispointer[ptype+'style'].width;style[ptype].type=axispointer[ptype+'style'].type;} for(var i=0,l=seriesarray.length;i100){this._axiscrossshape.style.textalign='left';this._axiscrossshape.style.textx=x+10;}else{this._axiscrossshape.style.textalign='right';this._axiscrossshape.style.textx=x-10;} if(y-this.component.grid.gety()>50){this._axiscrossshape.style.textbaseline='bottom';this._axiscrossshape.style.texty=y-10;}else{this._axiscrossshape.style.textbaseline='top';this._axiscrossshape.style.texty=y+10;} this._axiscrossshape.invisible=false;this.zr.modshape(this._axiscrossshape.id);}else if(pointtype==='shadow'){if(style.shadow.width==null||style.shadow.width==='auto'||isnan(style.shadow.width)){style.shadow.width=gap;} if(xstart===xend){if(math.abs(this.component.grid.getx()-xstart)<2){style.shadow.width/=2;xstart=xend=xend+style.shadow.width/2;}else if(math.abs(this.component.grid.getxend()-xstart)<2){style.shadow.width/=2;xstart=xend=xend-style.shadow.width/2;}}else if(ystart===yend){if(math.abs(this.component.grid.gety()-ystart)<2){style.shadow.width/=2;ystart=yend=yend+style.shadow.width/2;}else if(math.abs(this.component.grid.getyend()-ystart)<2){style.shadow.width/=2;ystart=yend=yend-style.shadow.width/2;}} this._axisshadowshape.style={xstart:xstart,ystart:ystart,xend:xend,yend:yend,strokecolor:style.shadow.color,linewidth:style.shadow.width};this._axisshadowshape.invisible=false;this.zr.modshape(this._axisshadowshape.id);} this.zr.refreshnextframe();}},__onmousemove:function(param){cleartimeout(this._hidingticket);cleartimeout(this._showingticket);if(this._mousein&&this._enterable){return;} var target=param.target;var mx=zrevent.getx(param.event);var my=zrevent.gety(param.event);if(!target){this._curtarget=false;this._event=param.event;this._event.zrenderx=mx;this._event.zrendery=my;if(this._needaxistrigger&&this.component.grid&&zrarea.isinside(rectangleinstance,this.component.grid.getarea(),mx,my)){this._showingticket=settimeout(this._tryshow,this._showdelay);}else if(this._needaxistrigger&&this.component.polar&&this.component.polar.isinside([mx,my])!=-1){this._showingticket=settimeout(this._tryshow,this._showdelay);}else{!this._event.connecttrigger&&this.messagecenter.dispatch(ecconfig.event.tooltip_out_grid,this._event,null,this.mychart);this._hidingticket=settimeout(this._hide,this._hidedelay);}}else{this._curtarget=target;this._event=param.event;this._event.zrenderx=mx;this._event.zrendery=my;var polarindex;if(this._needaxistrigger&&this.component.polar&&(polarindex=this.component.polar.isinside([mx,my]))!=-1){var series=this.option.series;for(var i=0,l=series.length;i0){this.zr.delshape(this._lasttipshape.tipshape);this.shapelist.length=2;} for(var i=0,l=tipshape.length;i0){this.zr.delshape(this._lasttipshape.tipshape);} this._lasttipshape=false;this.shapelist.length=2;this._lastdataindex=-1;this._lastseriesindex=-1;this._lastitemtriggerid=-1;if(newoption){this.option=newoption;this.option.tooltip=this.reformoption(this.option.tooltip);this.option.tooltip.textstyle=zrutil.merge(this.option.tooltip.textstyle,this.ectheme.textstyle);this._needaxistrigger=false;if(this.option.tooltip.trigger==='axis'){this._needaxistrigger=true;} var series=this.option.series;for(var i=0,l=series.length;i0){this.zr.delshape(this._lasttipshape.tipshape);} cleartimeout(this._hidingticket);cleartimeout(this._showingticket);this.zr.un(zrconfig.event.mousemove,this._onmousemove);this.zr.un(zrconfig.event.globalout,this._onglobalout);if(this.hasappend&&!!this.dom.firstchild){this.dom.firstchild.removechild(this._tdom);} this._tdom=null;},_encodehtml:function(source){return string(source).replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"').replace(/'/g,''');}};zrutil.inherits(tooltip,base);require('../component').define('tooltip',tooltip);return tooltip;});define('echarts/component/legend',['require','./base','zrender/shape/text','zrender/shape/rectangle','zrender/shape/sector','../util/shape/icon','../util/shape/candle','../config','zrender/tool/util','zrender/tool/area','../component'],function(require){var base=require('./base');var textshape=require('zrender/shape/text');var rectangleshape=require('zrender/shape/rectangle');var sectorshape=require('zrender/shape/sector');var iconshape=require('../util/shape/icon');var candleshape=require('../util/shape/candle');var ecconfig=require('../config');ecconfig.legend={zlevel:0,z:4,show:true,orient:'horizontal',x:'center',y:'top',backgroundcolor:'rgba(0,0,0,0)',bordercolor:'#ccc',borderwidth:0,padding:5,itemgap:10,itemwidth:20,itemheight:14,textstyle:{color:'#333'},selectedmode:true};var zrutil=require('zrender/tool/util');var zrarea=require('zrender/tool/area');function legend(ectheme,messagecenter,zr,option,mychart){if(!this.query(option,'legend.data')){console.error('option.legend.data has not been defined.');return;} base.call(this,ectheme,messagecenter,zr,option,mychart);var self=this;self._legendselected=function(param){self.__legendselected(param);};self._dispatchhoverlink=function(param){return self.__dispatchhoverlink(param);};this._colorindex=0;this._colormap={};this._selectedmap={};this._hasdatamap={};this.refresh(option);} legend.prototype={type:ecconfig.component_type_legend,_buildshape:function(){if(!this.legendoption.show){return;} this._itemgrouplocation=this._getitemgrouplocation();this._buildbackground();this._builditem();for(var i=0,l=this.shapelist.length;i=zrwidth-lastx){lastx=this._itemgrouplocation.x;lasty+=itemheight+itemgap;}}else{if(zrheight-lasty<200&&itemheight+(i===datalength-1||data[i+1]===''?0:itemgap)>=zrheight-lasty){this.legendoption.x==='right'?lastx-=this._itemgrouplocation.maxwidth+itemgap:lastx+=this._itemgrouplocation.maxwidth+itemgap;lasty=this._itemgrouplocation.y;}} itemshape=this._getitemshapebytype(lastx,lasty,itemwidth,itemheight,this._selectedmap[itemname]&&this._hasdatamap[itemname]?color:'#ccc',itemtype,color);itemshape._name=itemname;itemshape=new iconshape(itemshape);textshape={zlevel:this.getzlevelbase(),z:this.getzbase(),style:{x:lastx+itemwidth+5,y:lasty+itemheight/2,color:this._selectedmap[itemname]?datatextstyle.color==='auto'?color:datatextstyle.color:'#ccc',text:formattedname,textfont:datafont,textbaseline:'middle'},highlightstyle:{color:color,brushtype:'fill'},hoverable:!!this.legendoption.selectedmode,clickable:!!this.legendoption.selectedmode};if(this.legendoption.orient==='vertical'&&this.legendoption.x==='right'){textshape.style.x-=itemwidth+10;textshape.style.textalign='right';} textshape._name=itemname;textshape=new textshape(textshape);if(this.legendoption.selectedmode){itemshape.onclick=textshape.onclick=this._legendselected;itemshape.onmouseover=textshape.onmouseover=this._dispatchhoverlink;itemshape.hoverconnect=textshape.id;textshape.hoverconnect=itemshape.id;} this.shapelist.push(itemshape);this.shapelist.push(textshape);if(this.legendoption.orient==='horizontal'){lastx+=itemwidth+5+zrarea.gettextwidth(formattedname,datafont)+itemgap;}else{lasty+=itemheight+itemgap;}} if(this.legendoption.orient==='horizontal'&&this.legendoption.x==='center'&&lasty!=this._itemgrouplocation.y){this._mlineoptimize();}},_getname:function(data){return typeof data.name!='undefined'?data.name:data;},_getformattername:function(itemname){var formatter=this.legendoption.formatter;var formattedname;if(typeof formatter==='function'){formattedname=formatter.call(this.mychart,itemname);}else if(typeof formatter==='string'){formattedname=formatter.replace('{name}',itemname);}else{formattedname=itemname;} return formattedname;},_getformatternamefromdata:function(data){var itemname=this._getname(data);return this._getformattername(itemname);},_mlineoptimize:function(){var lineoffsetarray=[];var lastx=this._itemgrouplocation.x;for(var i=2,l=this.shapelist.length;izrwidth){temp-=itemgap;totalwidth=math.max(totalwidth,temp);totalheight+=itemheight+itemgap;temp=0;}else{temp+=itemwidth+temptextwidth+itemgap;totalwidth=math.max(totalwidth,temp-itemgap);}}}else{for(var i=0;izrheight){totalwidth+=maxwidth+itemgap;temp-=itemgap;totalheight=math.max(totalheight,temp);temp=0;}else{temp+=itemheight+itemgap;totalheight=math.max(totalheight,temp-itemgap);}}} zrwidth=this.zr.getwidth();zrheight=this.zr.getheight();var x;switch(this.legendoption.x){case 'center':x=math.floor((zrwidth-totalwidth)/2);break;case 'left':x=padding[3]+this.legendoption.borderwidth;break;case 'right':x=zrwidth-totalwidth-padding[1]-padding[3]-this.legendoption.borderwidth*2;break;default:x=this.parsepercent(this.legendoption.x,zrwidth);break;} var y;switch(this.legendoption.y){case 'top':y=padding[0]+this.legendoption.borderwidth;break;case 'bottom':y=zrheight-totalheight-padding[0]-padding[2]-this.legendoption.borderwidth*2;break;case 'center':y=math.floor((zrheight-totalheight)/2);break;default:y=this.parsepercent(this.legendoption.y,zrheight);break;} return{x:x,y:y,width:totalwidth,height:totalheight,maxwidth:maxwidth};},_getsomethingbyname:function(name){var series=this.option.series;var data;for(var i=0,l=series.length;i1){for(var i=0,n=len-1;i1?math.ceil(c):c;});if(format.indexof('hex')>-1){return '#'+((1<<24)+(data[0]<<16)+(data[1]<<8)+ +data[2]).tostring(16).slice(1);}else if(format.indexof('hs')>-1){var sx=map(data.slice(1,3),function(c){return c+'%';});data[1]=sx[0];data[2]=sx[1];} if(format.indexof('a')>-1){if(data.length===3){data.push(1);} data[3]=adjust(data[3],[0,1]);return format+'('+data.slice(0,4).join(',')+')';} return format+'('+data.slice(0,3).join(',')+')';}} function toarray(color){color=trim(color);if(color.indexof('rgba')<0){color=torgba(color);} var data=[];var i=0;color.replace(/[\d.]+/g,function(n){if(i<3){n=n|0;}else{n=+n;} data[i++]=n;});return data;} function convert(color,format){if(!iscalculablecolor(color)){return color;} var data=getdata(color);var alpha=data[3];if(typeof alpha==='undefined'){alpha=1;} if(color.indexof('hsb')>-1){data=_hsv_2_rgb(data);}else if(color.indexof('hsl')>-1){data=_hsl_2_rgb(data);} if(format.indexof('hsb')>-1||format.indexof('hsv')>-1){data=_rgb_2_hsb(data);}else if(format.indexof('hsl')>-1){data=_rgb_2_hsl(data);} data[3]=alpha;return tocolor(data,format);} function torgba(color){return convert(color,'rgba');} function torgb(color){return convert(color,'rgb');} function tohex(color){return convert(color,'hex');} function tohsva(color){return convert(color,'hsva');} function tohsv(color){return convert(color,'hsv');} function tohsba(color){return convert(color,'hsba');} function tohsb(color){return convert(color,'hsb');} function tohsla(color){return convert(color,'hsla');} function tohsl(color){return convert(color,'hsl');} function toname(color){for(var key in _namecolors){if(tohex(_namecolors[key])===tohex(color)){return key;}} return null;} function trim(color){return string(color).replace(/\s+/g,'');} function normalize(color){if(_namecolors[color]){color=_namecolors[color];} color=trim(color);color=color.replace(/hsv/i,'hsb');if(/^#[\da-f]{3}$/i.test(color)){color=parseint(color.slice(1),16);var r=(color&3840)<<8;var g=(color&240)<<4;var b=color&15;color='#'+((1<<24)+(r<<4)+r+(g<<4)+g+(b<<4)+b).tostring(16).slice(1);} return color;} function lift(color,level){if(!iscalculablecolor(color)){return color;} var direct=level>0?1:-1;if(typeof level==='undefined'){level=0;} level=math.abs(level)>1?1:math.abs(level);color=torgb(color);var data=getdata(color);for(var i=0;i<3;i++){if(direct===1){data[i]=data[i]*(1-level)|0;}else{data[i]=(255-data[i])*level+data[i]|0;}} return 'rgb('+data.join(',')+')';} function reverse(color){if(!iscalculablecolor(color)){return color;} var data=getdata(torgba(color));data=map(data,function(c){return 255-c;});return tocolor(data,'rgb');} function mix(color1,color2,weight){if(!iscalculablecolor(color1)||!iscalculablecolor(color2)){return color1;} if(typeof weight==='undefined'){weight=0.5;} weight=1-adjust(weight,[0,1]);var w=weight*2-1;var data1=getdata(torgba(color1));var data2=getdata(torgba(color2));var d=data1[3]-data2[3];var weight1=((w*d===-1?w:(w+d)/(1+w*d))+1)/2;var weight2=1-weight1;var data=[];for(var i=0;i<3;i++){data[i]=data1[i]*weight1+data2[i]*weight2;} var alpha=data1[3]*weight+data2[3]*(1-weight);alpha=math.max(0,math.min(1,alpha));if(data1[3]===1&&data2[3]===1){return tocolor(data,'rgb');} data[3]=alpha;return tocolor(data,'rgba');} function random(){return '#'+(math.random().tostring(16)+'0000').slice(2,8);} function getdata(color){color=normalize(color);var r=color.match(colorregexp);if(r===null){throw new error('the color format error');} var d;var a;var data=[];var rgb;if(r[2]){d=r[2].replace('#','').split('');rgb=[d[0]+d[1],d[2]+d[3],d[4]+d[5]];data=map(rgb,function(c){return adjust(parseint(c,16),[0,255]);});}else if(r[4]){var rgba=r[4].split(',');a=rgba[3];rgb=rgba.slice(0,3);data=map(rgb,function(c){c=math.floor(c.indexof('%')>0?parseint(c,0)*2.55:c);return adjust(c,[0,255]);});if(typeof a!=='undefined'){data.push(adjust(parsefloat(a),[0,1]));}}else if(r[5]||r[6]){var hsxa=(r[5]||r[6]).split(',');var h=parseint(hsxa[0],0)/360;var s=hsxa[1];var x=hsxa[2];a=hsxa[3];data=map([s,x],function(c){return adjust(parsefloat(c)/100,[0,1]);});data.unshift(h);if(typeof a!=='undefined'){data.push(adjust(parsefloat(a),[0,1]));}} return data;} function alpha(color,a){if(!iscalculablecolor(color)){return color;} if(a===null){a=1;} var data=getdata(torgba(color));data[3]=adjust(number(a).tofixed(4),[0,1]);return tocolor(data,'rgba');} function map(array,fun){if(typeof fun!=='function'){throw new typeerror();} var len=array?array.length:0;for(var i=0;i=region[1]){value=region[1];} return value;} function iscalculablecolor(color){return color instanceof array||typeof color==='string';} function _hsv_2_rgb(data){var h=data[0];var s=data[1];var v=data[2];var r;var g;var b;if(s===0){r=v*255;g=v*255;b=v*255;}else{var h=h*6;if(h===6){h=0;} var i=h|0;var v1=v*(1-s);var v2=v*(1-s*(h-i));var v3=v*(1-s*(1-(h-i)));var r=0;var g=0;var b=0;if(i===0){r=v;g=v3;b=v1;}else if(i===1){r=v2;g=v;b=v1;}else if(i===2){r=v1;g=v;b=v3;}else if(i===3){r=v1;g=v2;b=v;}else if(i===4){r=v3;g=v1;b=v;}else{r=v;g=v1;b=v2;} r=r*255;g=g*255;b=b*255;} return[r,g,b];} function _hsl_2_rgb(data){var h=data[0];var s=data[1];var l=data[2];var r;var g;var b;if(s===0){r=l*255;g=l*255;b=l*255;}else{var v2;if(l<0.5){v2=l*(1+s);}else{v2=l+s-s*l;} var v1=2*l-v2;r=255*_hue_2_rgb(v1,v2,h+1/3);g=255*_hue_2_rgb(v1,v2,h);b=255*_hue_2_rgb(v1,v2,h-1/3);} return[r,g,b];} function _hue_2_rgb(v1,v2,vh){if(vh<0){vh+=1;} if(vh>1){vh-=1;} if(6*vh<1){return v1+(v2-v1)*6*vh;} if(2*vh<1){return v2;} if(3*vh<2){return v1+(v2-v1)*(2/3-vh)*6;} return v1;} function _rgb_2_hsb(data){var r=data[0]/255;var g=data[1]/255;var b=data[2]/255;var vmin=math.min(r,g,b);var vmax=math.max(r,g,b);var delta=vmax-vmin;var v=vmax;var h;var s;if(delta===0){h=0;s=0;}else{s=delta/vmax;var deltar=((vmax-r)/6+delta/2)/delta;var deltag=((vmax-g)/6+delta/2)/delta;var deltab=((vmax-b)/6+delta/2)/delta;if(r===vmax){h=deltab-deltag;}else if(g===vmax){h=1/3+deltar-deltab;}else if(b===vmax){h=2/3+deltag-deltar;} if(h<0){h+=1;} if(h>1){h-=1;}} h=h*360;s=s*100;v=v*100;return[h,s,v];} function _rgb_2_hsl(data){var r=data[0]/255;var g=data[1]/255;var b=data[2]/255;var vmin=math.min(r,g,b);var vmax=math.max(r,g,b);var delta=vmax-vmin;var l=(vmax+vmin)/2;var h;var s;if(delta===0){h=0;s=0;}else{if(l<0.5){s=delta/(vmax+vmin);}else{s=delta/(2-vmax-vmin);} var deltar=((vmax-r)/6+delta/2)/delta;var deltag=((vmax-g)/6+delta/2)/delta;var deltab=((vmax-b)/6+delta/2)/delta;if(r===vmax){h=deltab-deltag;}else if(g===vmax){h=1/3+deltar-deltab;}else if(b===vmax){h=2/3+deltag-deltar;} if(h<0){h+=1;} if(h>1){h-=1;}} h=h*360;s=s*100;l=l*100;return[h,s,l];} return{custompalette:custompalette,resetpalette:resetpalette,getcolor:getcolor,gethighlightcolor:gethighlightcolor,customhighlight:customhighlight,resethighlight:resethighlight,getradialgradient:getradialgradient,getlineargradient:getlineargradient,getgradientcolors:getgradientcolors,getstepcolors:getstepcolors,reverse:reverse,mix:mix,lift:lift,trim:trim,random:random,torgb:torgb,torgba:torgba,tohex:tohex,tohsl:tohsl,tohsla:tohsla,tohsb:tohsb,tohsba:tohsba,tohsv:tohsv,tohsva:tohsva,toname:toname,tocolor:tocolor,toarray:toarray,alpha:alpha,getdata:getdata};});define('echarts/component/timeline',['require','./base','zrender/shape/rectangle','../util/shape/icon','../util/shape/chain','../config','zrender/tool/util','zrender/tool/area','zrender/tool/event','../component'],function(require){var base=require('./base');var rectangleshape=require('zrender/shape/rectangle');var iconshape=require('../util/shape/icon');var chainshape=require('../util/shape/chain');var ecconfig=require('../config');ecconfig.timeline={zlevel:0,z:4,show:true,type:'time',notmerge:false,realtime:true,x:80,x2:80,y2:0,height:50,backgroundcolor:'rgba(0,0,0,0)',bordercolor:'#ccc',borderwidth:0,padding:5,controlposition:'left',autoplay:false,loop:true,playinterval:2000,linestyle:{width:1,color:'#666',type:'dashed'},label:{show:true,interval:'auto',rotate:0,textstyle:{color:'#333'}},checkpointstyle:{symbol:'auto',symbolsize:'auto',color:'auto',bordercolor:'auto',borderwidth:'auto',label:{show:false,textstyle:{color:'auto'}}},controlstyle:{itemsize:15,itemgap:5,normal:{color:'#333'},emphasis:{color:'#1e90ff'}},symbol:'emptydiamond',symbolsize:4,currentindex:0};var zrutil=require('zrender/tool/util');var zrarea=require('zrender/tool/area');var zrevent=require('zrender/tool/event');function timeline(ectheme,messagecenter,zr,option,mychart){base.call(this,ectheme,messagecenter,zr,option,mychart);var self=this;self._onclick=function(param){return self.__onclick(param);};self._ondrift=function(dx,dy){return self.__ondrift(this,dx,dy);};self._ondragend=function(){return self.__ondragend();};self._setcurrentoption=function(){var timelineoption=self.timelineoption;self.currentindex%=timelineoption.data.length;var curoption=self.options[self.currentindex]||{};self.mychart._setoption(curoption,timelineoption.notmerge,true);self.messagecenter.dispatch(ecconfig.event.timeline_changed,null,{currentindex:self.currentindex,data:timelineoption.data[self.currentindex].name!=null?timelineoption.data[self.currentindex].name:timelineoption.data[self.currentindex]},self.mychart);};self._onframe=function(){self._setcurrentoption();self._synchandleshape();if(self.timelineoption.autoplay){self.playticket=settimeout(function(){self.currentindex+=1;if(!self.timelineoption.loop&&self.currentindex>=self.timelineoption.data.length){self.currentindex=self.timelineoption.data.length-1;self.stop();return;} self._onframe();},self.timelineoption.playinterval);}};this.settheme(false);this.options=this.option.options;this.currentindex=this.timelineoption.currentindex%this.timelineoption.data.length;if(!this.timelineoption.notmerge&&this.currentindex!==0){this.options[this.currentindex]=zrutil.merge(this.options[this.currentindex],this.options[0]);} if(this.timelineoption.show){this._buildshape();this._synchandleshape();} this._setcurrentoption();if(this.timelineoption.autoplay){var self=this;this.playticket=settimeout(function(){self.play();},this.ectheme.animationduration!=null?this.ectheme.animationduration:ecconfig.animationduration);}} timeline.prototype={type:ecconfig.component_type_timeline,_buildshape:function(){this._location=this._getlocation();this._buildbackground();this._buildcontrol();this._chainpoint=this._getchainpoint();if(this.timelineoption.label.show){var interval=this._getinterval();for(var i=0,len=this._chainpoint.length;i3){var isenough=false;var labelspace;var labelsize;interval=0;while(!isenough&&interval1){var boundarygap=width/len;boundarygap=boundarygap>50?50:boundarygap<20?5:boundarygap;width-=boundarygap*2;if(timelineoption.type==='number'){for(var i=0;i0?'right':'left';rotation=[rotate*math.pi/180,x,y-5];}else{rotation=false;} list.push({x:x,n:n,isempty:isempty,symbol:cursymbol,symbolsize:data[i].symbolsize||symbolsize,color:data[i].color,bordercolor:data[i].bordercolor,borderwidth:data[i].borderwidth,name:this._getreformedlabel(i),textcolor:datatextstyle.color,textalign:textalign,textbaseline:datatextstyle.baseline||'middle',textx:x,texty:y-(rotate?5:0),textfont:data[i].textstyle?this.getfont(datatextstyle):textfont,rotation:rotation,showlabel:false});} return list;},_buildbackground:function(){var timelineoption=this.timelineoption;var padding=this.reformcssarray(this.timelineoption.padding);var width=this._location.width;var height=this._location.height;if(timelineoption.borderwidth!==0||timelineoption.backgroundcolor.replace(/\s/g,'')!='rgba(0,0,0,0)'){this.shapelist.push(new rectangleshape({zlevel:this.getzlevelbase(),z:this.getzbase(),hoverable:false,style:{x:this._location.x-padding[3],y:this._location.y-padding[0],width:width+padding[1]+padding[3],height:height+padding[0]+padding[2],brushtype:timelineoption.borderwidth===0?'fill':'both',color:timelineoption.backgroundcolor,strokecolor:timelineoption.bordercolor,linewidth:timelineoption.borderwidth}}));}},_buildcontrol:function(){var self=this;var timelineoption=this.timelineoption;var linestyle=timelineoption.linestyle;var controlstyle=timelineoption.controlstyle;if(timelineoption.controlposition==='none'){return;} var iconsize=controlstyle.itemsize;var icongap=controlstyle.itemgap;var x;if(timelineoption.controlposition==='left'){x=this._location.x;this._location.x+=(iconsize+icongap)*3;}else{x=this._location.x2-((iconsize+icongap)*3-icongap);this._location.x2-=(iconsize+icongap)*3;} var y=this._location.y;var iconstyle={zlevel:this.getzlevelbase(),z:this.getzbase()+1,style:{icontype:'timelinecontrol',symbol:'last',x:x,y:y,width:iconsize,height:iconsize,brushtype:'stroke',color:controlstyle.normal.color,strokecolor:controlstyle.normal.color,linewidth:linestyle.width},highlightstyle:{color:controlstyle.emphasis.color,strokecolor:controlstyle.emphasis.color,linewidth:linestyle.width+1},clickable:true};this._ctrlastshape=new iconshape(iconstyle);this._ctrlastshape.onclick=function(){self.last();};this.shapelist.push(this._ctrlastshape);x+=iconsize+icongap;this._ctrplayshape=new iconshape(zrutil.clone(iconstyle));this._ctrplayshape.style.brushtype='fill';this._ctrplayshape.style.symbol='play';this._ctrplayshape.style.status=this.timelineoption.autoplay?'playing':'stop';this._ctrplayshape.style.x=x;this._ctrplayshape.onclick=function(){if(self._ctrplayshape.style.status==='stop'){self.play();}else{self.stop();}};this.shapelist.push(this._ctrplayshape);x+=iconsize+icongap;this._ctrnextshape=new iconshape(zrutil.clone(iconstyle));this._ctrnextshape.style.symbol='next';this._ctrnextshape.style.x=x;this._ctrnextshape.onclick=function(){self.next();};this.shapelist.push(this._ctrnextshape);},_buildchain:function(){var timelineoption=this.timelineoption;var linestyle=timelineoption.linestyle;this._timelineshae={zlevel:this.getzlevelbase(),z:this.getzbase(),style:{x:this._location.x,y:this.subpixeloptimize(this._location.y,linestyle.width),width:this._location.x2-this._location.x,height:this._location.height,chainpoint:this._chainpoint,brushtype:'both',strokecolor:linestyle.color,linewidth:linestyle.width,linetype:linestyle.type},hoverable:false,clickable:true,onclick:this._onclick};this._timelineshae=new chainshape(this._timelineshae);this.shapelist.push(this._timelineshae);},_buildhandle:function(){var curpoint=this._chainpoint[this.currentindex];var symbolsize=curpoint.symbolsize+1;symbolsize=symbolsize<5?5:symbolsize;this._handleshape={zlevel:this.getzlevelbase(),z:this.getzbase()+1,hoverable:false,draggable:true,style:{icontype:'diamond',n:curpoint.n,x:curpoint.x-symbolsize,y:this._location.y+this._location.height/4-symbolsize,width:symbolsize*2,height:symbolsize*2,brushtype:'both',textposition:'specific',textx:curpoint.x,texty:this._location.y-this._location.height/4,textalign:'center',textbaseline:'middle'},highlightstyle:{},ondrift:this._ondrift,ondragend:this._ondragend};this._handleshape=new iconshape(this._handleshape);this.shapelist.push(this._handleshape);},_synchandleshape:function(){if(!this.timelineoption.show){return;} var timelineoption=this.timelineoption;var cpstyle=timelineoption.checkpointstyle;var curpoint=this._chainpoint[this.currentindex];this._handleshape.style.text=cpstyle.label.show?curpoint.name:'';this._handleshape.style.textfont=curpoint.textfont;this._handleshape.style.n=curpoint.n;if(cpstyle.symbol==='auto'){this._handleshape.style.icontype=curpoint.symbol!='none'?curpoint.symbol:'diamond';}else{this._handleshape.style.icontype=cpstyle.symbol;if(cpstyle.symbol.match('star')){this._handleshape.style.n=cpstyle.symbol.replace('star','')-0||5;this._handleshape.style.icontype='star';}} var symbolsize;if(cpstyle.symbolsize==='auto'){symbolsize=curpoint.symbolsize+2;symbolsize=symbolsize<5?5:symbolsize;}else{symbolsize=cpstyle.symbolsize-0;} this._handleshape.style.color=cpstyle.color==='auto'?curpoint.color?curpoint.color:timelineoption.controlstyle.emphasis.color:cpstyle.color;this._handleshape.style.textcolor=cpstyle.label.textstyle.color==='auto'?this._handleshape.style.color:cpstyle.label.textstyle.color;this._handleshape.highlightstyle.strokecolor=this._handleshape.style.strokecolor=cpstyle.bordercolor==='auto'?curpoint.bordercolor?curpoint.bordercolor:'#fff':cpstyle.bordercolor;this._handleshape.style.linewidth=cpstyle.borderwidth==='auto'?curpoint.borderwidth?curpoint.borderwidth:0:cpstyle.borderwidth-0;this._handleshape.highlightstyle.linewidth=this._handleshape.style.linewidth+1;this.zr.animate(this._handleshape.id,'style').when(500,{x:curpoint.x-symbolsize,textx:curpoint.x,y:this._location.y+this._location.height/4-symbolsize,width:symbolsize*2,height:symbolsize*2}).start('exponentialout');},_findchainindex:function(x){var chainpoint=this._chainpoint;var len=chainpoint.length;if(x<=chainpoint[0].x){return 0;}else if(x>=chainpoint[len-1].x){return len-1;} for(var i=0;i=chainpoint[i].x&&x<=chainpoint[i+1].x){return math.abs(x-chainpoint[i].x)=chainpoint[len-1].x-chainpoint[len-1].symbolsize){shape.style.x=chainpoint[len-1].x-chainpoint[len-1].symbolsize;newindex=len-1;}else{shape.style.x+=dx;newindex=this._findchainindex(shape.style.x);} var curpoint=chainpoint[newindex];var symbolsize=curpoint.symbolsize+2;shape.style.icontype=curpoint.symbol;shape.style.n=curpoint.n;shape.style.textx=shape.style.x+symbolsize/2;shape.style.y=this._location.y+this._location.height/4-symbolsize;shape.style.width=symbolsize*2;shape.style.height=symbolsize*2;shape.style.text=curpoint.name;if(newindex===this.currentindex){return true;} this.currentindex=newindex;if(this.timelineoption.realtime){cleartimeout(this.playticket);var self=this;this.playticket=settimeout(function(){self._setcurrentoption();},200);} return true;},__ondragend:function(){this.isdragend=true;},ondragend:function(param,status){if(!this.isdragend||!param.target){return;} !this.timelineoption.realtime&&this._setcurrentoption();status.dragout=true;status.dragin=true;status.needrefresh=false;this.isdragend=false;this._synchandleshape();return;},last:function(){this.timelineoption.autoplay&&this.stop();this.currentindex-=1;if(this.currentindex<0){this.currentindex=this.timelineoption.data.length-1;} this._onframe();return this.currentindex;},next:function(){this.timelineoption.autoplay&&this.stop();this.currentindex+=1;if(this.currentindex>=this.timelineoption.data.length){this.currentindex=0;} this._onframe();return this.currentindex;},play:function(targetindex,autoplay){if(this._ctrplayshape&&this._ctrplayshape.style.status!='playing'){this._ctrplayshape.style.status='playing';this.zr.modshape(this._ctrplayshape.id);this.zr.refreshnextframe();} this.timelineoption.autoplay=autoplay!=null?autoplay:true;if(!this.timelineoption.autoplay){cleartimeout(this.playticket);} this.currentindex=targetindex!=null?targetindex:this.currentindex+1;if(this.currentindex>=this.timelineoption.data.length){this.currentindex=0;} this._onframe();return this.currentindex;},stop:function(){if(this._ctrplayshape&&this._ctrplayshape.style.status!='stop'){this._ctrplayshape.style.status='stop';this.zr.modshape(this._ctrplayshape.id);this.zr.refreshnextframe();} this.timelineoption.autoplay=false;cleartimeout(this.playticket);return this.currentindex;},resize:function(){if(this.timelineoption.show){this.clear();this._buildshape();this._synchandleshape();}},settheme:function(needrefresh){this.timelineoption=this.reformoption(zrutil.clone(this.option.timeline));this.timelineoption.label.textstyle=this.gettextstyle(this.timelineoption.label.textstyle);this.timelineoption.checkpointstyle.label.textstyle=this.gettextstyle(this.timelineoption.checkpointstyle.label.textstyle);if(!this.mychart.canvassupported){this.timelineoption.realtime=false;} if(this.timelineoption.show&&needrefresh){this.clear();this._buildshape();this._synchandleshape();}},onbefordispose:function(){cleartimeout(this.playticket);}};function timelinecontrol(ctx,style){var linewidth=2;var x=style.x+linewidth;var y=style.y+linewidth+2;var width=style.width-linewidth;var height=style.height-linewidth;var symbol=style.symbol;if(symbol==='last'){ctx.moveto(x+width-2,y+height/3);ctx.lineto(x+width-2,y);ctx.lineto(x+2,y+height/2);ctx.lineto(x+width-2,y+height);ctx.lineto(x+width-2,y+height/3*2);ctx.moveto(x,y);ctx.lineto(x,y);}else if(symbol==='next'){ctx.moveto(x+2,y+height/3);ctx.lineto(x+2,y);ctx.lineto(x+width-2,y+height/2);ctx.lineto(x+2,y+height);ctx.lineto(x+2,y+height/3*2);ctx.moveto(x,y);ctx.lineto(x,y);}else if(symbol==='play'){if(style.status==='stop'){ctx.moveto(x+2,y);ctx.lineto(x+width-2,y+height/2);ctx.lineto(x+2,y+height);ctx.lineto(x+2,y);}else{var delta=style.brushtype==='both'?2:3;ctx.rect(x+2,y,delta,height);ctx.rect(x+width-delta-2,y,delta,height);}}else if(symbol.match('image')){var imagelocation='';imagelocation=symbol.replace(new regexp('^image:\\/\\/'),'');symbol=iconshape.prototype.iconlibrary.image;symbol(ctx,{x:x,y:y,width:width,height:height,image:imagelocation});}} iconshape.prototype.iconlibrary['timelinecontrol']=timelinecontrol;zrutil.inherits(timeline,base);require('../component').define('timeline',timeline);return timeline;});define('zrender/shape/image',['require','./base','../tool/util'],function(require){var base=require('./base');var zimage=function(options){base.call(this,options);};zimage.prototype={type:'image',brush:function(ctx,ishighlight,refreshnextframe){var style=this.style||{};if(ishighlight){style=this.gethighlightstyle(style,this.highlightstyle||{});} var image=style.image;var self=this;if(!this._imagecache){this._imagecache={};} if(typeof image==='string'){var src=image;if(this._imagecache[src]){image=this._imagecache[src];}else{image=new image();image.onload=function(){image.onload=null;self.modself();refreshnextframe();};image.src=src;this._imagecache[src]=image;}} if(image){if(image.nodename.touppercase()=='img'){if(window.activexobject){if(image.readystate!='complete'){return;}}else{if(!image.complete){return;}}} var width=style.width||image.width;var height=style.height||image.height;var x=style.x;var y=style.y;if(!image.width||!image.height){return;} ctx.save();this.doclip(ctx);this.setcontext(ctx,style);this.settransform(ctx);if(style.swidth&&style.sheight){var sx=style.sx||0;var sy=style.sy||0;ctx.drawimage(image,sx,sy,style.swidth,style.sheight,x,y,width,height);}else if(style.sx&&style.sy){var sx=style.sx;var sy=style.sy;var swidth=width-sx;var sheight=height-sy;ctx.drawimage(image,sx,sy,swidth,sheight,x,y,width,height);}else{ctx.drawimage(image,x,y,width,height);} if(!style.width){style.width=width;} if(!style.height){style.height=height;} if(!this.style.width){this.style.width=width;} if(!this.style.height){this.style.height=height;} this.drawtext(ctx,style,this.style);ctx.restore();}},getrect:function(style){return{x:style.x,y:style.y,width:style.width,height:style.height};},clearcache:function(){this._imagecache={};}};require('../tool/util').inherits(zimage,base);return zimage;});define('zrender/loadingeffect/bar',['require','./base','../tool/util','../tool/color','../shape/rectangle'],function(require){var base=require('./base');var util=require('../tool/util');var zrcolor=require('../tool/color');var rectangleshape=require('../shape/rectangle');function bar(options){base.call(this,options);} util.inherits(bar,base);bar.prototype._start=function(addshapehandle,refreshhandle){var options=util.merge(this.options,{textstyle:{color:'#888'},backgroundcolor:'rgba(250, 250, 250, 0.8)',effectoption:{x:0,y:this.canvasheight/2-30,width:this.canvaswidth,height:5,brushtype:'fill',timeinterval:100}});var textshape=this.createtextshape(options.textstyle);var background=this.createbackgroundshape(options.backgroundcolor);var effectoption=options.effectoption;var barshape=new rectangleshape({highlightstyle:util.clone(effectoption)});barshape.highlightstyle.color=effectoption.color||zrcolor.getlineargradient(effectoption.x,effectoption.y,effectoption.x+effectoption.width,effectoption.y+effectoption.height,[[0,'#ff6400'],[0.5,'#ffe100'],[1,'#b1ff00']]);if(options.progress!=null){addshapehandle(background);barshape.highlightstyle.width=this.adjust(options.progress,[0,1])*options.effectoption.width;addshapehandle(barshape);addshapehandle(textshape);refreshhandle();return;}else{barshape.highlightstyle.width=0;return setinterval(function(){addshapehandle(background);if(barshape.highlightstyle.width=canvaswidth){shapelist[i].len=math.ceil(math.random()*400);style.xstart=-400;style.xend=-400+shapelist[i].len;style.ystart=math.ceil(math.random()*canvasheight);style.yend=style.ystart;} style.xstart+=shapelist[i].animationx;style.xend+=shapelist[i].animationx;addshapehandle(shapelist[i]);} addshapehandle(textshape);refreshhandle();},effectoption.timeinterval);};return dynamicline;});define('zrender/loadingeffect/ring',['require','./base','../tool/util','../tool/color','../shape/ring','../shape/sector'],function(require){var base=require('./base');var util=require('../tool/util');var zrcolor=require('../tool/color');var ringshape=require('../shape/ring');var sectorshape=require('../shape/sector');function ring(options){base.call(this,options);} util.inherits(ring,base);ring.prototype._start=function(addshapehandle,refreshhandle){var options=util.merge(this.options,{textstyle:{color:'#07a'},backgroundcolor:'rgba(250, 250, 250, 0.8)',effect:{x:this.canvaswidth/2,y:this.canvasheight/2,r0:60,r:100,color:'#bbdcff',brushtype:'fill',textposition:'inside',textfont:'normal 30px verdana',textcolor:'rgba(30, 144, 255, 0.6)',timeinterval:100}});var effectoption=options.effect;var textstyle=options.textstyle;if(textstyle.x==null){textstyle.x=effectoption.x;} if(textstyle.y==null){textstyle.y=effectoption.y+(effectoption.r0+effectoption.r)/2-5;} var textshape=this.createtextshape(options.textstyle);var background=this.createbackgroundshape(options.backgroundcolor);var x=effectoption.x;var y=effectoption.y;var r0=effectoption.r0+6;var r=effectoption.r-6;var color=effectoption.color;var darkcolor=zrcolor.lift(color,0.1);var shapering=new ringshape({highlightstyle:util.clone(effectoption)});var shapelist=[];var clolrlist=zrcolor.getgradientcolors(['#ff6400','#ffe100','#97ff00'],25);var preangle=15;var endangle=240;for(var i=0;i<16;i++){shapelist.push(new sectorshape({highlightstyle:{x:x,y:y,r0:r0,r:r,startangle:endangle-preangle,endangle:endangle,brushtype:'fill',color:darkcolor},_color:zrcolor.getlineargradient(x+r0*math.cos(endangle,true),y-r0*math.sin(endangle,true),x+r0*math.cos(endangle-preangle,true),y-r0*math.sin(endangle-preangle,true),[[0,clolrlist[i*2]],[1,clolrlist[i*2+1]]])}));endangle-=preangle;} endangle=360;for(var i=0;i<4;i++){shapelist.push(new sectorshape({highlightstyle:{x:x,y:y,r0:r0,r:r,startangle:endangle-preangle,endangle:endangle,brushtype:'fill',color:darkcolor},_color:zrcolor.getlineargradient(x+r0*math.cos(endangle,true),y-r0*math.sin(endangle,true),x+r0*math.cos(endangle-preangle,true),y-r0*math.sin(endangle-preangle,true),[[0,clolrlist[i*2+32]],[1,clolrlist[i*2+33]]])}));endangle-=preangle;} var n=0;if(options.progress!=null){addshapehandle(background);n=this.adjust(options.progress,[0,1]).tofixed(2)*100/5;shapering.highlightstyle.text=n*5+'%';addshapehandle(shapering);for(var i=0;i<20;i++){shapelist[i].highlightstyle.color=i=20?-20:1;addshapehandle(shapering);for(var i=0;i<20;i++){shapelist[i].highlightstyle.color=i1) h--;if(6*h<1) return m1+(m2-m1)*6*h;else if(2*h<1) return m2;else if(3*h<2) return m1+(m2-m1)*(2/3-h)*6;else return m1;} var processstylecache={};function processstyle(stylestring){if(stylestring in processstylecache){return processstylecache[stylestring];} var str,alpha=1;stylestring=string(stylestring);if(stylestring.charat(0)=='#'){str=stylestring;}else if(/^rgb/.test(stylestring)){var parts=getrgbhslcontent(stylestring);var str='#',n;for(var i=0;i<3;i++){if(parts[i].indexof('%')!=-1){n=math.floor(percent(parts[i])*255);}else{n=+parts[i];} str+=dectohex[clamp(n,0,255)];} alpha=+parts[3];}else if(/^hsl/.test(stylestring)){var parts=getrgbhslcontent(stylestring);str=hsltorgb(parts);alpha=parts[3];}else{str=colordata[stylestring]||stylestring;} return processstylecache[stylestring]={color:str,alpha:alpha};} var default_style={style:'normal',variant:'normal',weight:'normal',size:12,family:'微软雅黑'};var fontstylecache={};function processfontstyle(stylestring){if(fontstylecache[stylestring]){return fontstylecache[stylestring];} var el=document.createelement('div');var style=el.style;var fontfamily;try{style.font=stylestring;fontfamily=style.fontfamily.split(',')[0];}catch(ex){} return fontstylecache[stylestring]={style:style.fontstyle||default_style.style,variant:style.fontvariant||default_style.variant,weight:style.fontweight||default_style.weight,size:style.fontsize||default_style.size,family:fontfamily||default_style.family};} function getcomputedstyle(style,element){var computedstyle={};for(var p in style){computedstyle[p]=style[p];} var canvasfontsize=parsefloat(element.currentstyle.fontsize),fontsize=parsefloat(style.size);if(typeof style.size=='number'){computedstyle.size=style.size;}else if(style.size.indexof('px')!=-1){computedstyle.size=fontsize;}else if(style.size.indexof('em')!=-1){computedstyle.size=canvasfontsize*fontsize;}else if(style.size.indexof('%')!=-1){computedstyle.size=canvasfontsize/100*fontsize;}else if(style.size.indexof('pt')!=-1){computedstyle.size=fontsize/0.75;}else{computedstyle.size=canvasfontsize;} return computedstyle;} function buildstyle(style){return style.style+' '+style.variant+' '+style.weight+' '+style.size+'px \''+style.family+'\'';} var linecapmap={'butt':'flat','round':'round'};function processlinecap(linecap){return linecapmap[linecap]||'square';} function canvasrenderingcontext2d_(canvaselement){this.m_=creatematrixidentity();this.mstack_=[];this.astack_=[];this.currentpath_=[];this.strokestyle='#000';this.fillstyle='#000';this.linewidth=1;this.linejoin='miter';this.linecap='butt';this.miterlimit=z*1;this.globalalpha=1;this.font='12px 微软雅黑';this.textalign='left';this.textbaseline='alphabetic';this.canvas=canvaselement;var csstext='width:'+canvaselement.clientwidth+'px;height:'+canvaselement.clientheight+'px;overflow:hidden;position:absolute';var el=canvaselement.ownerdocument.createelement('div');el.style.csstext=csstext;canvaselement.appendchild(el);var overlayel=el.clonenode(false);overlayel.style.backgroundcolor='#fff';overlayel.style.filter='alpha(opacity=0)';canvaselement.appendchild(overlayel);this.element_=el;this.scalex_=1;this.scaley_=1;this.linescale_=1;} var contextprototype=canvasrenderingcontext2d_.prototype;contextprototype.clearrect=function(){if(this.textmeasureel_){this.textmeasureel_.removenode(true);this.textmeasureel_=null;} this.element_.innerhtml='';};contextprototype.beginpath=function(){this.currentpath_=[];};contextprototype.moveto=function(ax,ay){var p=getcoords(this,ax,ay);this.currentpath_.push({type:'moveto',x:p.x,y:p.y});this.currentx_=p.x;this.currenty_=p.y;};contextprototype.lineto=function(ax,ay){var p=getcoords(this,ax,ay);this.currentpath_.push({type:'lineto',x:p.x,y:p.y});this.currentx_=p.x;this.currenty_=p.y;};contextprototype.beziercurveto=function(acp1x,acp1y,acp2x,acp2y,ax,ay){var p=getcoords(this,ax,ay);var cp1=getcoords(this,acp1x,acp1y);var cp2=getcoords(this,acp2x,acp2y);beziercurveto(this,cp1,cp2,p);};function beziercurveto(self,cp1,cp2,p){self.currentpath_.push({type:'beziercurveto',cp1x:cp1.x,cp1y:cp1.y,cp2x:cp2.x,cp2y:cp2.y,x:p.x,y:p.y});self.currentx_=p.x;self.currenty_=p.y;} contextprototype.quadraticcurveto=function(acpx,acpy,ax,ay){var cp=getcoords(this,acpx,acpy);var p=getcoords(this,ax,ay);var cp1={x:this.currentx_+2/3*(cp.x-this.currentx_),y:this.currenty_+2/3*(cp.y-this.currenty_)};var cp2={x:cp1.x+(p.x-this.currentx_)/3,y:cp1.y+(p.y-this.currenty_)/3};beziercurveto(this,cp1,cp2,p);};contextprototype.arc=function(ax,ay,aradius,astartangle,aendangle,aclockwise){aradius*=z;var arctype=aclockwise?'at':'wa';var xstart=ax+mc(astartangle)*aradius-z2;var ystart=ay+ms(astartangle)*aradius-z2;var xend=ax+mc(aendangle)*aradius-z2;var yend=ay+ms(aendangle)*aradius-z2;if(xstart==xend&&!aclockwise){xstart+=0.125;} var p=getcoords(this,ax,ay);var pstart=getcoords(this,xstart,ystart);var pend=getcoords(this,xend,yend);this.currentpath_.push({type:arctype,x:p.x,y:p.y,radius:aradius,xstart:pstart.x,ystart:pstart.y,xend:pend.x,yend:pend.y});};contextprototype.rect=function(ax,ay,awidth,aheight){this.moveto(ax,ay);this.lineto(ax+awidth,ay);this.lineto(ax+awidth,ay+aheight);this.lineto(ax,ay+aheight);this.closepath();};contextprototype.strokerect=function(ax,ay,awidth,aheight){var oldpath=this.currentpath_;this.beginpath();this.moveto(ax,ay);this.lineto(ax+awidth,ay);this.lineto(ax+awidth,ay+aheight);this.lineto(ax,ay+aheight);this.closepath();this.stroke();this.currentpath_=oldpath;};contextprototype.fillrect=function(ax,ay,awidth,aheight){var oldpath=this.currentpath_;this.beginpath();this.moveto(ax,ay);this.lineto(ax+awidth,ay);this.lineto(ax+awidth,ay+aheight);this.lineto(ax,ay+aheight);this.closepath();this.fill();this.currentpath_=oldpath;};contextprototype.createlineargradient=function(ax0,ay0,ax1,ay1){var gradient=new canvasgradient_('gradient');gradient.x0_=ax0;gradient.y0_=ay0;gradient.x1_=ax1;gradient.y1_=ay1;return gradient;};contextprototype.createradialgradient=function(ax0,ay0,ar0,ax1,ay1,ar1){var gradient=new canvasgradient_('gradientradial');gradient.x0_=ax0;gradient.y0_=ay0;gradient.r0_=ar0;gradient.x1_=ax1;gradient.y1_=ay1;gradient.r1_=ar1;return gradient;};contextprototype.drawimage=function(image,var_args){var dx,dy,dw,dh,sx,sy,sw,sh;var oldruntimewidth=image.runtimestyle.width;var oldruntimeheight=image.runtimestyle.height;image.runtimestyle.width='auto';image.runtimestyle.height='auto';var w=image.width;var h=image.height;image.runtimestyle.width=oldruntimewidth;image.runtimestyle.height=oldruntimeheight;if(arguments.length==3){dx=arguments[1];dy=arguments[2];sx=sy=0;sw=dw=w;sh=dh=h;}else if(arguments.length==5){dx=arguments[1];dy=arguments[2];dw=arguments[3];dh=arguments[4];sx=sy=0;sw=w;sh=h;}else if(arguments.length==9){sx=arguments[1];sy=arguments[2];sw=arguments[3];sh=arguments[4];dx=arguments[5];dy=arguments[6];dw=arguments[7];dh=arguments[8];}else{throw error('invalid number of arguments');} var d=getcoords(this,dx,dy);var w2=sw/2;var h2=sh/2;var vmlstr=[];var w=10;var h=10;var scalex=scaley=1;vmlstr.push(' ');if(sx||sy){vmlstr.push('
');} vmlstr.push('
');if(sx||sy) vmlstr.push('
');vmlstr.push('
');this.element_.insertadjacenthtml('beforeend',vmlstr.join(''));};contextprototype.stroke=function(afill){var linestr=[];var lineopen=false;var w=10;var h=10;linestr.push('');if(!afill){appendstroke(this,linestr);}else{appendfill(this,linestr,min,max);} linestr.push('');this.element_.insertadjacenthtml('beforeend',linestr.join(''));};function appendstroke(ctx,linestr){var a=processstyle(ctx.strokestyle);var color=a.color;var opacity=a.alpha*ctx.globalalpha;var linewidth=ctx.linescale_*ctx.linewidth;if(linewidth<1){opacity*=linewidth;} linestr.push('');} function appendfill(ctx,linestr,min,max){var fillstyle=ctx.fillstyle;var arcscalex=ctx.scalex_;var arcscaley=ctx.scaley_;var width=max.x-min.x;var height=max.y-min.y;if(fillstyle instanceof canvasgradient_){var angle=0;var focus={x:0,y:0};var shift=0;var expansion=1;if(fillstyle.type_=='gradient'){var x0=fillstyle.x0_/arcscalex;var y0=fillstyle.y0_/arcscaley;var x1=fillstyle.x1_/arcscalex;var y1=fillstyle.y1_/arcscaley;var p0=getcoords(ctx,x0,y0);var p1=getcoords(ctx,x1,y1);var dx=p1.x-p0.x;var dy=p1.y-p0.y;angle=math.atan2(dx,dy)*180/math.pi;if(angle<0){angle+=360;} if(angle<0.000001){angle=0;}}else{var p0=getcoords(ctx,fillstyle.x0_,fillstyle.y0_);focus={x:(p0.x-min.x)/width,y:(p0.y-min.y)/height};width/=arcscalex*z;height/=arcscaley*z;var dimension=m.max(width,height);shift=2*fillstyle.r0_/dimension;expansion=2*fillstyle.r1_/dimension-shift;} var stops=fillstyle.colors_;stops.sort(function(cs1,cs2){return cs1.offset-cs2.offset;});var length=stops.length;var color1=stops[0].color;var color2=stops[length-1].color;var opacity1=stops[0].alpha*ctx.globalalpha;var opacity2=stops[length-1].alpha*ctx.globalalpha;var colors=[];for(var i=0;i');}else if(fillstyle instanceof canvaspattern_){if(width&&height){var deltaleft=-min.x;var deltatop=-min.y;linestr.push('');}}else{var a=processstyle(ctx.fillstyle);var color=a.color;var opacity=a.alpha*ctx.globalalpha;linestr.push('');}} contextprototype.fill=function(){this.stroke(true);};contextprototype.closepath=function(){this.currentpath_.push({type:'close'});};function getcoords(ctx,ax,ay){var m=ctx.m_;return{x:z*(ax*m[0][0]+ay*m[1][0]+m[2][0])-z2,y:z*(ax*m[0][1]+ay*m[1][1]+m[2][1])-z2};};contextprototype.save=function(){var o={};copystate(this,o);this.astack_.push(o);this.mstack_.push(this.m_);this.m_=matrixmultiply(creatematrixidentity(),this.m_);};contextprototype.restore=function(){if(this.astack_.length){copystate(this.astack_.pop(),this);this.m_=this.mstack_.pop();}};function matrixisfinite(m){return isfinite(m[0][0])&&isfinite(m[0][1])&&isfinite(m[1][0])&&isfinite(m[1][1])&&isfinite(m[2][0])&&isfinite(m[2][1]);} function setm(ctx,m,updatelinescale){if(!matrixisfinite(m)){return;} ctx.m_=m;ctx.scalex_=math.sqrt(m[0][0]*m[0][0]+m[0][1]*m[0][1]);ctx.scaley_=math.sqrt(m[1][0]*m[1][0]+m[1][1]*m[1][1]);if(updatelinescale){var det=m[0][0]*m[1][1]-m[0][1]*m[1][0];ctx.linescale_=sqrt(abs(det));}} contextprototype.translate=function(ax,ay){var m1=[[1,0,0],[0,1,0],[ax,ay,1]];setm(this,matrixmultiply(m1,this.m_),false);};contextprototype.rotate=function(arot){var c=mc(arot);var s=ms(arot);var m1=[[c,s,0],[-s,c,0],[0,0,1]];setm(this,matrixmultiply(m1,this.m_),false);};contextprototype.scale=function(ax,ay){var m1=[[ax,0,0],[0,ay,0],[0,0,1]];setm(this,matrixmultiply(m1,this.m_),true);};contextprototype.transform=function(m11,m12,m21,m22,dx,dy){var m1=[[m11,m12,0],[m21,m22,0],[dx,dy,1]];setm(this,matrixmultiply(m1,this.m_),true);};contextprototype.settransform=function(m11,m12,m21,m22,dx,dy){var m=[[m11,m12,0],[m21,m22,0],[dx,dy,1]];setm(this,m,true);};contextprototype.drawtext_=function(text,x,y,maxwidth,stroke){var m=this.m_,delta=1000,left=0,right=delta,offset={x:0,y:0},linestr=[];var fontstyle=getcomputedstyle(processfontstyle(this.font),this.element_);var fontstylestring=buildstyle(fontstyle);var elementstyle=this.element_.currentstyle;var textalign=this.textalign.tolowercase();switch(textalign){case 'left':case 'center':case 'right':break;case 'end':textalign=elementstyle.direction=='ltr'?'right':'left';break;case 'start':textalign=elementstyle.direction=='rtl'?'right':'left';break;default:textalign='left';} switch(this.textbaseline){case 'hanging':case 'top':offset.y=fontstyle.size/1.75;break;case 'middle':break;default:case null:case 'alphabetic':case 'ideographic':case 'bottom':offset.y=-fontstyle.size/2.25;break;} switch(textalign){case 'right':left=delta;right=0.05;break;case 'center':left=right=delta/2;break;} var d=getcoords(this,x+offset.x,y+offset.y);linestr.push('');if(stroke){appendstroke(this,linestr);}else{appendfill(this,linestr,{x:-left,y:0},{x:right,y:fontstyle.size});} var skewm=m[0][0].tofixed(3)+','+m[1][0].tofixed(3)+','+m[0][1].tofixed(3)+','+m[1][1].tofixed(3)+',0,0';var skewoffset=mr(d.x/z)+','+mr(d.y/z);linestr.push('','','');this.element_.insertadjacenthtml('beforeend',linestr.join(''));};contextprototype.filltext=function(text,x,y,maxwidth){this.drawtext_(text,x,y,maxwidth,false);};contextprototype.stroketext=function(text,x,y,maxwidth){this.drawtext_(text,x,y,maxwidth,true);};contextprototype.measuretext=function(text){if(!this.textmeasureel_){var s='';this.element_.insertadjacenthtml('beforeend',s);this.textmeasureel_=this.element_.lastchild;} var doc=this.element_.ownerdocument;this.textmeasureel_.innerhtml='';try{this.textmeasureel_.style.font=this.font;}catch(ex){} this.textmeasureel_.appendchild(doc.createtextnode(text));return{width:this.textmeasureel_.offsetwidth};};contextprototype.clip=function(){};contextprototype.arcto=function(){};contextprototype.createpattern=function(image,repetition){return new canvaspattern_(image,repetition);};function canvasgradient_(atype){this.type_=atype;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[];} canvasgradient_.prototype.addcolorstop=function(aoffset,acolor){acolor=processstyle(acolor);this.colors_.push({offset:aoffset,color:acolor.color,alpha:acolor.alpha});};function canvaspattern_(image,repetition){assertimageisvalid(image);switch(repetition){case 'repeat':case null:case '':this.repetition_='repeat';break;case 'repeat-x':case 'repeat-y':case 'no-repeat':this.repetition_=repetition;break;default:throwexception('syntax_err');} this.src_=image.src;this.width_=image.width;this.height_=image.height;} function throwexception(s){throw new domexception_(s);} function assertimageisvalid(img){if(!img||img.nodetype!=1||img.tagname!='img'){throwexception('type_mismatch_err');} if(img.readystate!='complete'){throwexception('invalid_state_err');}} function domexception_(s){this.code=this[s];this.message=s+': dom exception '+this.code;} var p=domexception_.prototype=new error();p.index_size_err=1;p.domstring_size_err=2;p.hierarchy_request_err=3;p.wrong_document_err=4;p.invalid_character_err=5;p.no_data_allowed_err=6;p.no_modification_allowed_err=7;p.not_found_err=8;p.not_supported_err=9;p.inuse_attribute_err=10;p.invalid_state_err=11;p.syntax_err=12;p.invalid_modification_err=13;p.namespace_err=14;p.invalid_access_err=15;p.validation_err=16;p.type_mismatch_err=17;g_vmlcanvasmanager=g_vmlcanvasmanager_;canvasrenderingcontext2d=canvasrenderingcontext2d_;canvasgradient=canvasgradient_;canvaspattern=canvaspattern_;domexception=domexception_;}());}else{g_vmlcanvasmanager=false;} return g_vmlcanvasmanager;});define('zrender/mixin/eventful',['require'],function(require){var eventful=function(){this._handlers={};};eventful.prototype.one=function(event,handler,context){var _h=this._handlers;if(!handler||!event){return this;} if(!_h[event]){_h[event]=[];} _h[event].push({h:handler,one:true,ctx:context||this});return this;};eventful.prototype.bind=function(event,handler,context){var _h=this._handlers;if(!handler||!event){return this;} if(!_h[event]){_h[event]=[];} _h[event].push({h:handler,one:false,ctx:context||this});return this;};eventful.prototype.unbind=function(event,handler){var _h=this._handlers;if(!event){this._handlers={};return this;} if(handler){if(_h[event]){var newlist=[];for(var i=0,l=_h[event].length;i3){args=array.prototype.slice.call(args,1);} var _h=this._handlers[type];var len=_h.length;for(var i=0;i4){args=array.prototype.slice.call(args,1,args.length-1);} var ctx=args[args.length-1];var _h=this._handlers[type];var len=_h.length;for(var i=0;i1){for(var k in arguments){console.log(arguments[k]);}}};});define('zrender/tool/guid',[],function(){var idstart=2311;return function(){return 'zrender__'+idstart++;};});define('zrender/handler',['require','./config','./tool/env','./tool/event','./tool/util','./tool/vector','./tool/matrix','./mixin/eventful'],function(require){'use strict';var config=require('./config');var env=require('./tool/env');var eventtool=require('./tool/event');var util=require('./tool/util');var vec2=require('./tool/vector');var mat2d=require('./tool/matrix');var event=config.event;var eventful=require('./mixin/eventful');var domhandlernames=['resize','click','dblclick','mousewheel','mousemove','mouseout','mouseup','mousedown','touchstart','touchend','touchmove'];var iszrenderelement=function(event){if(window.g_vmlcanvasmanager){return true;} event=event||window.event;var target=event.toelement||event.relatedtarget||event.srcelement||event.target;return target&&target.classname.match(config.elementclassname);};var domhandlers={resize:function(event){event=event||window.event;this._lasthover=null;this._ismousedown=0;this.dispatch(event.resize,event);},click:function(event,manually){if(!iszrenderelement(event)&&!manually){return;} event=this._zrendereventfixed(event);var _lasthover=this._lasthover;if(_lasthover&&_lasthover.clickable||!_lasthover){if(this._clickthreshold<5){this._dispatchagency(_lasthover,event.click,event);}} this._mousemovehandler(event);},dblclick:function(event,manually){if(!iszrenderelement(event)&&!manually){return;} event=event||window.event;event=this._zrendereventfixed(event);var _lasthover=this._lasthover;if(_lasthover&&_lasthover.clickable||!_lasthover){if(this._clickthreshold<5){this._dispatchagency(_lasthover,event.dblclick,event);}} this._mousemovehandler(event);},mousewheel:function(event,manually){if(!iszrenderelement(event)&&!manually){return;} event=this._zrendereventfixed(event);var delta=event.wheeldelta||-event.detail;var scale=delta>0?1.1:1/1.1;var needsrefresh=false;var mousex=this._mousex;var mousey=this._mousey;this.painter.eachbuildinlayer(function(layer){var pos=layer.position;if(layer.zoomable){layer.__zoom=layer.__zoom||1;var newzoom=layer.__zoom;newzoom*=scale;newzoom=math.max(math.min(layer.maxzoom,newzoom),layer.minzoom);scale=newzoom/layer.__zoom;layer.__zoom=newzoom;pos[0]-=(mousex-pos[0])*(scale-1);pos[1]-=(mousey-pos[1])*(scale-1);layer.scale[0]*=scale;layer.scale[1]*=scale;layer.dirty=true;needsrefresh=true;eventtool.stop(event);}});if(needsrefresh){this.painter.refresh();} this._dispatchagency(this._lasthover,event.mousewheel,event);this._mousemovehandler(event);},mousemove:function(event,manually){if(!iszrenderelement(event)&&!manually){return;} if(this.painter.isloading()){return;} event=this._zrendereventfixed(event);this._lastx=this._mousex;this._lasty=this._mousey;this._mousex=eventtool.getx(event);this._mousey=eventtool.gety(event);var dx=this._mousex-this._lastx;var dy=this._mousey-this._lasty;this._processdragstart(event);this._hasfound=0;this._event=event;this._iterateandfindhover();if(!this._hasfound){if(!this._draggingtarget||this._lasthover&&this._lasthover!=this._draggingtarget){this._processoutshape(event);this._processdragleave(event);} this._lasthover=null;this.storage.delhover();this.painter.clearhover();} var cursor='default';if(this._draggingtarget){this.storage.drift(this._draggingtarget.id,dx,dy);this._draggingtarget.modself();this.storage.addhover(this._draggingtarget);this._clickthreshold++;}else if(this._ismousedown){var needsrefresh=false;this.painter.eachbuildinlayer(function(layer){if(layer.panable){cursor='move';layer.position[0]+=dx;layer.position[1]+=dy;needsrefresh=true;layer.dirty=true;}});if(needsrefresh){this.painter.refresh();}} if(this._draggingtarget||this._hasfound&&this._lasthover.draggable){cursor='move';}else if(this._hasfound&&this._lasthover.clickable){cursor='pointer';} this.root.style.cursor=cursor;this._dispatchagency(this._lasthover,event.mousemove,event);if(this._draggingtarget||this._hasfound||this.storage.hashovershape()){this.painter.refreshhover();}},mouseout:function(event,manually){if(!iszrenderelement(event)&&!manually){return;} event=this._zrendereventfixed(event);var element=event.toelement||event.relatedtarget;if(element!=this.root){while(element&&element.nodetype!=9){if(element==this.root){this._mousemovehandler(event);return;} element=element.parentnode;}} event.zrenderx=this._lastx;event.zrendery=this._lasty;this.root.style.cursor='default';this._ismousedown=0;this._processoutshape(event);this._processdrop(event);this._processdragend(event);if(!this.painter.isloading()){this.painter.refreshhover();} this.dispatch(event.globalout,event);},mousedown:function(event,manually){if(!iszrenderelement(event)&&!manually){return;} this._clickthreshold=0;if(this._lastdownbutton==2){this._lastdownbutton=event.button;this._mousedowntarget=null;return;} this._lastmousedownmoment=new date();event=this._zrendereventfixed(event);this._ismousedown=1;this._mousedowntarget=this._lasthover;this._dispatchagency(this._lasthover,event.mousedown,event);this._lastdownbutton=event.button;},mouseup:function(event,manually){if(!iszrenderelement(event)&&!manually){return;} event=this._zrendereventfixed(event);this.root.style.cursor='default';this._ismousedown=0;this._mousedowntarget=null;this._dispatchagency(this._lasthover,event.mouseup,event);this._processdrop(event);this._processdragend(event);},touchstart:function(event,manually){if(!iszrenderelement(event)&&!manually){return;} event=this._zrendereventfixed(event,true);this._lasttouchmoment=new date();this._mobilefindfixed(event);this._mousedownhandler(event);},touchmove:function(event,manually){if(!iszrenderelement(event)&&!manually){return;} event=this._zrendereventfixed(event,true);this._mousemovehandler(event);if(this._isdragging){eventtool.stop(event);}},touchend:function(event,manually){if(!iszrenderelement(event)&&!manually){return;} event=this._zrendereventfixed(event,true);this._mouseuphandler(event);var now=new date();if(now-this._lasttouchmoment=0;i--){var shape=list[i];if(currentzlevel!==shape.zlevel){currentlayer=this.painter.getlayer(shape.zlevel,currentlayer);tmp[0]=this._mousex;tmp[1]=this._mousey;if(currentlayer.needtransform){mat2d.invert(invtransform,currentlayer.transform);vec2.applytransform(tmp,tmp,invtransform);}} if(this._findhover(shape,tmp[0],tmp[1])){break;}}};}();var mobile_touch_offsets=[{x:10},{x:-20},{x:10,y:10},{y:-20}];handler.prototype._mobilefindfixed=function(event){this._lasthover=null;this._mousex=event.zrenderx;this._mousey=event.zrendery;this._event=event;this._iterateandfindhover();for(var i=0;!this._lasthover&&i0&&zlevel>this._zlevellist[0]){for(i=0;izlevel){break;}} prevlayer=this._layers[this._zlevellist[i]];} this._zlevellist.splice(i+1,0,zlevel);var prevdom=prevlayer?prevlayer.dom:this._bgdom;if(prevdom.nextsibling){prevdom.parentnode.insertbefore(layer.dom,prevdom.nextsibling);}else{prevdom.parentnode.appendchild(layer.dom);} this._layers[zlevel]=layer;};painter.prototype.eachlayer=function(cb,context){for(var i=0;i0;};storage.prototype.addroot=function(el){if(this._elements[el.id]){return;} if(el instanceof group){el.addchildrentostorage(this);} this.addtomap(el);this._roots.push(el);};storage.prototype.delroot=function(elid){if(typeof elid=='undefined'){for(var i=0;i=0){this.delfrommap(el.id);this._roots.splice(idx,1);if(el instanceof group){el.delchildrenfromstorage(this);}}};storage.prototype.addtomap=function(el){if(el instanceof group){el._storage=this;} el.modself();this._elements[el.id]=el;return this;};storage.prototype.get=function(elid){return this._elements[elid];};storage.prototype.delfrommap=function(elid){var el=this._elements[elid];if(el){delete this._elements[elid];if(el instanceof group){el._storage=null;}} return this;};storage.prototype.dispose=function(){this._elements=this._renderlist=this._roots=this._hoverelements=null;};return storage;});define('zrender/animation/animation',['require','./clip','../tool/color','../tool/util','../tool/event'],function(require){'use strict';var clip=require('./clip');var color=require('../tool/color');var util=require('../tool/util');var dispatcher=require('../tool/event').dispatcher;var requestanimationframe=window.requestanimationframe||window.msrequestanimationframe||window.mozrequestanimationframe||window.webkitrequestanimationframe||function(func){settimeout(func,16);};var arrayslice=array.prototype.slice;var animation=function(options){options=options||{};this.stage=options.stage||{};this.onframe=options.onframe||function(){};this._clips=[];this._running=false;this._time=0;dispatcher.call(this);};animation.prototype={add:function(clip){this._clips.push(clip);},remove:function(clip){if(clip.__instep){clip.__needsremove=true;}else{var idx=util.indexof(this._clips,clip);if(idx>=0){this._clips.splice(idx,1);}}},_update:function(){var time=new date().gettime();var delta=time-this._time;var clips=this._clips;var len=clips.length;var deferredevents=[];var deferredclips=[];for(var i=0;i=0;i--){if(kfpercents[i]<=percent){break;}} i=math.min(i,tracklen-2);}else{for(i=cachekey;ipercent){break;}} i=math.min(i-1,tracklen-2);} cachekey=i;cachepercent=percent;var range=kfpercents[i+1]-kfpercents[i];if(range===0){return;}else{w=(percent-kfpercents[i])/range;} if(usespline){p1=kfvalues[i];p0=kfvalues[i===0?i:i-1];p2=kfvalues[i>tracklen-2?tracklen-1:i+1];p3=kfvalues[i>tracklen-3?tracklen-1:i+2];if(isvaluearray){_catmullrominterpolatearray(p0,p1,p2,p3,w,w*w,w*w*w,getter(target,propname),arrdim);}else{var value;if(isvaluecolor){value=_catmullrominterpolatearray(p0,p1,p2,p3,w,w*w,w*w*w,rgba,1);value=rgba2string(rgba);}else{value=_catmullrominterpolate(p0,p1,p2,p3,w,w*w,w*w*w);} setter(target,propname,value);}}else{if(isvaluearray){_interpolatearray(kfvalues[i],kfvalues[i+1],w,getter(target,propname),arrdim);}else{var value;if(isvaluecolor){_interpolatearray(kfvalues[i],kfvalues[i+1],w,rgba,1);value=rgba2string(rgba);}else{value=_interpolatenumber(kfvalues[i],kfvalues[i+1],w);} setter(target,propname,value);}} for(i=0;i=region[1]){value=region[1];} return value;};base.prototype.getlocation=function(loc,totalwidth,totalheight){var x=loc.x!=null?loc.x:'center';switch(x){case 'center':x=math.floor((this.canvaswidth-totalwidth)/2);break;case 'left':x=0;break;case 'right':x=this.canvaswidth-totalwidth;break;} var y=loc.y!=null?loc.y:'center';switch(y){case 'center':y=math.floor((this.canvasheight-totalheight)/2);break;case 'top':y=0;break;case 'bottom':y=this.canvasheight-totalheight;break;} return{x:x,y:y,width:totalwidth,height:totalheight};};return base;});define('zrender/layer',['require','./mixin/transformable','./tool/util','./config'],function(require){var transformable=require('./mixin/transformable');var util=require('./tool/util');var vmlcanvasmanager=window['g_vmlcanvasmanager'];var config=require('./config');function returnfalse(){return false;} function createdom(id,type,painter){var newdom=document.createelement(type);var width=painter.getwidth();var height=painter.getheight();newdom.style.position='absolute';newdom.style.left=0;newdom.style.top=0;newdom.style.width=width+'px';newdom.style.height=height+'px';newdom.width=width*config.devicepixelratio;newdom.height=height*config.devicepixelratio;newdom.setattribute('data-zr-dom-id',id);return newdom;} var layer=function(id,painter){this.id=id;this.dom=createdom(id,'canvas',painter);this.dom.onselectstart=returnfalse;this.dom.style['-webkit-user-select']='none';this.dom.style['user-select']='none';this.dom.style['-webkit-touch-callout']='none';this.dom.style['-webkit-tap-highlight-color']='rgba(0,0,0,0)';this.dom.classname=config.elementclassname;vmlcanvasmanager&&vmlcanvasmanager.initelement(this.dom);this.domback=null;this.ctxback=null;this.painter=painter;this.unusedcount=0;this.config=null;this.dirty=true;this.elcount=0;this.clearcolor=0;this.motionblur=false;this.lastframealpha=0.7;this.zoomable=false;this.panable=false;this.maxzoom=infinity;this.minzoom=0;transformable.call(this);};layer.prototype.initcontext=function(){this.ctx=this.dom.getcontext('2d');var dpr=config.devicepixelratio;if(dpr!=1){this.ctx.scale(dpr,dpr);}};layer.prototype.createbackbuffer=function(){if(vmlcanvasmanager){return;} this.domback=createdom('back-'+this.id,'canvas',this.painter);this.ctxback=this.domback.getcontext('2d');var dpr=config.devicepixelratio;if(dpr!=1){this.ctxback.scale(dpr,dpr);}};layer.prototype.resize=function(width,height){var dpr=config.devicepixelratio;this.dom.style.width=width+'px';this.dom.style.height=height+'px';this.dom.setattribute('width',width*dpr);this.dom.setattribute('height',height*dpr);if(dpr!=1){this.ctx.scale(dpr,dpr);} if(this.domback){this.domback.setattribute('width',width*dpr);this.domback.setattribute('height',height*dpr);if(dpr!=1){this.ctxback.scale(dpr,dpr);}}};layer.prototype.clear=function(){var dom=this.dom;var ctx=this.ctx;var width=dom.width;var height=dom.height;var haveclearcolor=this.clearcolor&&!vmlcanvasmanager;var havemotionblur=this.motionblur&&!vmlcanvasmanager;var lastframealpha=this.lastframealpha;var dpr=config.devicepixelratio;if(havemotionblur){if(!this.domback){this.createbackbuffer();} this.ctxback.globalcompositeoperation='copy';this.ctxback.drawimage(dom,0,0,width/dpr,height/dpr);} ctx.clearrect(0,0,width/dpr,height/dpr);if(haveclearcolor){ctx.save();ctx.fillstyle=this.clearcolor;ctx.fillrect(0,0,width/dpr,height/dpr);ctx.restore();} if(havemotionblur){var domback=this.domback;ctx.save();ctx.globalalpha=lastframealpha;ctx.drawimage(domback,0,0,width/dpr,height/dpr);ctx.restore();}};util.merge(layer.prototype,transformable.prototype);return layer;});define('zrender/shape/text',['require','../tool/area','./base','../tool/util'],function(require){var area=require('../tool/area');var base=require('./base');var text=function(options){base.call(this,options);};text.prototype={type:'text',brush:function(ctx,ishighlight){var style=this.style;if(ishighlight){style=this.gethighlightstyle(style,this.highlightstyle||{});} if(typeof style.text=='undefined'||style.text===false){return;} ctx.save();this.doclip(ctx);this.setcontext(ctx,style);this.settransform(ctx);if(style.textfont){ctx.font=style.textfont;} ctx.textalign=style.textalign||'start';ctx.textbaseline=style.textbaseline||'middle';var text=(style.text+'').split('\n');var lineheight=area.gettextheight('国',style.textfont);var rect=this.getrect(style);var x=style.x;var y;if(style.textbaseline=='top'){y=rect.y;}else if(style.textbaseline=='bottom'){y=rect.y+lineheight;}else{y=rect.y+lineheight/2;} for(var i=0,l=text.length;iwidth){total=r1+r2;r1*=width/total;r2*=width/total;} if(r3+r4>width){total=r3+r4;r3*=width/total;r4*=width/total;} if(r2+r3>height){total=r2+r3;r2*=height/total;r3*=height/total;} if(r1+r4>height){total=r1+r4;r1*=height/total;r4*=height/total;} ctx.moveto(x+r1,y);ctx.lineto(x+width-r2,y);r2!==0&&ctx.quadraticcurveto(x+width,y,x+width,y+r2);ctx.lineto(x+width,y+height-r3);r3!==0&&ctx.quadraticcurveto(x+width,y+height,x+width-r3,y+height);ctx.lineto(x+r4,y+height);r4!==0&&ctx.quadraticcurveto(x,y+height,x,y+height-r4);ctx.lineto(x,y+r1);r1!==0&&ctx.quadraticcurveto(x,y,x+r1,y);},buildpath:function(ctx,style){if(!style.radius){ctx.moveto(style.x,style.y);ctx.lineto(style.x+style.width,style.y);ctx.lineto(style.x+style.width,style.y+style.height);ctx.lineto(style.x,style.y+style.height);ctx.lineto(style.x,style.y);}else{this._buildradiuspath(ctx,style);} ctx.closepath();return;},getrect:function(style){if(style.__rect){return style.__rect;} var linewidth;if(style.brushtype=='stroke'||style.brushtype=='fill'){linewidth=style.linewidth||1;}else{linewidth=0;} style.__rect={x:math.round(style.x-linewidth/2),y:math.round(style.y-linewidth/2),width:style.width+linewidth,height:style.height+linewidth};return style.__rect;}};require('../tool/util').inherits(rectangle,base);return rectangle;});define('zrender/tool/area',['require','./util','./curve'],function(require){'use strict';var util=require('./util');var curve=require('./curve');var _ctx;var _textwidthcache={};var _textheightcache={};var _textwidthcachecounter=0;var _textheightcachecounter=0;var text_cache_max=5000;var pi2=math.pi*2;function normalizeradian(angle){angle%=pi2;if(angle<0){angle+=pi2;} return angle;} function isinside(shape,area,x,y){if(!area||!shape){return false;} var zonetype=shape.type;_ctx=_ctx||util.getcontext();var _mathreturn=_mathmethod(shape,area,x,y);if(typeof _mathreturn!='undefined'){return _mathreturn;} if(shape.buildpath&&_ctx.ispointinpath){return _buildpathmethod(shape,_ctx,area,x,y);} switch(zonetype){case 'ellipse':return true;case 'trochoid':var _r=area.location=='out'?area.r1+area.r2+area.d:area.r1-area.r2+area.d;return isinsidecircle(area,x,y,_r);case 'rose':return isinsidecircle(area,x,y,area.maxr);default:return false;}} function _mathmethod(shape,area,x,y){var zonetype=shape.type;switch(zonetype){case 'bezier-curve':if(typeof area.cpx2==='undefined'){return isinsidequadraticstroke(area.xstart,area.ystart,area.cpx1,area.cpy1,area.xend,area.yend,area.linewidth,x,y);} return isinsidecubicstroke(area.xstart,area.ystart,area.cpx1,area.cpy1,area.cpx2,area.cpy2,area.xend,area.yend,area.linewidth,x,y);case 'line':return isinsideline(area.xstart,area.ystart,area.xend,area.yend,area.linewidth,x,y);case 'polyline':return isinsidepolyline(area.pointlist,area.linewidth,x,y);case 'ring':return isinsidering(area.x,area.y,area.r0,area.r,x,y);case 'circle':return isinsidecircle(area.x,area.y,area.r,x,y);case 'sector':var startangle=area.startangle*math.pi/180;var endangle=area.endangle*math.pi/180;if(!area.clockwise){startangle=-startangle;endangle=-endangle;} return isinsidesector(area.x,area.y,area.r0,area.r,startangle,endangle,!area.clockwise,x,y);case 'path':return area.patharray&&isinsidepath(area.patharray,math.max(area.linewidth,5),area.brushtype,x,y);case 'polygon':case 'star':case 'isogon':return isinsidepolygon(area.pointlist,x,y);case 'text':var rect=area.__rect||shape.getrect(area);return isinsiderect(rect.x,rect.y,rect.width,rect.height,x,y);case 'rectangle':case 'image':return isinsiderect(area.x,area.y,area.width,area.height,x,y);}} function _buildpathmethod(shape,context,area,x,y){context.beginpath();shape.buildpath(context,area);context.closepath();return context.ispointinpath(x,y);} function isoutside(shape,area,x,y){return!isinside(shape,area,x,y);} function isinsideline(x0,y0,x1,y1,linewidth,x,y){if(linewidth===0){return false;} var _l=math.max(linewidth,5);var _a=0;var _b=x0;if(y>y0+_l&&y>y1+_l||yx0+_l&&x>x1+_l||xy0+_l&&y>y1+_l&&y>y2+_l&&y>y3+_l||yx0+_l&&x>x1+_l&&x>x2+_l&&x>x3+_l||xy0+_l&&y>y1+_l&&y>y2+_l||yx0+_l&&x>x1+_l&&x>x2+_l||xr||d+_l=pi2){return true;} if(anticlockwise){var tmp=startangle;startangle=normalizeradian(endangle);endangle=normalizeradian(tmp);}else{startangle=normalizeradian(startangle);endangle=normalizeradian(endangle);} if(startangle>endangle){endangle+=pi2;} var angle=math.atan2(y,x);if(angle<0){angle+=pi2;} return angle>=startangle&&angle<=endangle||angle+pi2>=startangle&&angle+pi2<=endangle;} function isinsidepolyline(points,linewidth,x,y){var linewidth=math.max(linewidth,10);for(var i=0,l=points.length-1;ir0*r0;} function isinsiderect(x0,y0,width,height,x,y){return x>=x0&&x<=x0+width&&y>=y0&&y<=y0+height;} function isinsidecircle(x0,y0,r,x,y){return(x-x0)*(x-x0)+(y-y0)*(y-y0)y0&&y>y1||yx?dir:0;} var roots=[-1,-1,-1];var extrema=[-1,-1];function swapextrema(){var tmp=extrema[0];extrema[0]=extrema[1];extrema[1]=tmp;} function windingcubic(x0,y0,x1,y1,x2,y2,x3,y3,x,y){if(y>y0&&y>y1&&y>y2&&y>y3||y1){swapextrema();} y0_=curve.cubicat(y0,y1,y2,y3,extrema[0]);if(nextrema>1){y1_=curve.cubicat(y0,y1,y2,y3,extrema[1]);}} if(nextrema==2){if(ty0&&y>y1&&y>y2||y=0&&t<=1){var w=0;var y_=curve.quadraticat(y0,y1,y2,t);for(var i=0;ir||y<-r){return 0;} var tmp=math.sqrt(r*r-y*y);roots[0]=-tmp;roots[1]=tmp;if(math.abs(startangle-endangle)>=pi2){startangle=0;endangle=pi2;var dir=anticlockwise?1:-1;if(x>=roots[0]+cx&&x<=roots[1]+cx){return dir;}else{return 0;}} if(anticlockwise){var tmp=startangle;startangle=normalizeradian(endangle);endangle=normalizeradian(tmp);}else{startangle=normalizeradian(startangle);endangle=normalizeradian(endangle);} if(startangle>endangle){endangle+=pi2;} var w=0;for(var i=0;i<2;i++){var x_=roots[i];if(x_+cx>x){var angle=math.atan2(y,x_);var dir=anticlockwise?1:-1;if(angle<0){angle=pi2+angle;} if(angle>=startangle&&angle<=endangle||angle+pi2>=startangle&&angle+pi2<=endangle){if(angle>math.pi/2&&angle0){if(hasfill){w+=windingline(xi,yi,x0,y0,x,y);} if(w!==0){return true;}} x0=p[p.length-2];y0=p[p.length-1];beginsubpath=false;if(firstcmd&&seg.command!=='a'){firstcmd=false;xi=x0;yi=y0;}} switch(seg.command){case 'm':xi=p[0];yi=p[1];break;case 'l':if(hasstroke){if(isinsideline(xi,yi,p[0],p[1],linewidth,x,y)){return true;}} if(hasfill){w+=windingline(xi,yi,p[0],p[1],x,y);} xi=p[0];yi=p[1];break;case 'c':if(hasstroke){if(isinsidecubicstroke(xi,yi,p[0],p[1],p[2],p[3],p[4],p[5],linewidth,x,y)){return true;}} if(hasfill){w+=windingcubic(xi,yi,p[0],p[1],p[2],p[3],p[4],p[5],x,y);} xi=p[4];yi=p[5];break;case 'q':if(hasstroke){if(isinsidequadraticstroke(xi,yi,p[0],p[1],p[2],p[3],linewidth,x,y)){return true;}} if(hasfill){w+=windingquadratic(xi,yi,p[0],p[1],p[2],p[3],x,y);} xi=p[2];yi=p[3];break;case 'a':var cx=p[0];var cy=p[1];var rx=p[2];var ry=p[3];var theta=p[4];var dtheta=p[5];var x1=math.cos(theta)*rx+cx;var y1=math.sin(theta)*ry+cy;if(!firstcmd){w+=windingline(xi,yi,x1,y1);}else{firstcmd=false;x0=x1;y0=y1;} var _x=(x-cx)*ry/rx+cx;if(hasstroke){if(isinsidearcstroke(cx,cy,ry,theta,theta+dtheta,1-p[7],linewidth,_x,y)){return true;}} if(hasfill){w+=windingarc(cx,cy,ry,theta,theta+dtheta,1-p[7],_x,y);} xi=math.cos(theta+dtheta)*rx+cx;yi=math.sin(theta+dtheta)*ry+cy;break;case 'z':if(hasstroke){if(isinsideline(xi,yi,x0,y0,linewidth,x,y)){return true;}} beginsubpath=true;break;}} if(hasfill){w+=windingline(xi,yi,x0,y0,x,y);} return w!==0;} function gettextwidth(text,textfont){var key=text+':'+textfont;if(_textwidthcache[key]){return _textwidthcache[key];} _ctx=_ctx||util.getcontext();_ctx.save();if(textfont){_ctx.font=textfont;} text=(text+'').split('\n');var width=0;for(var i=0,l=text.length;itext_cache_max){_textwidthcachecounter=0;_textwidthcache={};} return width;} function gettextheight(text,textfont){var key=text+':'+textfont;if(_textheightcache[key]){return _textheightcache[key];} _ctx=_ctx||util.getcontext();_ctx.save();if(textfont){_ctx.font=textfont;} text=(text+'').split('\n');var height=(_ctx.measuretext('国').width+2)*text.length;_ctx.restore();_textheightcache[key]=height;if(++_textheightcachecounter>text_cache_max){_textheightcachecounter=0;_textheightcache={};} return height;} return{isinside:isinside,isoutside:isoutside,gettextwidth:gettextwidth,gettextheight:gettextheight,isinsidepath:isinsidepath,isinsidepolygon:isinsidepolygon,isinsidesector:isinsidesector,isinsidecircle:isinsidecircle,isinsideline:isinsideline,isinsiderect:isinsiderect,isinsidepolyline:isinsidepolyline,isinsidecubicstroke:isinsidecubicstroke,isinsidequadraticstroke:isinsidequadraticstroke};});define('zrender/shape/base',['require','../tool/matrix','../tool/guid','../tool/util','../tool/log','../mixin/transformable','../mixin/eventful','../tool/area','../tool/color'],function(require){var vmlcanvasmanager=window['g_vmlcanvasmanager'];var matrix=require('../tool/matrix');var guid=require('../tool/guid');var util=require('../tool/util');var log=require('../tool/log');var transformable=require('../mixin/transformable');var eventful=require('../mixin/eventful');function _filltext(ctx,text,x,y,textfont,textalign,textbaseline){if(textfont){ctx.font=textfont;} ctx.textalign=textalign;ctx.textbaseline=textbaseline;var rect=_gettextrect(text,x,y,textfont,textalign,textbaseline);text=(text+'').split('\n');var lineheight=require('../tool/area').gettextheight('国',textfont);switch(textbaseline){case 'top':y=rect.y;break;case 'bottom':y=rect.y+lineheight;break;default:y=rect.y+lineheight/2;} for(var i=0,l=text.length;i0&&ctx.stroke();break;default:ctx.fill();} this.drawtext(ctx,style,this.style);this.afterbrush(ctx);};base.prototype.beforebrush=function(ctx,ishighlight){var style=this.style;if(this.brushtypeonly){style.brushtype=this.brushtypeonly;} if(ishighlight){style=this.gethighlightstyle(style,this.highlightstyle||{},this.brushtypeonly);} if(this.brushtypeonly=='stroke'){style.strokecolor=style.strokecolor||style.color;} ctx.save();this.doclip(ctx);this.setcontext(ctx,style);this.settransform(ctx);return style;};base.prototype.afterbrush=function(ctx){ctx.restore();};var style_ctx_map=[['color','fillstyle'],['strokecolor','strokestyle'],['opacity','globalalpha'],['linecap','linecap'],['linejoin','linejoin'],['miterlimit','miterlimit'],['linewidth','linewidth'],['shadowblur','shadowblur'],['shadowcolor','shadowcolor'],['shadowoffsetx','shadowoffsetx'],['shadowoffsety','shadowoffsety']];base.prototype.setcontext=function(ctx,style){for(var i=0,len=style_ctx_map.length;i=rect.x&&x<=rect.x+rect.width&&y>=rect.y&&y<=rect.y+rect.height;};base.prototype.drawtext=function(ctx,style,normalstyle){if(typeof style.text=='undefined'||style.text===false){return;} var textcolor=style.textcolor||style.color||style.strokecolor;ctx.fillstyle=textcolor;var dd=10;var al;var bl;var tx;var ty;var textposition=style.textposition||this.textposition||'top';switch(textposition){case 'inside':case 'top':case 'bottom':case 'left':case 'right':if(this.getrect){var rect=(normalstyle||style).__rect||this.getrect(normalstyle||style);switch(textposition){case 'inside':tx=rect.x+rect.width/2;ty=rect.y+rect.height/2;al='center';bl='middle';if(style.brushtype!='stroke'&&textcolor==style.color){ctx.fillstyle='#fff';} break;case 'left':tx=rect.x-dd;ty=rect.y+rect.height/2;al='end';bl='middle';break;case 'right':tx=rect.x+rect.width+dd;ty=rect.y+rect.height/2;al='start';bl='middle';break;case 'top':tx=rect.x+rect.width/2;ty=rect.y-dd;al='center';bl='bottom';break;case 'bottom':tx=rect.x+rect.width/2;ty=rect.y+rect.height+dd;al='center';bl='top';break;}} break;case 'start':case 'end':var pointlist=style.pointlist||[[style.xstart||0,style.ystart||0],[style.xend||0,style.yend||0]];var length=pointlist.length;if(length<2){return;} var xstart;var xend;var ystart;var yend;switch(textposition){case 'start':xstart=pointlist[1][0];xend=pointlist[0][0];ystart=pointlist[1][1];yend=pointlist[0][1];break;case 'end':xstart=pointlist[length-2][0];xend=pointlist[length-1][0];ystart=pointlist[length-2][1];yend=pointlist[length-1][1];break;} tx=xend;ty=yend;var angle=math.atan((ystart-yend)/(xend-xstart))/math.pi*180;if(xend-xstart<0){angle+=180;}else if(ystart-yend<0){angle+=360;} dd=5;if(angle>=30&&angle<=150){al='center';bl='bottom';ty-=dd;}else if(angle>150&&angle<210){al='right';bl='middle';tx-=dd;}else if(angle>=210&&angle<=330){al='center';bl='top';ty+=dd;}else{al='left';bl='middle';tx+=dd;} break;case 'specific':tx=style.textx||0;ty=style.texty||0;al='start';bl='middle';break;} if(tx!=null&&ty!=null){_filltext(ctx,style.text,tx,ty,style.textfont,style.textalign||al,style.textbaseline||bl);}};base.prototype.modself=function(){this.__dirty=true;if(this.style){this.style.__rect=null;} if(this.highlightstyle){this.highlightstyle.__rect=null;}};base.prototype.issilent=function(){return!(this.hoverable||this.draggable||this.clickable||this.onmousemove||this.onmouseover||this.onmouseout||this.onmousedown||this.onmouseup||this.onclick||this.ondragenter||this.ondragover||this.ondragleave||this.ondrop);};util.merge(base.prototype,transformable.prototype,true);util.merge(base.prototype,eventful.prototype,true);return base;});define('zrender/tool/curve',['require','./vector'],function(require){var vector=require('./vector');'use strict';var epsilon=0.0001;var three_sqrt=math.sqrt(3);var one_third=1/3;var _v0=vector.create();var _v1=vector.create();var _v2=vector.create();function isaroundzero(val){return val>-epsilon&&valepsilon||val<-epsilon;} function cubicat(p0,p1,p2,p3,t){var onet=1-t;return onet*onet*(onet*p0+3*t*p1)+t*t*(t*p3+3*onet*p2);} function cubicderivativeat(p0,p1,p2,p3,t){var onet=1-t;return 3*(((p1-p0)*onet+2*(p2-p1)*t)*onet+(p3-p2)*t*t);} function cubicrootat(p0,p1,p2,p3,val,roots){var a=p3+3*(p1-p2)-p0;var b=3*(p2-p1*2+p0);var c=3*(p1-p0);var d=p0-val;var a=b*b-3*a*c;var b=b*c-9*a*d;var c=c*c-3*b*d;var n=0;if(isaroundzero(a)&&isaroundzero(b)){if(isaroundzero(b)){roots[0]=0;}else{var t1=-c/b;if(t1>=0&&t1<=1){roots[n++]=t1;}}}else{var disc=b*b-4*a*c;if(isaroundzero(disc)){var k=b/a;var t1=-b/a+k;var t2=-k/2;if(t1>=0&&t1<=1){roots[n++]=t1;} if(t2>=0&&t2<=1){roots[n++]=t2;}}else if(disc>0){var discsqrt=math.sqrt(disc);var y1=a*b+1.5*a*(-b+discsqrt);var y2=a*b+1.5*a*(-b-discsqrt);if(y1<0){y1=-math.pow(-y1,one_third);}else{y1=math.pow(y1,one_third);} if(y2<0){y2=-math.pow(-y2,one_third);}else{y2=math.pow(y2,one_third);} var t1=(-b-(y1+y2))/(3*a);if(t1>=0&&t1<=1){roots[n++]=t1;}}else{var t=(2*a*b-3*a*b)/(2*math.sqrt(a*a*a));var theta=math.acos(t)/3;var asqrt=math.sqrt(a);var tmp=math.cos(theta);var t1=(-b-2*asqrt*tmp)/(3*a);var t2=(-b+asqrt*(tmp+three_sqrt*math.sin(theta)))/(3*a);var t3=(-b+asqrt*(tmp-three_sqrt*math.sin(theta)))/(3*a);if(t1>=0&&t1<=1){roots[n++]=t1;} if(t2>=0&&t2<=1){roots[n++]=t2;} if(t3>=0&&t3<=1){roots[n++]=t3;}}} return n;} function cubicextrema(p0,p1,p2,p3,extrema){var b=6*p2-12*p1+6*p0;var a=9*p1+3*p3-3*p0-9*p2;var c=3*p1-3*p0;var n=0;if(isaroundzero(a)){if(isnotaroundzero(b)){var t1=-c/b;if(t1>=0&&t1<=1){extrema[n++]=t1;}}}else{var disc=b*b-4*a*c;if(isaroundzero(disc)){extrema[0]=-b/(2*a);}else if(disc>0){var discsqrt=math.sqrt(disc);var t1=(-b+discsqrt)/(2*a);var t2=(-b-discsqrt)/(2*a);if(t1>=0&&t1<=1){extrema[n++]=t1;} if(t2>=0&&t2<=1){extrema[n++]=t2;}}} return n;} function cubicsubdivide(p0,p1,p2,p3,t,out){var p01=(p1-p0)*t+p0;var p12=(p2-p1)*t+p1;var p23=(p3-p2)*t+p2;var p012=(p12-p01)*t+p01;var p123=(p23-p12)*t+p12;var p0123=(p123-p012)*t+p012;out[0]=p0;out[1]=p01;out[2]=p012;out[3]=p0123;out[4]=p0123;out[5]=p123;out[6]=p23;out[7]=p3;} function cubicprojectpoint(x0,y0,x1,y1,x2,y2,x3,y3,x,y,out){var t;var interval=0.005;var d=infinity;_v0[0]=x;_v0[1]=y;for(var _t=0;_t<1;_t+=0.05){_v1[0]=cubicat(x0,x1,x2,x3,_t);_v1[1]=cubicat(y0,y1,y2,y3,_t);var d1=vector.distsquare(_v0,_v1);if(d1=0&&d1=0&&t1<=1){roots[n++]=t1;}}}else{var disc=b*b-4*a*c;if(isaroundzero(disc)){var t1=-b/(2*a);if(t1>=0&&t1<=1){roots[n++]=t1;}}else if(disc>0){var discsqrt=math.sqrt(disc);var t1=(-b+discsqrt)/(2*a);var t2=(-b-discsqrt)/(2*a);if(t1>=0&&t1<=1){roots[n++]=t1;} if(t2>=0&&t2<=1){roots[n++]=t2;}}} return n;} function quadraticextremum(p0,p1,p2){var divider=p0+p2-2*p1;if(divider===0){return 0.5;}else{return(p0-p1)/divider;}} function quadraticsubdivide(p0,p1,p2,t,out){var p01=(p1-p0)*t+p0;var p12=(p2-p1)*t+p1;var p012=(p12-p01)*t+p01;out[0]=p0;out[1]=p01;out[2]=p012;out[3]=p012;out[4]=p12;out[5]=p2;} function quadraticprojectpoint(x0,y0,x1,y1,x2,y2,x,y,out){var t;var interval=0.005;var d=infinity;_v0[0]=x;_v0[1]=y;for(var _t=0;_t<1;_t+=0.05){_v1[0]=quadraticat(x0,x1,x2,_t);_v1[1]=quadraticat(y0,y1,y2,_t);var d1=vector.distsquare(_v0,_v1);if(d1=0&&d1-epsilon&&valepsilon||val<-epsilon;} var transformable=function(){if(!this.position){this.position=[0,0];} if(typeof this.rotation=='undefined'){this.rotation=[0,0,0];} if(!this.scale){this.scale=[1,1,0,0];} this.needlocaltransform=false;this.needtransform=false;};transformable.prototype={constructor:transformable,updateneedtransform:function(){this.needlocaltransform=isnotaroundzero(this.rotation[0])||isnotaroundzero(this.position[0])||isnotaroundzero(this.position[1])||isnotaroundzero(this.scale[0]-1)||isnotaroundzero(this.scale[1]-1);},updatetransform:function(){this.updateneedtransform();var parenthastransform=this.parent&&this.parent.needtransform;this.needtransform=this.needlocaltransform||parenthastransform;if(!this.needtransform){return;} var m=this.transform||matrix.create();matrix.identity(m);if(this.needlocaltransform){var scale=this.scale;if(isnotaroundzero(scale[0])||isnotaroundzero(scale[1])){origin[0]=-scale[2]||0;origin[1]=-scale[3]||0;var haveorigin=isnotaroundzero(origin[0])||isnotaroundzero(origin[1]);if(haveorigin){mtranslate(m,m,origin);} matrix.scale(m,m,scale);if(haveorigin){origin[0]=-origin[0];origin[1]=-origin[1];mtranslate(m,m,origin);}} if(this.rotation instanceof array){if(this.rotation[0]!==0){origin[0]=-this.rotation[1]||0;origin[1]=-this.rotation[2]||0;var haveorigin=isnotaroundzero(origin[0])||isnotaroundzero(origin[1]);if(haveorigin){mtranslate(m,m,origin);} matrix.rotate(m,m,this.rotation[0]);if(haveorigin){origin[0]=-origin[0];origin[1]=-origin[1];mtranslate(m,m,origin);}}}else{if(this.rotation!==0){matrix.rotate(m,m,this.rotation);}} if(isnotaroundzero(this.position[0])||isnotaroundzero(this.position[1])){mtranslate(m,m,this.position);}} if(parenthastransform){if(this.needlocaltransform){matrix.mul(m,this.parent.transform,m);}else{matrix.copy(m,this.parent.transform);}} this.transform=m;this.invtransform=this.invtransform||matrix.create();matrix.invert(this.invtransform,m);},settransform:function(ctx){if(this.needtransform){var m=this.transform;ctx.transform(m[0],m[1],m[2],m[3],m[4],m[5]);}},lookat:function(){var v=vector.create();return function(target){if(!this.transform){this.transform=matrix.create();} var m=this.transform;vector.sub(v,target,this.position);if(isaroundzero(v[0])&&isaroundzero(v[1])){return;} vector.normalize(v,v);var scale=this.scale;m[2]=v[0]*scale[1];m[3]=v[1]*scale[1];m[0]=v[1]*scale[0];m[1]=-v[0]*scale[0];m[4]=this.position[0];m[5]=this.position[1];this.decomposetransform();};}(),decomposetransform:function(){if(!this.transform){return;} var m=this.transform;var sx=m[0]*m[0]+m[1]*m[1];var position=this.position;var scale=this.scale;var rotation=this.rotation;if(isnotaroundzero(sx-1)){sx=math.sqrt(sx);} var sy=m[2]*m[2]+m[3]*m[3];if(isnotaroundzero(sy-1)){sy=math.sqrt(sy);} position[0]=m[4];position[1]=m[5];scale[0]=sx;scale[1]=sy;scale[2]=scale[3]=0;rotation[0]=math.atan2(-m[1]/sy,m[0]/sx);rotation[1]=rotation[2]=0;},transformcoordtolocal:function(x,y){var v2=[x,y];if(this.needtransform&&this.invtransform){vector.applytransform(v2,v2,this.invtransform);} return v2;}};return transformable;});define('zrender/group',['require','./tool/guid','./tool/util','./mixin/transformable','./mixin/eventful'],function(require){var guid=require('./tool/guid');var util=require('./tool/util');var transformable=require('./mixin/transformable');var eventful=require('./mixin/eventful');var group=function(options){options=options||{};this.id=options.id||guid();for(var key in options){this[key]=options[key];} this.type='group';this.clipshape=null;this._children=[];this._storage=null;this.__dirty=true;transformable.call(this);eventful.call(this);};group.prototype.ignore=false;group.prototype.children=function(){return this._children.slice();};group.prototype.childat=function(idx){return this._children[idx];};group.prototype.addchild=function(child){if(child==this){return;} if(child.parent==this){return;} if(child.parent){child.parent.removechild(child);} this._children.push(child);child.parent=this;if(this._storage&&this._storage!==child._storage){this._storage.addtomap(child);if(child instanceof group){child.addchildrentostorage(this._storage);}}};group.prototype.removechild=function(child){var idx=util.indexof(this._children,child);if(idx>=0){this._children.splice(idx,1);} child.parent=null;if(this._storage){this._storage.delfrommap(child.id);if(child instanceof group){child.delchildrenfromstorage(this._storage);}}};group.prototype.clearchildren=function(){for(var i=0;i0){this._buildsingleposition(position,_position2sindexmap[position]);}} this.addshapelist();},_buildsingleposition:function(position,seriesarray){var mapdata=this._mapdata(seriesarray);var locationmap=mapdata.locationmap;var maxdatalength=mapdata.maxdatalength;if(maxdatalength===0||locationmap.length===0){return;} switch(position){case 'bottom':case 'top':this._buildhorizontal(seriesarray,maxdatalength,locationmap,this.xmarkmap);break;case 'left':case 'right':this._buildvertical(seriesarray,maxdatalength,locationmap,this.xmarkmap);break;case 'other':this._buildother(seriesarray,maxdatalength,locationmap,this.xmarkmap);break;} for(var i=0,l=seriesarray.length;i0){var highlightstyle=iconshape.highlightstyle;style.brushtype='both';style.x+=1;style.y+=1;style.width-=2;style.height-=2;style.strokecolor=highlightstyle.strokecolor=serie.itemstyle.normal.barbordercolor;highlightstyle.linewidth=3;} legend.setitemshape(seriename,iconshape);}}else{this.selectedmap[seriename]=true;this._sindex2colormap[seriesarray[i]]=this.zr.getcolor(seriesarray[i]);} if(this.selectedmap[seriename]){stackkey=serie.stack||magicstackkey+seriesarray[i];if(stackmap[stackkey]==null){stackmap[stackkey]=dataindex;locationmap[dataindex]=[seriesarray[i]];dataindex++;}else{locationmap[stackmap[stackkey]].push(seriesarray[i]);}} maxdatalength=math.max(maxdatalength,serie.data.length);} return{locationmap:locationmap,maxdatalength:maxdatalength};},_calculmarkmapxy:function(xmarkmap,locationmap,xy){var series=this.series;for(var j=0,k=locationmap.length;j0){tarmark['average'+valueindex]=tarmark['sum'+valueindex]/tarmark['counter'+valueindex];} var x=this.component.xaxis.getaxis(series[seriesindex].xaxisindex||0).getcoord(tarmark['average'+valueindex]);tarmark['averageline'+valueindex]=[[x,grid.getyend()],[x,grid.gety()]];tarmark['minline'+valueindex]=[[tarmark['minx'+valueindex],grid.getyend()],[tarmark['minx'+valueindex],grid.gety()]];tarmark['maxline'+valueindex]=[[tarmark['maxx'+valueindex],grid.getyend()],[tarmark['maxx'+valueindex],grid.gety()]];tarmark.ishorizontal=false;} valueindex=xy=='xy'?1:'';if(xy.indexof('y')!='-1'){if(tarmark['counter'+valueindex]>0){tarmark['average'+valueindex]=tarmark['sum'+valueindex]/tarmark['counter'+valueindex];} var y=this.component.yaxis.getaxis(series[seriesindex].yaxisindex||0).getcoord(tarmark['average'+valueindex]);tarmark['averageline'+valueindex]=[[grid.getx(),y],[grid.getxend(),y]];tarmark['minline'+valueindex]=[[grid.getx(),tarmark['miny'+valueindex]],[grid.getxend(),tarmark['miny'+valueindex]]];tarmark['maxline'+valueindex]=[[grid.getx(),tarmark['maxy'+valueindex]],[grid.getxend(),tarmark['maxy'+valueindex]]];tarmark.ishorizontal=true;}}}},addlabel:function(tarshape,serie,data,name,orient){var querytarget=[data,serie];var nlabel=this.deepmerge(querytarget,'itemstyle.normal.label');var elabel=this.deepmerge(querytarget,'itemstyle.emphasis.label');var ntextstyle=nlabel.textstyle||{};var etextstyle=elabel.textstyle||{};if(nlabel.show){var style=tarshape.style;style.text=this._getlabeltext(serie,data,name,'normal');style.textposition=nlabel.position==null?orient==='horizontal'?'right':'top':nlabel.position;style.textcolor=ntextstyle.color;style.textfont=this.getfont(ntextstyle);style.textalign=ntextstyle.align;style.textbaseline=ntextstyle.baseline;} if(elabel.show){var highlightstyle=tarshape.highlightstyle;highlightstyle.text=this._getlabeltext(serie,data,name,'emphasis');highlightstyle.textposition=nlabel.show?tarshape.style.textposition:elabel.position==null?orient==='horizontal'?'right':'top':elabel.position;highlightstyle.textcolor=etextstyle.color;highlightstyle.textfont=this.getfont(etextstyle);highlightstyle.textalign=etextstyle.align;highlightstyle.textbaseline=etextstyle.baseline;} return tarshape;},_getlabeltext:function(serie,data,name,status){var formatter=this.deepquery([data,serie],'itemstyle.'+status+'.label.formatter');if(!formatter&&status==='emphasis'){formatter=this.deepquery([data,serie],'itemstyle.normal.label.formatter');} var value=this.getdatafromoption(data,'-');if(formatter){if(typeof formatter==='function'){return formatter.call(this.mychart,{seriesname:serie.name,series:serie,name:name,value:value,data:data,status:status});}else if(typeof formatter==='string'){formatter=formatter.replace('{a}','{a0}').replace('{b}','{b0}').replace('{c}','{c0}').replace('{a0}',serie.name).replace('{b0}',name).replace('{c0}',this.numaddcommas(value));return formatter;}}else{if(value instanceof array){return value[2]!=null?this.numaddcommas(value[2]):value[0]+' , '+value[1];}else{return this.numaddcommas(value);}}},buildmark:function(seriesindex){var serie=this.series[seriesindex];if(this.selectedmap[serie.name]){serie.markline&&this._buildmarkline(seriesindex);serie.markpoint&&this._buildmarkpoint(seriesindex);}},_buildmarkpoint:function(seriesindex){var attachstyle=(this.markattachstyle||{})[seriesindex];var serie=this.series[seriesindex];var mpdata;var pos;var markpoint=zrutil.clone(serie.markpoint);for(var i=0,l=markpoint.data.length;i1?mloption[key]:[mloption[key][0],mloption[key][0]]:[mloption[key],mloption[key]];} return function(seriesindex,mloption){var serie=this.series[seriesindex];var component=this.component;var datarange=component.datarange;var legend=component.legend;zrutil.merge(zrutil.merge(mloption,zrutil.clone(this.ectheme.markline||{})),zrutil.clone(ecconfig.markline));var defaultcolor=legend?legend.getcolor(serie.name):this.zr.getcolor(seriesindex);normalizeoptionvalue(mloption,'symbol');normalizeoptionvalue(mloption,'symbolsize');normalizeoptionvalue(mloption,'symbolrotate');var data=mloption.data;var edges=[];var zrwidth=this.zr.getwidth();var zrheight=this.zr.getheight();for(var i=0;i '+mldata[1].name:''),value);shapelist.push(itemshape);} return shapelist;};}(),getmarkcoord:function(){return[0,0];},getsymbolshape:function(serie,seriesindex,data,dataindex,name,x,y,symbol,color,emptycolor,orient){var querytarget=[data,serie];var value=this.getdatafromoption(data,'-');symbol=this.deepquery(querytarget,'symbol')||symbol;var symbolsize=this.deepquery(querytarget,'symbolsize');symbolsize=typeof symbolsize==='function'?symbolsize(value):symbolsize;if(typeof symbolsize==='number'){symbolsize=[symbolsize,symbolsize];} var symbolrotate=this.deepquery(querytarget,'symbolrotate');var normal=this.deepmerge(querytarget,'itemstyle.normal');var emphasis=this.deepmerge(querytarget,'itemstyle.emphasis');var nborderwidth=normal.borderwidth!=null?normal.borderwidth:normal.linestyle&&normal.linestyle.width;if(nborderwidth==null){nborderwidth=symbol.match('empty')?2:0;} var eborderwidth=emphasis.borderwidth!=null?emphasis.borderwidth:emphasis.linestyle&&emphasis.linestyle.width;if(eborderwidth==null){eborderwidth=nborderwidth+2;} var ncolor=this.getitemstylecolor(normal.color,seriesindex,dataindex,data);var ecolor=this.getitemstylecolor(emphasis.color,seriesindex,dataindex,data);var width=symbolsize[0];var height=symbolsize[1];var itemshape=new iconshape({style:{icontype:symbol.replace('empty','').tolowercase(),x:x-width,y:y-height,width:width*2,height:height*2,brushtype:'both',color:symbol.match('empty')?emptycolor:ncolor||color,strokecolor:normal.bordercolor||ncolor||color,linewidth:nborderwidth},highlightstyle:{color:symbol.match('empty')?emptycolor:ecolor||ncolor||color,strokecolor:emphasis.bordercolor||normal.bordercolor||ecolor||ncolor||color,linewidth:eborderwidth},clickable:this.deepquery(querytarget,'clickable')});if(symbol.match('image')){itemshape.style.image=symbol.replace(new regexp('^image:\\/\\/'),'');itemshape=new imageshape({style:itemshape.style,highlightstyle:itemshape.highlightstyle,clickable:this.deepquery(querytarget,'clickable')});} if(symbolrotate!=null){itemshape.rotation=[symbolrotate*math.pi/180,x,y];} if(symbol.match('star')){itemshape.style.icontype='star';itemshape.style.n=symbol.replace('empty','').replace('star','')-0||5;} if(symbol==='none'){itemshape.invisible=true;itemshape.hoverable=false;} itemshape=this.addlabel(itemshape,serie,data,name,orient);if(symbol.match('empty')){if(itemshape.style.textcolor==null){itemshape.style.textcolor=itemshape.style.strokecolor;} if(itemshape.highlightstyle.textcolor==null){itemshape.highlightstyle.textcolor=itemshape.highlightstyle.strokecolor;}} ecdata.pack(itemshape,serie,seriesindex,data,dataindex,name);itemshape._x=x;itemshape._y=y;itemshape._dataindex=dataindex;itemshape._seriesindex=seriesindex;return itemshape;},getmarklineshape:function(mloption,seriesindex,data,dataindex,points,bundling,color){var value0=data[0].value!=null?data[0].value:'-';var value1=data[1].value!=null?data[1].value:'-';var symbol=[data[0].symbol||mloption.symbol[0],data[1].symbol||mloption.symbol[1]];var symbolsize=[data[0].symbolsize||mloption.symbolsize[0],data[1].symbolsize||mloption.symbolsize[1]];symbolsize[0]=typeof symbolsize[0]==='function'?symbolsize[0](value0):symbolsize[0];symbolsize[1]=typeof symbolsize[1]==='function'?symbolsize[1](value1):symbolsize[1];var symbolrotate=[this.query(data[0],'symbolrotate')||mloption.symbolrotate[0],this.query(data[1],'symbolrotate')||mloption.symbolrotate[1]];var querytarget=[data[0],data[1],mloption];var normal=this.deepmerge(querytarget,'itemstyle.normal');normal.color=this.getitemstylecolor(normal.color,seriesindex,dataindex,data);var emphasis=this.deepmerge(querytarget,'itemstyle.emphasis');emphasis.color=this.getitemstylecolor(emphasis.color,seriesindex,dataindex,data);var nlinestyle=normal.linestyle;var elinestyle=emphasis.linestyle;var nborderwidth=nlinestyle.width;if(nborderwidth==null){nborderwidth=normal.borderwidth;} var eborderwidth=elinestyle.width;if(eborderwidth==null){eborderwidth=emphasis.borderwidth!=null?emphasis.borderwidth:nborderwidth+2;} var smoothness=this.deepquery(querytarget,'smoothness');if(!this.deepquery(querytarget,'smooth')){smoothness=0;} var shapector=bundling?polylineshape:marklineshape;var itemshape=new shapector({style:{symbol:symbol,symbolsize:symbolsize,symbolrotate:symbolrotate,brushtype:'both',linetype:nlinestyle.type,shadowcolor:nlinestyle.shadowcolor||nlinestyle.color||normal.bordercolor||normal.color||color,shadowblur:nlinestyle.shadowblur,shadowoffsetx:nlinestyle.shadowoffsetx,shadowoffsety:nlinestyle.shadowoffsety,color:normal.color||color,strokecolor:nlinestyle.color||normal.bordercolor||normal.color||color,linewidth:nborderwidth,symbolbordercolor:normal.bordercolor||normal.color||color,symbolborder:normal.borderwidth},highlightstyle:{shadowcolor:elinestyle.shadowcolor,shadowblur:elinestyle.shadowblur,shadowoffsetx:elinestyle.shadowoffsetx,shadowoffsety:elinestyle.shadowoffsety,color:emphasis.color||normal.color||color,strokecolor:elinestyle.color||nlinestyle.color||emphasis.bordercolor||normal.bordercolor||emphasis.color||normal.color||color,linewidth:eborderwidth,symbolbordercolor:emphasis.bordercolor||normal.bordercolor||emphasis.color||normal.color||color,symbolborder:emphasis.borderwidth==null?normal.borderwidth+2:emphasis.borderwidth},clickable:this.deepquery(querytarget,'clickable')});var shapestyle=itemshape.style;if(bundling){shapestyle.pointlist=points;shapestyle.smooth=smoothness;}else{shapestyle.xstart=points[0][0];shapestyle.ystart=points[0][1];shapestyle.xend=points[1][0];shapestyle.yend=points[1][1];shapestyle.curveness=smoothness;itemshape.updatepoints(itemshape.style);} itemshape=this.addlabel(itemshape,mloption,data[0],data[0].name+' : '+data[1].name);return itemshape;},getlargemarkpointshape:function(seriesindex,mpoption){var serie=this.series[seriesindex];var component=this.component;var data=mpoption.data;var itemshape;var datarange=component.datarange;var legend=component.legend;var color;var value;var querytarget=[data[0],mpoption];var ncolor;var ecolor;var effect;if(legend){color=legend.getcolor(serie.name);} if(datarange){value=data[0].value!=null?data[0].value:'';color=isnan(value)?color:datarange.getcolor(value);ncolor=this.deepquery(querytarget,'itemstyle.normal.color')||color;ecolor=this.deepquery(querytarget,'itemstyle.emphasis.color')||ncolor;if(ncolor==null&&ecolor==null){return;}} color=this.deepmerge(querytarget,'itemstyle.normal').color||color;var symbol=this.deepquery(querytarget,'symbol')||'circle';symbol=symbol.replace('empty','').replace(/\d/g,'');effect=this.deepmerge([data[0],mpoption],'effect');var devicepixelratio=window.devicepixelratio||1;itemshape=new symbolshape({style:{pointlist:data,color:color,strokecolor:color,shadowcolor:effect.shadowcolor||color,shadowblur:(effect.shadowblur!=null?effect.shadowblur:8)*devicepixelratio,size:this.deepquery(querytarget,'symbolsize'),icontype:symbol,brushtype:'fill',linewidth:1},draggable:false,hoverable:false});if(effect.show){itemshape.effect=effect;} return itemshape;},backupshapelist:function(){if(this.shapelist&&this.shapelist.length>0){this.lastshapelist=this.shapelist;this.shapelist=[];}else{this.lastshapelist=[];}},addshapelist:function(){var maxlenth=this.option.animationthreshold/(this.canvassupported?2:4);var lastshapelist=this.lastshapelist;var shapelist=this.shapelist;var isupdate=lastshapelist.length>0;var duration=isupdate?this.query(this.option,'animationdurationupdate'):this.query(this.option,'animationduration');var easing=this.query(this.option,'animationeasing');var delay;var key;var oldmap={};var newmap={};if(this.option.animation&&!this.option.renderasimage&&shapelist.length0){clearmotionblur&&this.zr.modlayer(ecconfig.effect_zlevel,{motionblur:false});this.zr.delshape(effectlist);for(var i=0;i0&&ctx.stroke();break;default:ctx.fill();} this.drawtext(ctx,style,this.style);this.afterbrush(ctx);}},buildpath:function(ctx,style,refreshnextframe){if(this.iconlibrary[style.icontype]){this.iconlibrary[style.icontype].call(this,ctx,style,refreshnextframe);}else{ctx.moveto(style.x,style.y);ctx.lineto(style.x+style.width,style.y);ctx.lineto(style.x+style.width,style.y+style.height);ctx.lineto(style.x,style.y+style.height);ctx.lineto(style.x,style.y);ctx.closepath();} return;},getrect:function(style){if(style.__rect){return style.__rect;} style.__rect={x:math.round(style.x),y:math.round(style.y-(style.icontype=='pin'?style.height/2*1.5:0)),width:style.width,height:style.height*(style.icontype==='pin'?1.25:1)};return style.__rect;},iscover:function(x,y){var originpos=this.transformcoordtolocal(x,y);x=originpos[0];y=originpos[1];var rect=this.style.__rect;if(!rect){rect=this.style.__rect=this.getrect(this.style);} var delta=rect.height<8||rect.width<8?4:0;return x>=rect.x-delta&&x<=rect.x+rect.width+delta&&y>=rect.y-delta&&y<=rect.y+rect.height+delta;}};zrutil.inherits(icon,base);return icon;});define('echarts/util/shape/markline',['require','zrender/shape/base','./icon','zrender/shape/line','zrender/shape/beziercurve','zrender/tool/area','zrender/shape/util/dashedlineto','zrender/tool/util','zrender/tool/curve'],function(require){var base=require('zrender/shape/base');var iconshape=require('./icon');var lineshape=require('zrender/shape/line');var lineinstance=new lineshape({});var curveshape=require('zrender/shape/beziercurve');var curveinstance=new curveshape({});var area=require('zrender/tool/area');var dashedlineto=require('zrender/shape/util/dashedlineto');var zrutil=require('zrender/tool/util');var curvetool=require('zrender/tool/curve');function markline(options){base.call(this,options);if(this.style.curveness>0){this.updatepoints(this.style);} if(this.highlightstyle.curveness>0){this.updatepoints(this.highlightstyle);}} markline.prototype={type:'mark-line',brush:function(ctx,ishighlight){var style=this.style;if(ishighlight){style=this.gethighlightstyle(style,this.highlightstyle||{});} ctx.save();this.setcontext(ctx,style);this.settransform(ctx);ctx.save();ctx.beginpath();this.buildpath(ctx,style);ctx.stroke();ctx.restore();this.brushsymbol(ctx,style,0);this.brushsymbol(ctx,style,1);this.drawtext(ctx,style,this.style);ctx.restore();},buildpath:function(ctx,style){var linetype=style.linetype||'solid';ctx.moveto(style.xstart,style.ystart);if(style.curveness>0){var linedash=null;switch(linetype){case 'dashed':linedash=[5,5];break;case 'dotted':linedash=[1,1];break;} if(linedash&&ctx.setlinedash){ctx.setlinedash(linedash);} ctx.quadraticcurveto(style.cpx1,style.cpy1,style.xend,style.yend);}else{if(linetype=='solid'){ctx.lineto(style.xend,style.yend);}else{var dashlength=(style.linewidth||1)*(style.linetype=='dashed'?5:1);dashedlineto(ctx,style.xstart,style.ystart,style.xend,style.yend,dashlength);}}},updatepoints:function(style){var curveness=style.curveness||0;var inv=1;var x0=style.xstart;var y0=style.ystart;var x2=style.xend;var y2=style.yend;var x1=(x0+x2)/2-inv*(y0-y2)*curveness;var y1=(y0+y2)/2-inv*(x2-x0)*curveness;style.cpx1=x1;style.cpy1=y1;},brushsymbol:function(ctx,style,idx){if(style.symbol[idx]=='none'){return;} ctx.save();ctx.beginpath();ctx.linewidth=style.symbolborder;ctx.strokestyle=style.symbolbordercolor;var symbol=style.symbol[idx].replace('empty','').tolowercase();if(style.symbol[idx].match('empty')){ctx.fillstyle='#fff';} var x0=style.xstart;var y0=style.ystart;var x2=style.xend;var y2=style.yend;var x=idx===0?x0:x2;var y=idx===0?y0:y2;var curveness=style.curveness||0;var rotate=style.symbolrotate[idx]!=null?style.symbolrotate[idx]-0:0;rotate=rotate/180*math.pi;if(symbol=='arrow'&&rotate===0){if(curveness===0){var sign=idx===0?-1:1;rotate=math.pi/2+math.atan2(sign*(y2-y0),sign*(x2-x0));}else{var x1=style.cpx1;var y1=style.cpy1;var quadraticderivativeat=curvetool.quadraticderivativeat;var dx=quadraticderivativeat(x0,x1,x2,idx);var dy=quadraticderivativeat(y0,y1,y2,idx);rotate=math.pi/2+math.atan2(dy,dx);}} ctx.translate(x,y);if(rotate!==0){ctx.rotate(rotate);} var symbolsize=style.symbolsize[idx];iconshape.prototype.buildpath(ctx,{x:-symbolsize,y:-symbolsize,width:symbolsize*2,height:symbolsize*2,icontype:symbol});ctx.closepath();ctx.fill();ctx.stroke();ctx.restore();},getrect:function(style){style.curveness>0?curveinstance.getrect(style):lineinstance.getrect(style);return style.__rect;},iscover:function(x,y){var originpos=this.transformcoordtolocal(x,y);x=originpos[0];y=originpos[1];if(this.iscoverrect(x,y)){return this.style.curveness>0?area.isinside(curveinstance,this.style,x,y):area.isinside(lineinstance,this.style,x,y);} return false;}};zrutil.inherits(markline,base);return markline;});define('echarts/util/shape/symbol',['require','zrender/shape/base','zrender/shape/polygon','zrender/tool/util','./normaliscover'],function(require){var base=require('zrender/shape/base');var polygonshape=require('zrender/shape/polygon');var polygoninstance=new polygonshape({});var zrutil=require('zrender/tool/util');function symbol(options){base.call(this,options);} symbol.prototype={type:'symbol',buildpath:function(ctx,style){var pointlist=style.pointlist;var len=pointlist.length;if(len===0){return;} var subsize=10000;var subsetlength=math.ceil(len/subsize);var sub;var sublen;var isarray=pointlist[0]instanceof array;var size=style.size?style.size:2;var cursize=size;var halfsize=size/2;var pi2=math.pi*2;var percent;var x;var y;for(var j=0;jlen?len:sublen;for(var i=sub;i0&&ctx.stroke();break;case 'stroke':style.linewidth>0&&ctx.stroke();break;default:ctx.fill();}}}},getrect:function(style){return style.__rect||polygoninstance.getrect(style);},iscover:require('./normaliscover')};zrutil.inherits(symbol,base);return symbol;});define('zrender/shape/polyline',['require','./base','./util/smoothspline','./util/smoothbezier','./util/dashedlineto','./polygon','../tool/util'],function(require){var base=require('./base');var smoothspline=require('./util/smoothspline');var smoothbezier=require('./util/smoothbezier');var dashedlineto=require('./util/dashedlineto');var polyline=function(options){this.brushtypeonly='stroke';this.textposition='end';base.call(this,options);};polyline.prototype={type:'polyline',buildpath:function(ctx,style){var pointlist=style.pointlist;if(pointlist.length<2){return;} var len=math.min(style.pointlist.length,math.round(style.pointlistlength||style.pointlist.length));if(style.smooth&&style.smooth!=='spline'){if(!style.controlpointlist){this.updatecontrolpoints(style);} var controlpointlist=style.controlpointlist;ctx.moveto(pointlist[0][0],pointlist[0][1]);var cp1;var cp2;var p;for(var i=0;i0&&ctx.stroke();break;default:ctx.fill();} this.drawtext(ctx,style,this.style);this.afterbrush(ctx);},getrect:function(style){if(style.__rect){return style.__rect;} var minx=infinity;var maxx=-infinity;var miny=infinity;var maxy=-infinity;for(var i=0;i0?360:-360,target0:0,target1:newshape.style.target1>0?360:-360}};} var source0=newshape.style.source0;var source1=newshape.style.source1;var target0=newshape.style.target0;var target1=newshape.style.target1;if(oldshape.style){clonestyle(newshape,oldshape,'source0','source1','target0','target1');} zr.addshape(newshape);newshape.__animating=true;zr.animate(newshape.id,'style').when(duration,{source0:source0,source1:source1,target0:target0,target1:target1}).done(function(){newshape.__animating=false;}).start(easing);} function gaugepointer(zr,oldshape,newshape,duration,easing){if(!oldshape){oldshape={style:{angle:newshape.style.startangle}};} var angle=newshape.style.angle;newshape.style.angle=oldshape.style.angle;zr.addshape(newshape);newshape.__animating=true;zr.animate(newshape.id,'style').when(duration,{angle:angle}).done(function(){newshape.__animating=false;}).start(easing);} function icon(zr,oldshape,newshape,duration,easing,delay){newshape.style._x=newshape.style.x;newshape.style._y=newshape.style.y;newshape.style._width=newshape.style.width;newshape.style._height=newshape.style.height;if(!oldshape){var x=newshape._x||0;var y=newshape._y||0;newshape.scale=[0.01,0.01,x,y];zr.addshape(newshape);newshape.__animating=true;zr.animate(newshape.id,'').delay(delay).when(duration,{scale:[1,1,x,y]}).done(function(){newshape.__animating=false;}).start(easing||'quinticout');}else{rectangle(zr,oldshape,newshape,duration,easing);}} function line(zr,oldshape,newshape,duration,easing){if(!oldshape){oldshape={style:{xstart:newshape.style.xstart,ystart:newshape.style.ystart,xend:newshape.style.xstart,yend:newshape.style.ystart}};} var xstart=newshape.style.xstart;var xend=newshape.style.xend;var ystart=newshape.style.ystart;var yend=newshape.style.yend;clonestyle(newshape,oldshape,'xstart','xend','ystart','yend');zr.addshape(newshape);newshape.__animating=true;zr.animate(newshape.id,'style').when(duration,{xstart:xstart,xend:xend,ystart:ystart,yend:yend}).done(function(){newshape.__animating=false;}).start(easing);} function markline(zr,oldshape,newshape,duration,easing){easing=easing||'quinticout';newshape.__animating=true;zr.addshape(newshape);var newshapestyle=newshape.style;var animationdone=function(){newshape.__animating=false;};var x0=newshapestyle.xstart;var y0=newshapestyle.ystart;var x2=newshapestyle.xend;var y2=newshapestyle.yend;if(newshapestyle.curveness>0){newshape.updatepoints(newshapestyle);var obj={p:0};var x1=newshapestyle.cpx1;var y1=newshapestyle.cpy1;var newxarr=[];var newyarr=[];var subdivide=curvetool.quadraticsubdivide;zr.animation.animate(obj).when(duration,{p:1}).during(function(){subdivide(x0,x1,x2,obj.p,newxarr);subdivide(y0,y1,y2,obj.p,newyarr);newshapestyle.cpx1=newxarr[1];newshapestyle.cpy1=newyarr[1];newshapestyle.xend=newxarr[2];newshapestyle.yend=newyarr[2];zr.modshape(newshape);}).done(animationdone).start(easing);}else{zr.animate(newshape.id,'style').when(0,{xend:x0,yend:y0}).when(duration,{xend:x2,yend:y2}).done(animationdone).start(easing);}} return{pointlist:pointlist,rectangle:rectangle,candle:candle,ring:ring,sector:sector,text:text,polygon:polygon,ribbon:ribbon,gaugepointer:gaugepointer,icon:icon,line:line,markline:markline};});define('echarts/util/eceffect',['require','../util/ecdata','zrender/shape/circle','zrender/shape/image','zrender/tool/curve','../util/shape/icon','../util/shape/symbol','zrender/shape/shapebundle','zrender/shape/polyline','zrender/tool/vector','zrender/tool/env'],function(require){var ecdata=require('../util/ecdata');var circleshape=require('zrender/shape/circle');var imageshape=require('zrender/shape/image');var curvetool=require('zrender/tool/curve');var iconshape=require('../util/shape/icon');var symbolshape=require('../util/shape/symbol');var shapebundle=require('zrender/shape/shapebundle');var polyline=require('zrender/shape/polyline');var vec2=require('zrender/tool/vector');var canvassupported=require('zrender/tool/env').canvassupported;function point(zr,effectlist,shape,zlevel){var effect=shape.effect;var color=effect.color||shape.style.strokecolor||shape.style.color;var shadowcolor=effect.shadowcolor||color;var size=effect.scalesize;var distance=effect.bouncedistance;var shadowblur=typeof effect.shadowblur!='undefined'?effect.shadowblur:size;var effectshape;if(shape.type!=='image'){effectshape=new iconshape({zlevel:zlevel,style:{brushtype:'stroke',icontype:shape.style.icontype!='droplet'?shape.style.icontype:'circle',x:shadowblur+1,y:shadowblur+1,n:shape.style.n,width:shape.style._width*size,height:shape.style._height*size,linewidth:1,strokecolor:color,shadowcolor:shadowcolor,shadowblur:shadowblur},draggable:false,hoverable:false});if(shape.style.icontype=='pin'){effectshape.style.y+=effectshape.style.height/2*1.5;} if(canvassupported){effectshape.style.image=zr.shapetoimage(effectshape,effectshape.style.width+shadowblur*2+2,effectshape.style.height+shadowblur*2+2).style.image;effectshape=new imageshape({zlevel:effectshape.zlevel,style:effectshape.style,draggable:false,hoverable:false});}}else{effectshape=new imageshape({zlevel:zlevel,style:shape.style,draggable:false,hoverable:false});} ecdata.clone(shape,effectshape);effectshape.position=shape.position;effectlist.push(effectshape);zr.addshape(effectshape);var devicepixelratio=shape.type!=='image'?window.devicepixelratio||1:1;var offset=(effectshape.style.width/devicepixelratio-shape.style._width)/2;effectshape.style.x=shape.style._x-offset;effectshape.style.y=shape.style._y-offset;if(shape.style.icontype=='pin'){effectshape.style.y-=shape.style.height/2*1.5;} var duration=(effect.period+math.random()*10)*100;zr.modshape(shape.id,{invisible:true});var centerx=effectshape.style.x+effectshape.style.width/2/devicepixelratio;var centery=effectshape.style.y+effectshape.style.height/2/devicepixelratio;if(effect.type==='scale'){zr.modshape(effectshape.id,{scale:[0.1,0.1,centerx,centery]});zr.animate(effectshape.id,'',effect.loop).when(duration,{scale:[1,1,centerx,centery]}).done(function(){shape.effect.show=false;zr.delshape(effectshape.id);}).start();}else{zr.animate(effectshape.id,'style',effect.loop).when(duration,{y:effectshape.style.y-distance}).when(duration*2,{y:effectshape.style.y}).done(function(){shape.effect.show=false;zr.delshape(effectshape.id);}).start();}} function largepoint(zr,effectlist,shape,zlevel){var effect=shape.effect;var color=effect.color||shape.style.strokecolor||shape.style.color;var size=effect.scalesize;var shadowcolor=effect.shadowcolor||color;var shadowblur=typeof effect.shadowblur!='undefined'?effect.shadowblur:size*2;var devicepixelratio=window.devicepixelratio||1;var effectshape=new symbolshape({zlevel:zlevel,position:shape.position,scale:shape.scale,style:{pointlist:shape.style.pointlist,icontype:shape.style.icontype,color:color,strokecolor:color,shadowcolor:shadowcolor,shadowblur:shadowblur*devicepixelratio,random:true,brushtype:'fill',linewidth:1,size:shape.style.size},draggable:false,hoverable:false});effectlist.push(effectshape);zr.addshape(effectshape);zr.modshape(shape.id,{invisible:true});var duration=math.round(effect.period*100);var clip1={};var clip2={};for(var i=0;i<20;i++){effectshape.style['randommap'+i]=0;clip1={};clip1['randommap'+i]=100;clip2={};clip2['randommap'+i]=0;effectshape.style['randommap'+i]=math.random()*100;zr.animate(effectshape.id,'style',true).when(duration,clip1).when(duration*2,clip2).when(duration*3,clip1).when(duration*4,clip1).delay(math.random()*duration*i).start();}} function line(zr,effectlist,shape,zlevel,islarge){var effect=shape.effect;var shapestyle=shape.style;var color=effect.color||shapestyle.strokecolor||shapestyle.color;var shadowcolor=effect.shadowcolor||shapestyle.strokecolor||color;var size=shapestyle.linewidth*effect.scalesize;var shadowblur=typeof effect.shadowblur!='undefined'?effect.shadowblur:size;var effectshape=new circleshape({zlevel:zlevel,style:{x:shadowblur,y:shadowblur,r:size,color:color,shadowcolor:shadowcolor,shadowblur:shadowblur},hoverable:false});var offset=0;if(canvassupported&&!islarge){var zlevel=effectshape.zlevel;effectshape=zr.shapetoimage(effectshape,(size+shadowblur)*2,(size+shadowblur)*2);effectshape.zlevel=zlevel;effectshape.hoverable=false;offset=shadowblur;} if(!islarge){ecdata.clone(shape,effectshape);effectshape.position=shape.position;effectlist.push(effectshape);zr.addshape(effectshape);} var effectdone=function(){if(!islarge){shape.effect.show=false;zr.delshape(effectshape.id);} effectshape.effectanimator=null;};if(shape instanceof polyline){var distancelist=[0];var totaldist=0;var pointlist=shapestyle.pointlist;var controlpointlist=shapestyle.controlpointlist;for(var i=1;i0){var x1=shapestyle.cpx1-offset;var y1=shapestyle.cpy1-offset;effectshape.effectanimator=zr.animation.animate(effectshape,{loop:effect.loop}).when(duration,{p:1}).during(function(target,t){effectshape.style.x=curvetool.quadraticat(x0,x1,x2,t);effectshape.style.y=curvetool.quadraticat(y0,y1,y2,t);if(!islarge){zr.modshape(effectshape);}}).done(effectdone).start();}else{effectshape.effectanimator=zr.animation.animate(effectshape.style,{loop:effect.loop}).when(duration,{x:x2,y:y2}).during(function(){if(!islarge){zr.modshape(effectshape);}}).done(effectdone).start();} effectshape.effectanimator.duration=duration;} return effectshape;} function largeline(zr,effectlist,shape,zlevel){var effectshape=new shapebundle({style:{shapelist:[]},zlevel:zlevel,hoverable:false});var shapelist=shape.style.shapelist;var effect=shape.effect;effectshape.position=shape.position;var maxduration=0;var subeffectanimators=[];for(var i=0;imaxduration){maxduration=subeffectanimator.duration;} if(i===0){effectshape.style.color=subeffectshape.style.color;effectshape.style.shadowblur=subeffectshape.style.shadowblur;effectshape.style.shadowcolor=subeffectshape.style.shadowcolor;} subeffectanimators.push(subeffectanimator);} effectlist.push(effectshape);zr.addshape(effectshape);var clearallanimators=function(){for(var i=0;i=0;i--){name=self.type==ecconfig.chart_type_pie||self.type==ecconfig.chart_type_funnel?ecdata.get(self.shapelist[i],'name'):(ecdata.get(self.shapelist[i],'series')||{}).name;if(name==targetname&&!self.shapelist[i].invisible&&!self.shapelist[i].__animating){self.zr.addhovershape(self.shapelist[i]);}}}};messagecenter&&messagecenter.bind(ecconfig.event.legend_hoverlink,this._onlegendhoverlink);} base.prototype={canvassupported:require('zrender/tool/env').canvassupported,_getz:function(zwhat){if(this[zwhat]!=null){return this[zwhat];} var opt=this.ectheme[this.type];if(opt&&opt[zwhat]!=null){return opt[zwhat];} opt=ecconfig[this.type];if(opt&&opt[zwhat]!=null){return opt[zwhat];} return 0;},getzlevelbase:function(){return this._getz('zlevel');},getzbase:function(){return this._getz('z');},reformoption:function(opt){opt=zrutil.merge(zrutil.merge(opt||{},zrutil.clone(this.ectheme[this.type]||{})),zrutil.clone(ecconfig[this.type]||{}));this.z=opt.z;this.zlevel=opt.zlevel;return opt;},reformcssarray:function(p){if(p instanceof array){switch(p.length+''){case '4':return p;case '3':return[p[0],p[1],p[2],p[1]];case '2':return[p[0],p[1],p[0],p[1]];case '1':return[p[0],p[0],p[0],p[0]];case '0':return[0,0,0,0];}}else{return[p,p,p,p];}},getshapebyid:function(id){for(var i=0,l=this.shapelist.length;i0&&pointapproxequal(edgepoints[i],res[off-1]))){res[off++]=v2clone(edgepoints[i]);}} if(rawedgepoints[0]&&!pointapproxequal(res[0],rawedgepoints[0])){res=res.reverse();} return res;} var buildnewedges=function(groups,fromedgepoints){var newedgepoints;for(var i=0;imaxsavedink){maxsavedink=savedink;mostsavinginkedge=nearest;v2copy(mp1,_mp1);v2copy(mp0,_mp0);newgroupink=_newgroupink;}} if(mostsavinginkedge){totalsavedink+=maxsavedink;var group;if(!mostsavinginkedge.group){group=new bundlededgegroup();groups.push(group);group.addedge(mostsavinginkedge);} group=mostsavinginkedge.group;v2copy(group.mp0,mp0);v2copy(group.mp1,mp1);group.ink=newgroupink;mostsavinginkedge.group.addedge(edge);}else{var group=new bundlededgegroup();groups.push(group);v2copy(group.mp0,edge.getstartpoint());v2copy(group.mp1,edge.getendpoint());group.ink=edge.ink;group.addedge(edge);}} return{groups:groups,edges:edges,savedink:totalsavedink};},_calculateedgeedgeink:function(){var startpointset=[];var endpointset=[];return function(e0,e1,mp0,mp1){startpointset[0]=e0.getstartpoint();startpointset[1]=e1.getstartpoint();endpointset[0]=e0.getendpoint();endpointset[1]=e1.getendpoint();this._calculatemeetpoints(startpointset,endpointset,mp0,mp1);var ink=v2dist(startpointset[0],mp0)+v2dist(mp0,mp1)+v2dist(mp1,endpointset[0])+v2dist(startpointset[1],mp0)+v2dist(mp1,endpointset[1]);return ink;};}(),_calculategroupedgeink:function(group,edgetryadd,mp0,mp1){var startpointset=[];var endpointset=[];for(var i=0;imaxmovement){maxmovement=movement;vec2.copy(out,tmpout);}}}};}()};return edgebundling;});define('zrender/shape/star',['require','../tool/math','./base','../tool/util'],function(require){var math=require('../tool/math');var sin=math.sin;var cos=math.cos;var pi=math.pi;var base=require('./base');var star=function(options){base.call(this,options);};star.prototype={type:'star',buildpath:function(ctx,style){var n=style.n;if(!n||n<2){return;} var x=style.x;var y=style.y;var r=style.r;var r0=style.r0;if(r0==null){r0=n>4?r*cos(2*pi/n)/cos(pi/n):r/3;} var dstep=pi/n;var deg=-pi/2;var xstart=x+r*cos(deg);var ystart=y+r*sin(deg);deg+=dstep;var pointlist=style.pointlist=[];pointlist.push([xstart,ystart]);for(var i=0,end=n*2-1,ri;imaxx){maxx=pointlist[i][0];} if(pointlist[i][1]maxy){maxy=pointlist[i][1];}} var linewidth;if(style.brushtype=='stroke'||style.brushtype=='fill'){linewidth=style.linewidth||1;}else{linewidth=0;} style.__rect={x:math.round(minx-linewidth/2),y:math.round(miny-linewidth/2),width:maxx-minx+linewidth,height:maxy-miny+linewidth};return style.__rect;}};require('../tool/util').inherits(polygon,base);return polygon;});define('echarts/util/shape/normaliscover',[],function(){return function(x,y){var originpos=this.transformcoordtolocal(x,y);x=originpos[0];y=originpos[1];return this.iscoverrect(x,y);};});define('zrender/shape/util/smoothspline',['require','../../tool/vector'],function(require){var vector=require('../../tool/vector');function interpolate(p0,p1,p2,p3,t,t2,t3){var v0=(p2-p0)*0.5;var v1=(p3-p1)*0.5;return(2*(p1-p2)+v0+v1)*t3+(-3*(p1-p2)-2*v0-v1)*t2+v0*t+p1;} return function(points,isloop,constraint){var len=points.length;var ret=[];var distance=0;for(var i=1;ilen-2?len-1:idx+1];p3=points[idx>len-3?len-1:idx+2];}else{p0=points[(idx-1+len)%len];p2=points[(idx+1)%len];p3=points[(idx+2)%len];} var w2=w*w;var w3=w*w2;ret.push([interpolate(p0[0],p1[0],p2[0],p3[0],w,w2,w3),interpolate(p0[1],p1[1],p2[1],p3[1],w,w2,w3)]);} return ret;};});define('zrender/shape/util/smoothbezier',['require','../../tool/vector'],function(require){var vector=require('../../tool/vector');return function(points,smooth,isloop,constraint){var cps=[];var v=[];var v1=[];var v2=[];var prevpoint;var nextpoint;var hasconstraint=!!constraint;var min,max;if(hasconstraint){min=[infinity,infinity];max=[-infinity,-infinity];for(var i=0,len=points.length;i1?'.'+x[1]:'');} function getprecision(val){var e=1;var count=0;while(math.round(val*e)/e!==val){e*=10;count++;} return count;} return{parsepercent:parsepercent,parsecenter:parsecenter,parseradius:parseradius,addcommas:addcommas,getprecision:getprecision};});define('echarts/data/kdtree',['require','./quickselect'],function(require){var quickselect=require('./quickselect');function node(axis,data){this.left=null;this.right=null;this.axis=axis;this.data=data;} var kdtree=function(points,dimension){if(!points.length){return;} if(!dimension){dimension=points[0].array.length;} this.dimension=dimension;this.root=this._buildtree(points,0,points.length-1,0);this._stack=[];this._nearstnlist=[];};kdtree.prototype._buildtree=function(points,left,right,axis){if(rightleft){node.left=this._buildtree(points,left,medianindex-1,axis);node.right=this._buildtree(points,medianindex+1,right,axis);} return node;};kdtree.prototype.nearest=function(target,squareddistance){var curr=this.root;var stack=this._stack;var idx=0;var mindist=infinity;var nearestnode=null;if(curr.data!==target){mindist=squareddistance(curr.data,target);nearestnode=curr;} if(target.array[curr.axis]0;i--){if(dist>=nearestnlist[i-1].dist){break;}else{nearestnlist[i].dist=nearestnlist[i-1].dist;nearestnlist[i].node=nearestnlist[i-1].node;}} nearestnlist[i].dist=dist;nearestnlist[i].node=node;};kdtree.prototype.nearestn=function(target,n,squareddistance,output){if(n<=0){output.length=0;return output;} var curr=this.root;var stack=this._stack;var idx=0;var nearestnlist=this._nearstnlist;for(var i=0;ileft){var pivotidx=math.round((right+left)/2);var pivotvalue=list[pivotidx];swapelement(list,pivotidx,right);pivotidx=left;for(var i=left;i<=right-1;i++){if(comparefunc(pivotvalue,list[i])>=0){swapelement(list,i,pivotidx);pivotidx++;}} swapelement(list,right,pivotidx);if(pivotidx===nth){return pivotidx;}else if(pivotidx'+(lang[0]||this._lang[0])+'

';var customcontent=this.query(this.option,'toolbox.feature.dataview.optiontocontent');if(typeof customcontent!='function'){this._textarea.value=this._optiontocontent();}else{this._textarea=document.createelement('div');this._textarea.innerhtml=customcontent(this.option);} this._textarea.style.csstext='display:block;margin:0 0 8px 0;padding:4px 6px;overflow:auto;'+'width:100%;'+'height:'+(this._zrheight-100)+'px;';this._tdom.appendchild(this._textarea);this._buttonclose.style.csstext='float:right;padding:1px 6px;';this._buttonclose.innerhtml=lang[1]||this._lang[1];var self=this;this._buttonclose.onclick=function(){self.hide();};this._tdom.appendchild(this._buttonclose);if(this.query(this.option,'toolbox.feature.dataview.readonly')===false){this._buttonrefresh.style.csstext='float:right;margin-right:10px;padding:1px 6px;';this._buttonrefresh.innerhtml=lang[2]||this._lang[2];this._buttonrefresh.onclick=function(){self._save();};this._textarea.readonly=false;this._textarea.style.cursor='default';}else{this._buttonrefresh.style.csstext='display:none';this._textarea.readonly=true;this._textarea.style.cursor='text';} this._tdom.appendchild(this._buttonrefresh);this._sizecsstext='width:'+this._zrwidth+'px;'+'height:'+this._zrheight+'px;'+'background-color:#fff;';this._tdom.style.csstext=this._gcsstext+this._sizecsstext;},_optiontocontent:function(){var i;var j;var k;var len;var data;var valuelist;var axislist=[];var content='';if(this.option.xaxis){if(this.option.xaxis instanceof array){axislist=this.option.xaxis;}else{axislist=[this.option.xaxis];} for(i=0,len=axislist.length;i10){this._sizecsstext='width:'+this._zrwidth+'px;'+'height:'+this._zrheight+'px;'+'background-color:#fff;';this._tdom.style.csstext=this._gcsstext+this._sizecsstext;this._textarea.style.csstext='display:block;margin:0 0 8px 0;'+'padding:4px 6px;overflow:auto;'+'width:100%;'+'height:'+(this._zrheight-100)+'px;';}},dispose:function(){if(window.removeeventlistener){this._tdom.removeeventlistener('click',this._stop);this._tdom.removeeventlistener('mousewheel',this._stop);this._tdom.removeeventlistener('mousemove',this._stop);this._tdom.removeeventlistener('mousedown',this._stop);this._tdom.removeeventlistener('mouseup',this._stop);this._tdom.removeeventlistener('touchstart',this._stop);this._tdom.removeeventlistener('touchmove',this._stop);this._tdom.removeeventlistener('touchend',this._stop);}else{this._tdom.detachevent('onclick',this._stop);this._tdom.detachevent('onmousewheel',this._stop);this._tdom.detachevent('onmousemove',this._stop);this._tdom.detachevent('onmousedown',this._stop);this._tdom.detachevent('onmouseup',this._stop);} this._buttonrefresh.onclick=null;this._buttonclose.onclick=null;if(this._hasshow){this._tdom.removechild(this._textarea);this._tdom.removechild(this._buttonrefresh);this._tdom.removechild(this._buttonclose);} this._textarea=null;this._buttonrefresh=null;this._buttonclose=null;this.dom.firstchild.removechild(this._tdom);this._tdom=null;}};zrutil.inherits(dataview,base);require('../component').define('dataview',dataview);return dataview;});define('echarts/util/shape/cross',['require','zrender/shape/base','zrender/shape/line','zrender/tool/util','./normaliscover'],function(require){var base=require('zrender/shape/base');var lineshape=require('zrender/shape/line');var zrutil=require('zrender/tool/util');function cross(options){base.call(this,options);} cross.prototype={type:'cross',buildpath:function(ctx,style){var rect=style.rect;style.xstart=rect.x;style.xend=rect.x+rect.width;style.ystart=style.yend=style.y;lineshape.prototype.buildpath(ctx,style);style.xstart=style.xend=style.x;style.ystart=rect.y;style.yend=rect.y+rect.height;lineshape.prototype.buildpath(ctx,style);},getrect:function(style){return style.rect;},iscover:require('./normaliscover')};zrutil.inherits(cross,base);return cross;});define('zrender/shape/sector',['require','../tool/math','../tool/computeboundingbox','../tool/vector','./base','../tool/util'],function(require){var math=require('../tool/math');var computeboundingbox=require('../tool/computeboundingbox');var vec2=require('../tool/vector');var base=require('./base');var min0=vec2.create();var min1=vec2.create();var max0=vec2.create();var max1=vec2.create();var sector=function(options){base.call(this,options);};sector.prototype={type:'sector',buildpath:function(ctx,style){var x=style.x;var y=style.y;var r0=style.r0||0;var r=style.r;var startangle=style.startangle;var endangle=style.endangle;var clockwise=style.clockwise||false;startangle=math.degreetoradian(startangle);endangle=math.degreetoradian(endangle);if(!clockwise){startangle=-startangle;endangle=-endangle;} var unitx=math.cos(startangle);var unity=math.sin(startangle);ctx.moveto(unitx*r0+x,unity*r0+y);ctx.lineto(unitx*r+x,unity*r+y);ctx.arc(x,y,r,startangle,endangle,!clockwise);ctx.lineto(math.cos(endangle)*r0+x,math.sin(endangle)*r0+y);if(r0!==0){ctx.arc(x,y,r0,endangle,startangle,clockwise);} ctx.closepath();return;},getrect:function(style){if(style.__rect){return style.__rect;} var x=style.x;var y=style.y;var r0=style.r0||0;var r=style.r;var startangle=math.degreetoradian(style.startangle);var endangle=math.degreetoradian(style.endangle);var clockwise=style.clockwise;if(!clockwise){startangle=-startangle;endangle=-endangle;} if(r0>1){computeboundingbox.arc(x,y,r0,startangle,endangle,!clockwise,min0,max0);}else{min0[0]=max0[0]=x;min0[1]=max0[1]=y;} computeboundingbox.arc(x,y,r,startangle,endangle,!clockwise,min1,max1);vec2.min(min0,min0,min1);vec2.max(max0,max0,max1);style.__rect={x:min0[0],y:min0[1],width:max0[0]-min0[0],height:max0[1]-min0[1]};return style.__rect;}};require('../tool/util').inherits(sector,base);return sector;});define('echarts/util/shape/candle',['require','zrender/shape/base','zrender/tool/util','./normaliscover'],function(require){var base=require('zrender/shape/base');var zrutil=require('zrender/tool/util');function candle(options){base.call(this,options);} candle.prototype={type:'candle',_numberorder:function(a,b){return b-a;},buildpath:function(ctx,style){var ylist=zrutil.clone(style.y).sort(this._numberorder);ctx.moveto(style.x,ylist[3]);ctx.lineto(style.x,ylist[2]);ctx.moveto(style.x-style.width/2,ylist[2]);ctx.rect(style.x-style.width/2,ylist[2],style.width,ylist[1]-ylist[2]);ctx.moveto(style.x,ylist[1]);ctx.lineto(style.x,ylist[0]);},getrect:function(style){if(!style.__rect){var linewidth=0;if(style.brushtype=='stroke'||style.brushtype=='fill'){linewidth=style.linewidth||1;} var ylist=zrutil.clone(style.y).sort(this._numberorder);style.__rect={x:math.round(style.x-style.width/2-linewidth/2),y:math.round(ylist[3]-linewidth/2),width:style.width+linewidth,height:ylist[0]-ylist[3]+linewidth};} return style.__rect;},iscover:require('./normaliscover')};zrutil.inherits(candle,base);return candle;});define('zrender/tool/computeboundingbox',['require','./vector','./curve'],function(require){var vec2=require('./vector');var curve=require('./curve');function computeboundingbox(points,min,max){if(points.length===0){return;} var left=points[0][0];var right=points[0][0];var top=points[0][1];var bottom=points[0][1];for(var i=1;iright){right=p[0];} if(p[1]bottom){bottom=p[1];}} min[0]=left;min[1]=top;max[0]=right;max[1]=bottom;} function computecubebezierboundingbox(p0,p1,p2,p3,min,max){var xdim=[];curve.cubicextrema(p0[0],p1[0],p2[0],p3[0],xdim);for(var i=0;i=math.pi*2){min[0]=x-r;min[1]=y-r;max[0]=x+r;max[1]=y+r;return;} start[0]=math.cos(startangle)*r+x;start[1]=math.sin(startangle)*r+y;end[0]=math.cos(endangle)*r+x;end[1]=math.sin(endangle)*r+y;vec2.min(min,start,end);vec2.max(max,start,end);startangle=startangle%(math.pi*2);if(startangle<0){startangle=startangle+math.pi*2;} endangle=endangle%(math.pi*2);if(endangle<0){endangle=endangle+math.pi*2;} if(startangle>endangle&&!anticlockwise){endangle+=math.pi*2;}else if(startanglestartangle){extremity[0]=math.cos(angle)*r+x;extremity[1]=math.sin(angle)*r+y;vec2.min(min,extremity,min);vec2.max(max,extremity,max);}}};computeboundingbox.cubebezier=computecubebezierboundingbox;computeboundingbox.quadraticbezier=computequadraticbezierboundingbox;computeboundingbox.arc=computearcboundingbox;return computeboundingbox;});define('echarts/util/shape/chain',['require','zrender/shape/base','./icon','zrender/shape/util/dashedlineto','zrender/tool/util','zrender/tool/matrix'],function(require){var base=require('zrender/shape/base');var iconshape=require('./icon');var dashedlineto=require('zrender/shape/util/dashedlineto');var zrutil=require('zrender/tool/util');var matrix=require('zrender/tool/matrix');function chain(options){base.call(this,options);} chain.prototype={type:'chain',brush:function(ctx,ishighlight){var style=this.style;if(ishighlight){style=this.gethighlightstyle(style,this.highlightstyle||{});} ctx.save();this.setcontext(ctx,style);this.settransform(ctx);ctx.save();ctx.beginpath();this.buildlinepath(ctx,style);ctx.stroke();ctx.restore();this.brushsymbol(ctx,style);ctx.restore();return;},buildlinepath:function(ctx,style){var x=style.x;var y=style.y+5;var width=style.width;var height=style.height/2-10;ctx.moveto(x,y);ctx.lineto(x,y+height);ctx.moveto(x+width,y);ctx.lineto(x+width,y+height);ctx.moveto(x,y+height/2);if(!style.linetype||style.linetype=='solid'){ctx.lineto(x+width,y+height/2);}else if(style.linetype=='dashed'||style.linetype=='dotted'){var dashlength=(style.linewidth||1)*(style.linetype=='dashed'?5:1);dashedlineto(ctx,x,y+height/2,x+width,y+height/2,dashlength);}},brushsymbol:function(ctx,style){var y=style.y+style.height/4;ctx.save();var chainpoint=style.chainpoint;var curpoint;for(var idx=0,l=chainpoint.length;idx=rect.x&&x<=rect.x+rect.width&&y>=rect.y&&y<=rect.y+rect.height){return true;}else{return false;}}};zrutil.inherits(chain,base);return chain;});define('zrender/shape/ring',['require','./base','../tool/util'],function(require){var base=require('./base');var ring=function(options){base.call(this,options);};ring.prototype={type:'ring',buildpath:function(ctx,style){ctx.arc(style.x,style.y,style.r,0,math.pi*2,false);ctx.moveto(style.x+style.r0,style.y);ctx.arc(style.x,style.y,style.r0,0,math.pi*2,true);return;},getrect:function(style){if(style.__rect){return style.__rect;} var linewidth;if(style.brushtype=='stroke'||style.brushtype=='fill'){linewidth=style.linewidth||1;}else{linewidth=0;} style.__rect={x:math.round(style.x-style.r-linewidth/2),y:math.round(style.y-style.r-linewidth/2),width:style.r*2+linewidth,height:style.r*2+linewidth};return style.__rect;}};require('../tool/util').inherits(ring,base);return ring;});define('echarts/component/axis',['require','./base','zrender/shape/line','../config','../util/ecdata','zrender/tool/util','zrender/tool/color','./categoryaxis','./valueaxis','../component'],function(require){var base=require('./base');var lineshape=require('zrender/shape/line');var ecconfig=require('../config');var ecdata=require('../util/ecdata');var zrutil=require('zrender/tool/util');var zrcolor=require('zrender/tool/color');function axis(ectheme,messagecenter,zr,option,mychart,axistype){base.call(this,ectheme,messagecenter,zr,option,mychart);this.axistype=axistype;this._axislist=[];this.refresh(option);} axis.prototype={type:ecconfig.component_type_axis,axisbase:{_buildaxisline:function(){var linewidth=this.option.axisline.linestyle.width;var halflinewidth=linewidth/2;var axshape={_axisshape:'axisline',zlevel:this.getzlevelbase(),z:this.getzbase()+3,hoverable:false};var grid=this.grid;switch(this.option.position){case 'left':axshape.style={xstart:grid.getx()-halflinewidth,ystart:grid.getyend(),xend:grid.getx()-halflinewidth,yend:grid.gety(),linecap:'round'};break;case 'right':axshape.style={xstart:grid.getxend()+halflinewidth,ystart:grid.getyend(),xend:grid.getxend()+halflinewidth,yend:grid.gety(),linecap:'round'};break;case 'bottom':axshape.style={xstart:grid.getx(),ystart:grid.getyend()+halflinewidth,xend:grid.getxend(),yend:grid.getyend()+halflinewidth,linecap:'round'};break;case 'top':axshape.style={xstart:grid.getx(),ystart:grid.gety()-halflinewidth,xend:grid.getxend(),yend:grid.gety()-halflinewidth,linecap:'round'};break;} var style=axshape.style;if(this.option.name!==''){style.text=this.option.name;style.textposition=this.option.namelocation;style.textfont=this.getfont(this.option.nametextstyle);if(this.option.nametextstyle.align){style.textalign=this.option.nametextstyle.align;} if(this.option.nametextstyle.baseline){style.textbaseline=this.option.nametextstyle.baseline;} if(this.option.nametextstyle.color){style.textcolor=this.option.nametextstyle.color;}} style.strokecolor=this.option.axisline.linestyle.color;style.linewidth=linewidth;if(this.ishorizontal()){style.ystart=style.yend=this.subpixeloptimize(style.yend,linewidth);}else{style.xstart=style.xend=this.subpixeloptimize(style.xend,linewidth);} style.linetype=this.option.axisline.linestyle.type;axshape=new lineshape(axshape);this.shapelist.push(axshape);},_axislabelclickable:function(clickable,axshape){if(clickable){ecdata.pack(axshape,undefined,-1,undefined,-1,axshape.style.text);axshape.hoverable=true;axshape.clickable=true;axshape.highlightstyle={color:zrcolor.lift(axshape.style.color,1),brushtype:'fill'};return axshape;}else{return axshape;}},refixaxisshape:function(zerox,zeroy){if(!this.option.axisline.onzero){return;} var ticklength;if(this.ishorizontal()&&zeroy!=null){for(var i=0,l=this.shapelist.length;i2){opt=[opt[0],opt[1]];} if(this.axistype==='xaxis'){if(!opt[0].position||opt[0].position!='bottom'&&opt[0].position!='top'){opt[0].position='bottom';} if(opt.length>1){opt[1].position=opt[0].position==='bottom'?'top':'bottom';} for(var i=0,l=opt.length;i1){opt[1].position=opt[0].position==='left'?'right':'left';} for(var i=0,l=opt.length;i=0){axis.ishorizontal()?zerox=axis.getcoord(0):zeroy=axis.getcoord(0);}} if(typeof zerox!='undefined'||typeof zeroy!='undefined'){len=axislist.length;while(len--){axislist[len].refixaxisshape(zerox,zeroy);}}},refresh:function(newoption){if(newoption||this._zrwidth!=this.zr.getwidth()||this._zrheight!=this.zr.getheight()){this.clear();this.option=newoption||this.option;this.option.grid=this.reformoption(this.option.grid);var gridoption=this.option.grid;this._zrwidth=this.zr.getwidth();this._zrheight=this.zr.getheight();this._x=this.parsepercent(gridoption.x,this._zrwidth);this._y=this.parsepercent(gridoption.y,this._zrheight);var x2=this.parsepercent(gridoption.x2,this._zrwidth);var y2=this.parsepercent(gridoption.y2,this._zrheight);if(typeof gridoption.width=='undefined'){this._width=this._zrwidth-this._x-x2;}else{this._width=this.parsepercent(gridoption.width,this._zrwidth);} this._width=this._width<=0?10:this._width;if(typeof gridoption.height=='undefined'){this._height=this._zrheight-this._y-y2;}else{this._height=this.parsepercent(gridoption.height,this._zrheight);} this._height=this._height<=0?10:this._height;this._x=this.subpixeloptimize(this._x,gridoption.borderwidth);this._y=this.subpixeloptimize(this._y,gridoption.borderwidth);this.shapelist.push(new rectangleshape({zlevel:this.getzlevelbase(),z:this.getzbase(),hoverable:false,style:{x:this._x,y:this._y,width:this._width,height:this._height,brushtype:gridoption.borderwidth>0?'both':'fill',color:gridoption.backgroundcolor,strokecolor:gridoption.bordercolor,linewidth:gridoption.borderwidth}}));this.zr.addshape(this.shapelist[0]);}}};zrutil.inherits(grid,base);require('../component').define('grid',grid);return grid;});define('echarts/component/datazoom',['require','./base','zrender/shape/rectangle','zrender/shape/polygon','../util/shape/icon','../config','../util/date','zrender/tool/util','../component'],function(require){var base=require('./base');var rectangleshape=require('zrender/shape/rectangle');var polygonshape=require('zrender/shape/polygon');var iconshape=require('../util/shape/icon');var ecconfig=require('../config');ecconfig.datazoom={zlevel:0,z:4,show:false,orient:'horizontal',backgroundcolor:'rgba(0,0,0,0)',databackgroundcolor:'#eee',fillercolor:'rgba(144,197,237,0.2)',handlecolor:'rgba(70,130,180,0.8)',handlesize:8,showdetail:true,realtime:true};var ecdate=require('../util/date');var zrutil=require('zrender/tool/util');function datazoom(ectheme,messagecenter,zr,option,mychart){base.call(this,ectheme,messagecenter,zr,option,mychart);var self=this;self._ondrift=function(dx,dy){return self.__ondrift(this,dx,dy);};self._ondragend=function(){return self.__ondragend();};this._fillersize=30;this._issilence=false;this._zoom={};this.option.datazoom=this.reformoption(this.option.datazoom);this.zoomoption=this.option.datazoom;this._handlesize=this.zoomoption.handlesize;if(!this.mychart.canvassupported){this.zoomoption.realtime=false;} this._location=this._getlocation();this._zoom=this._getzoom();this._backupdata();if(this.option.datazoom.show){this._buildshape();} this._syncdata();} datazoom.prototype={type:ecconfig.component_type_datazoom,_buildshape:function(){this._buildbackground();this._buildfiller();this._buildhandle();this._buildframe();for(var i=0,l=this.shapelist.length;iend){start=start+end;end=start-end;start=start-end;} var size=math.round((end-start)/100*(this.zoomoption.orient=='horizontal'?this._location.width:this._location.height));return{start:start,end:end,start2:0,end2:100,size:size,xaxisindex:xaxisindex,yaxisindex:yaxisindex,seriesindex:zoomseriesindex,scattermap:this._zoom.scattermap||{}};},_backupdata:function(){this._originaldata={xaxis:{},yaxis:{},series:{}};var xaxis=this.option.xaxis;var xaxisindex=this._zoom.xaxisindex;for(var i=0,l=xaxisindex.length;i1?1:0));var y=height/(maxlength-(maxlength>1?1:0));var step=1;if(this.zoomoption.orient=='horizontal'&&x<1){step=math.floor(maxlength*3/width);}else if(this.zoomoption.orient=='vertical'&&y<1){step=math.floor(maxlength*3/height);} for(var i=0,l=maxlength;ithis._location.x?1:0),height:this._location.height-(y>this._location.y?1:0),linewidth:1,brushtype:'stroke',strokecolor:this.zoomoption.handlecolor}};this._endframeshape=zrutil.clone(this._startframeshape);this._startframeshape=new rectangleshape(this._startframeshape);this._endframeshape=new rectangleshape(this._endframeshape);this.shapelist.push(this._startframeshape);this.shapelist.push(this._endframeshape);return;},_synchandleshape:function(){if(this.zoomoption.orient=='horizontal'){this._startshape.style.x=this._fillershae.style.x-this._handlesize;this._endshape.style.x=this._fillershae.style.x+this._fillershae.style.width;this._zoom.start=(this._startshape.style.x-this._location.x)/this._location.width*100;this._zoom.end=(this._endshape.style.x+this._handlesize-this._location.x)/this._location.width*100;}else{this._startshape.style.y=this._fillershae.style.y+this._fillershae.style.height;this._endshape.style.y=this._fillershae.style.y-this._handlesize;this._zoom.start=(this._location.y+this._location.height-this._startshape.style.y)/this._location.height*100;this._zoom.end=(this._location.y+this._location.height-this._endshape.style.y-this._handlesize)/this._location.height*100;} this.zr.modshape(this._startshape.id);this.zr.modshape(this._endshape.id);this._syncframeshape();this.zr.refreshnextframe();},_syncfillershape:function(){var a;var b;if(this.zoomoption.orient=='horizontal'){a=this._startshape.style.x;b=this._endshape.style.x;this._fillershae.style.x=math.min(a,b)+this._handlesize;this._fillershae.style.width=math.abs(a-b)-this._handlesize;this._zoom.start=(math.min(a,b)-this._location.x)/this._location.width*100;this._zoom.end=(math.max(a,b)+this._handlesize-this._location.x)/this._location.width*100;}else{a=this._startshape.style.y;b=this._endshape.style.y;this._fillershae.style.y=math.min(a,b)+this._handlesize;this._fillershae.style.height=math.abs(a-b)-this._handlesize;this._zoom.start=(this._location.y+this._location.height-math.max(a,b))/this._location.height*100;this._zoom.end=(this._location.y+this._location.height-math.min(a,b)-this._handlesize)/this._location.height*100;} this.zr.modshape(this._fillershae.id);this._syncframeshape();this.zr.refreshnextframe();},_syncframeshape:function(){if(this.zoomoption.orient=='horizontal'){this._startframeshape.style.width=this._fillershae.style.x-this._location.x;this._endframeshape.style.x=this._fillershae.style.x+this._fillershae.style.width;this._endframeshape.style.width=this._location.x+this._location.width-this._endframeshape.style.x;}else{this._startframeshape.style.y=this._fillershae.style.y+this._fillershae.style.height;this._startframeshape.style.height=this._location.y+this._location.height-this._startframeshape.style.y;this._endframeshape.style.height=this._fillershae.style.y-this._location.y;} this.zr.modshape(this._startframeshape.id);this.zr.modshape(this._endframeshape.id);},_syncshape:function(){if(!this.zoomoption.show){return;} if(this.zoomoption.orient=='horizontal'){this._startshape.style.x=this._location.x+this._zoom.start/100*this._location.width;this._endshape.style.x=this._location.x+this._zoom.end/100*this._location.width-this._handlesize;this._fillershae.style.x=this._startshape.style.x+this._handlesize;this._fillershae.style.width=this._endshape.style.x-this._startshape.style.x-this._handlesize;}else{this._startshape.style.y=this._location.y+this._location.height-this._zoom.start/100*this._location.height;this._endshape.style.y=this._location.y+this._location.height-this._zoom.end/100*this._location.height-this._handlesize;this._fillershae.style.y=this._endshape.style.y+this._handlesize;this._fillershae.style.height=this._startshape.style.y-this._endshape.style.y-this._handlesize;} this.zr.modshape(this._startshape.id);this.zr.modshape(this._endshape.id);this.zr.modshape(this._fillershae.id);this._syncframeshape();this.zr.refresh();},_syncdata:function(dispatchnow){var target;var start;var end;var length;var data;for(var key in this._originaldata){target=this._originaldata[key];for(var idx in target){data=target[idx];if(data==null){continue;} length=data.length;start=math.floor(this._zoom.start/100*length);end=math.ceil(this._zoom.end/100*length);if(!(this.getdatafromoption(data[0])instanceof array)||this.option[key][idx].type==ecconfig.chart_type_k){this.option[key][idx].data=data.slice(start,end);}else{this._setscale();this.option[key][idx].data=this._synscatterdata(idx,data);}}} if(!this._issilence&&(this.zoomoption.realtime||dispatchnow)){this.messagecenter.dispatch(ecconfig.event.data_zoom,null,{zoom:this._zoom},this.mychart);}},_synscatterdata:function(seriesindex,data){if(this._zoom.start===0&&this._zoom.end==100&&this._zoom.start2===0&&this._zoom.end2==100){return data;} var newdata=[];var scale=this._zoom.scattermap[seriesindex];var total;var xstart;var xend;var ystart;var yend;if(this.zoomoption.orient=='horizontal'){total=scale.x.max-scale.x.min;xstart=this._zoom.start/100*total+scale.x.min;xend=this._zoom.end/100*total+scale.x.min;total=scale.y.max-scale.y.min;ystart=this._zoom.start2/100*total+scale.y.min;yend=this._zoom.end2/100*total+scale.y.min;}else{total=scale.x.max-scale.x.min;xstart=this._zoom.start2/100*total+scale.x.min;xend=this._zoom.end2/100*total+scale.x.min;total=scale.y.max-scale.y.min;ystart=this._zoom.start/100*total+scale.y.min;yend=this._zoom.end/100*total+scale.y.min;} var datamappingmethods;if(datamappingmethods=scale.x.datamappingmethods){xstart=datamappingmethods.coord2value(xstart);xend=datamappingmethods.coord2value(xend);} if(datamappingmethods=scale.y.datamappingmethods){ystart=datamappingmethods.coord2value(ystart);yend=datamappingmethods.coord2value(yend);} var value;for(var i=0,l=data.length;i=xstart&&value[0]<=xend&&value[1]>=ystart&&value[1]<=yend){newdata.push(data[i]);}} return newdata;},_setscale:function(){var needscale=this._zoom.start!==0||this._zoom.end!==100||this._zoom.start2!==0||this._zoom.end2!==100;var axis={xaxis:this.option.xaxis,yaxis:this.option.yaxis};for(var key in axis){for(var i=0,l=axis[key].length;i0?1:0;return{start:this.getdatafromoption(data[start]),end:this.getdatafromoption(data[end])};}} key=this.zoomoption.orient=='horizontal'?'xaxis':'yaxis';var seriesindex=this._zoom.seriesindex[0];var axisindex=this.option.series[seriesindex][key+'index']||0;var axistype=this.option[key][axisindex].type;var min=this._zoom.scattermap[seriesindex][key.charat(0)].min;var max=this._zoom.scattermap[seriesindex][key.charat(0)].max;var gap=max-min;if(axistype=='value'){return{start:min+gap*this._zoom.start/100,end:min+gap*this._zoom.end/100};}else if(axistype=='time'){max=min+gap*this._zoom.end/100;min=min+gap*this._zoom.start/100;var formatter=ecdate.getautoformatter(min,max).formatter;return{start:ecdate.format(formatter,min),end:ecdate.format(formatter,max)};} return{start:'',end:''};},__ondrift:function(shape,dx,dy){if(this.zoomoption.zoomlock){shape=this._fillershae;} var detailsize=shape._type=='filler'?this._handlesize:0;if(this.zoomoption.orient=='horizontal'){if(shape.style.x+dx-detailsize<=this._location.x){shape.style.x=this._location.x+detailsize;}else if(shape.style.x+dx+shape.style.width+detailsize>=this._location.x+this._location.width){shape.style.x=this._location.x+this._location.width-shape.style.width-detailsize;}else{shape.style.x+=dx;}}else{if(shape.style.y+dy-detailsize<=this._location.y){shape.style.y=this._location.y+detailsize;}else if(shape.style.y+dy+shape.style.height+detailsize>=this._location.y+this._location.height){shape.style.y=this._location.y+this._location.height-shape.style.height-detailsize;}else{shape.style.y+=dy;}} if(shape._type=='filler'){this._synchandleshape();}else{this._syncfillershape();} if(this.zoomoption.realtime){this._syncdata();} if(this.zoomoption.showdetail){var detail=this._getdetail();this._startshape.style.text=this._startshape.highlightstyle.text=detail.start;this._endshape.style.text=this._endshape.highlightstyle.text=detail.end;this._startshape.style.textposition=this._startshape.highlightstyle.textposition;this._endshape.style.textposition=this._endshape.highlightstyle.textposition;} return true;},__ondragend:function(){if(this.zoomoption.showdetail){this._startshape.style.text=this._endshape.style.text='=';this._startshape.style.textposition=this._endshape.style.textposition='inside';this.zr.modshape(this._startshape.id);this.zr.modshape(this._endshape.id);this.zr.refreshnextframe();} this.isdragend=true;},ondragend:function(param,status){if(!this.isdragend||!param.target){return;} !this.zoomoption.realtime&&this._syncdata();status.dragout=true;status.dragin=true;if(!this._issilence&&!this.zoomoption.realtime){this.messagecenter.dispatch(ecconfig.event.data_zoom,null,{zoom:this._zoom},this.mychart);} status.needrefresh=false;this.isdragend=false;return;},ondatazoom:function(param,status){status.needrefresh=true;return;},absolutezoom:function(param){this._zoom.start=param.start;this._zoom.end=param.end;this._zoom.start2=param.start2;this._zoom.end2=param.end2;this._syncshape();this._syncdata(true);return;},rectzoom:function(param){if(!param){this._zoom.start=this._zoom.start2=0;this._zoom.end=this._zoom.end2=100;this._syncshape();this._syncdata(true);return this._zoom;} var gridarea=this.component.grid.getarea();var rect={x:param.x,y:param.y,width:param.width,height:param.height};if(rect.width<0){rect.x+=rect.width;rect.width=-rect.width;} if(rect.height<0){rect.y+=rect.height;rect.height=-rect.height;} if(rect.x>gridarea.x+gridarea.width||rect.y>gridarea.y+gridarea.height){return false;} if(rect.xgridarea.x+gridarea.width){rect.width=gridarea.x+gridarea.width-rect.x;} if(rect.y+rect.height>gridarea.y+gridarea.height){rect.height=gridarea.y+gridarea.height-rect.y;} var total;var sdx=(rect.x-gridarea.x)/gridarea.width;var edx=1-(rect.x+rect.width-gridarea.x)/gridarea.width;var sdy=1-(rect.y+rect.height-gridarea.y)/gridarea.height;var edy=(rect.y-gridarea.y)/gridarea.height;if(this.zoomoption.orient=='horizontal'){total=this._zoom.end-this._zoom.start;this._zoom.start+=total*sdx;this._zoom.end-=total*edx;total=this._zoom.end2-this._zoom.start2;this._zoom.start2+=total*sdy;this._zoom.end2-=total*edy;}else{total=this._zoom.end-this._zoom.start;this._zoom.start+=total*sdy;this._zoom.end-=total*edy;total=this._zoom.end2-this._zoom.start2;this._zoom.start2+=total*sdx;this._zoom.end2-=total*edx;} this._syncshape();this._syncdata(true);return this._zoom;},syncbackupdata:function(curoption){var start;var target=this._originaldata['series'];var curseries=curoption.series;var curdata;for(var i=0,l=curseries.length;i3){var gap=this.getgap();var isenough=false;var labelspace;var labelsize;var step=math.floor(0.5/gap);step=step<1?1:step;interval=math.floor(15/gap);while(!isenough&&interval=0;i-=interval){if(this.option.axislabel.rotate!==0){labelsize=fontsize;}else if(data[i].textstyle){labelsize=zrarea.gettextwidth(this._getreformedlabel(i),this.getfont(zrutil.merge(data[i].textstyle,this.option.axislabel.textstyle)));}else{var label=this._getreformedlabel(i)+'';var wlen=(label.match(/\w/g)||'').length;var olen=label.length-wlen;labelsize=wlen*fontsize*2/3+olen*fontsize;} if(labelspace3){var gap=this.getgap();interval=math.floor(11/gap);while(gap*interval-60?-interval:0;if(this.ishorizontal()){var yposition=this.option.position=='bottom'?tickoption.inside?this.grid.getyend()-length-1:this.grid.getyend()+1:tickoption.inside?this.grid.gety()+1:this.grid.gety()-length-1;var x;for(var i=startindex;i=0?optgap:0),linewidth);axshape={_axisshape:'axistick',zlevel:this.getzlevelbase(),z:this.getzbase(),hoverable:false,style:{xstart:x,ystart:yposition,xend:x,yend:yposition+length,strokecolor:color,linewidth:linewidth}};this.shapelist.push(new lineshape(axshape));}}else{var xposition=this.option.position=='left'?tickoption.inside?this.grid.getx()+1:this.grid.getx()-length-1:tickoption.inside?this.grid.getxend()-length-1:this.grid.getxend()+1;var y;for(var i=startindex;i=0?optgap:0),linewidth);axshape={_axisshape:'axistick',zlevel:this.getzlevelbase(),z:this.getzbase(),hoverable:false,style:{xstart:xposition,ystart:y,xend:xposition+length,yend:y,strokecolor:color,linewidth:linewidth}};this.shapelist.push(new lineshape(axshape));}}},_buildaxislabel:function(){var axshape;var data=this.option.data;var datalength=this.option.data.length;var labeloption=this.option.axislabel;var rotate=labeloption.rotate;var margin=labeloption.margin;var clickable=labeloption.clickable;var textstyle=labeloption.textstyle;var intervalfunction=typeof labeloption.interval=='function'?labeloption.interval:false;var datatextstyle;if(this.ishorizontal()){var yposition;var baseline;if(this.option.position=='bottom'){yposition=this.grid.getyend()+margin;baseline='top';}else{yposition=this.grid.gety()-margin;baseline='bottom';} for(var i=0;i0?this.option.position=='bottom'?'right':'left':this.option.position=='bottom'?'left':'right';axshape.rotation=[rotate*math.pi/180,axshape.style.x,axshape.style.y];} this.shapelist.push(new textshape(this._axislabelclickable(clickable,axshape)));}}else{var xposition;var align;if(this.option.position=='left'){xposition=this.grid.getx()-margin;align='right';}else{xposition=this.grid.getxend()+margin;align='left';} for(var i=0;i1?datalength-1:1);}},getcoord:function(value){var data=this.option.data;var datalength=data.length;var gap=this.getgap();var position=this.option.boundarygap?gap/2:0;for(var i=0;ithis.option.data.length-1){if(this.ishorizontal()){return this.grid.getxend();}else{return this.grid.gety();}}else{var gap=this.getgap();var position=this.option.boundarygap?gap/2:0;position+=dataindex*gap;if(this.ishorizontal()){position=this.grid.getx()+position;}else{position=this.grid.getyend()-position;} return position;}},getnamebyindex:function(dataindex){return this.getdatafromoption(this.option.data[dataindex]);},getindexbyname:function(name){var data=this.option.data;var datalength=data.length;for(var i=0;i0?this.option.position==='bottom'?'right':'left':this.option.position==='bottom'?'left':'right';axshape.rotation=[rotate*math.pi/180,axshape.style.x,axshape.style.y];} this.shapelist.push(new textshape(this._axislabelclickable(clickable,axshape)));}}else{var xposition;var align;if(this.option.position==='left'){xposition=this.grid.getx()-margin;align='right';}else{xposition=this.grid.getxend()+margin;align='left';} for(var i=0;i0){this._min=this._max/this.option.splitnumber!=null?this.option.splitnumber:5;}else{this._max=this._max/this.option.splitnumber!=null?this.option.splitnumber:5;}} if(this.option.type==='time'){this._reformtimevalue();}else if(this.option.type==='log'){this._reformlogvalue();}else{this._reformvalue(this.option.scale);}}else{this._hasdata=true;this._min=this.option.min-0;this._max=this.option.max-0;if(this.option.type==='time'){this._reformtimevalue();}else if(this.option.type==='log'){this._reformlogvalue();}else{this._customervalue();}}},_calculsum:function(data,i){var key=this.series[i].name||'kener';var value;var oridata;if(!this.series[i].stack){data[key]=data[key]||[];if(this.series[i].type!=ecconfig.chart_type_eventriver){oridata=this.series[i].data;for(var j=0,k=oridata.length;j=0){if(data[keyp][j]!=null){data[keyp][j]+=value;}else{data[keyp][j]=value;}}else{if(data[keyn][j]!=null){data[keyn][j]+=value;}else{data[keyn][j]=value;}} if(this.option.scale){data[key].push(value);}}}},_reformvalue:function(scale){var smartsteps=require('../util/smartsteps');var splitnumber=this.option.splitnumber;if(!scale&&this._min>=0&&this._max>=0){this._min=0;} if(!scale&&this._min<=0&&this._max<=0){this._max=0;} var stepopt=smartsteps(this._min,this._max,splitnumber);splitnumber=splitnumber!=null?splitnumber:stepopt.secs;this._min=stepopt.min;this._max=stepopt.max;this._valuelist=stepopt.pnts;this._reformlabeldata();},_reformtimevalue:function(){var splitnumber=this.option.splitnumber!=null?this.option.splitnumber:5;var curvalue=ecdate.getautoformatter(this._min,this._max,splitnumber);var formatter=curvalue.formatter;var gapvalue=curvalue.gapvalue;this._valuelist=[ecdate.getnewdate(this._min)];var startgap;switch(formatter){case 'week':startgap=ecdate.nextmonday(this._min);break;case 'month':startgap=ecdate.nextnthonmonth(this._min,1);break;case 'quarter':startgap=ecdate.nextnthonquarteryear(this._min,1);break;case 'half-year':startgap=ecdate.nextnthonhalfyear(this._min,1);break;case 'year':startgap=ecdate.nextnthonyear(this._min,1);break;default:if(gapvalue<=3600000*2){startgap=(math.floor(this._min/gapvalue)+1)*gapvalue;}else{startgap=ecdate.getnewdate(this._min- -gapvalue);startgap.sethours(math.round(startgap.gethours()/6)*6);startgap.setminutes(0);startgap.setseconds(0);} break;} if(startgap-this._min=0){if(formatter=='month'||formatter=='quarter'||formatter=='half-year'||formatter=='year'){curvalue.setdate(1);} if(this._max-curvaluethis._max?this._max:value;var result;if(!this.ishorizontal()){result=this.grid.getyend()-(value-this._min)/(this._max-this._min)*this.grid.getheight();}else{result=this.grid.getx()+(value-this._min)/(this._max-this._min)*this.grid.getwidth();} return result;},getcoordsize:function(value){if(!this.ishorizontal()){return math.abs(value/(this._max-this._min)*this.grid.getheight());}else{return math.abs(value/(this._max-this._min)*this.grid.getwidth());}},getvaluefromcoord:function(coord){var result;if(!this.ishorizontal()){coord=coordthis.grid.getyend()?this.grid.getyend():coord;result=this._max-(coord-this.grid.gety())/this.grid.getheight()*(this._max-this._min);}else{coord=coordthis.grid.getxend()?this.grid.getxend():coord;result=this._min+(coord-this.grid.getx())/this.grid.getwidth()*(this._max-this._min);} if(this._datamappingmethods){result=this._datamappingmethods.coord2value(result);} return result.tofixed(2)-0;},ismaindaxis:function(value){for(var i=0,l=this._valuelist.length;i1?splitnumber:2;var curvalue;var totalgap;var formatter;var gapvalue;for(var i=0,l=_timegap.length;imax){max=[min,min=max][0];} var span=max-min;if(minlocked&&maxlocked){return bothlocked(min,max,section);} if(span<(section||5)){if(math_isint(min)&&math_isint(max)){return forinteger(min,max,section);}else if(span===0){return forspan0(min,max,section);}} return corecalc(min,max,section);} function makeresult(newmin,newmax,section,expon){expon=expon||0;var expstep=expnum((newmax-newmin)/section,-1);var expmin=expnum(newmin,-1,1);var expmax=expnum(newmax,-1);var minexp=mt.min(expstep.e,expmin.e,expmax.e);if(expmin.c===0){minexp=mt.min(expstep.e,expmax.e);}else if(expmax.c===0){minexp=mt.min(expstep.e,expmin.e);} expfixto(expstep,{c:0,e:minexp});expfixto(expmin,expstep,1);expfixto(expmax,expstep);expon+=minexp;newmin=expmin.c;newmax=expmax.c;var step=(newmax-newmin)/section;var zoom=math_pow(expon);var fixto=0;var points=[];for(var i=section+1;i--;){points[i]=(newmin+step*i)*zoom;} if(expon<0){fixto=decimals(zoom);step=+(step*zoom).tofixed(fixto);newmin=+(newmin*zoom).tofixed(fixto);newmax=+(newmax*zoom).tofixed(fixto);for(var i=points.length;i--;){points[i]=points[i].tofixed(fixto);+points[i]===0&&(points[i]='0');}}else{newmin*=zoom;newmax*=zoom;step*=zoom;} custsecs=0;custsteps=0;custopts=0;return{min:newmin,max:newmax,secs:section,step:step,fix:fixto,exp:expon,pnts:points};} function expnum(num,digit,byfloor){digit=math_round(digit%10)||2;if(digit<0){if(math_isint(num)){digit=(''+math_abs(num)).replace(/0+$/,'').length||1;}else{num=num.tofixed(15).replace(/0+$/,'');digit=num.replace('.','').replace(/^[-0]+/,'').length;num=+num;}} var expon=math_floor(math_log(num))-digit+1;var cnum=+(num*math_pow(-expon)).tofixed(15)||0;cnum=byfloor?math_floor(cnum):math_ceil(cnum);!cnum&&(expon=0);if((''+math_abs(cnum)).length>digit){expon+=1;cnum/=10;} return{c:cnum,e:expon};} function expfixto(expnum1,expnum2,byfloor){var deltaexp=expnum2.e-expnum1.e;if(deltaexp){expnum1.e+=deltaexp;expnum1.c*=math_pow(-deltaexp);expnum1.c=byfloor?math_floor(expnum1.c):math_ceil(expnum1.c);}} function expfixmin(expnum1,expnum2,byfloor){if(expnum1.erounds[i]){i++;} if(!rounds[i]){cnum/=10;num.e+=1;i=0;while(cnum>rounds[i]){i++;}} num.c=rounds[i];return num;} function corecalc(min,max,section){var step;var secs=section||+custsecs.slice(-1);var expstep=getceil((max-min)/secs,custsteps);var expspan=expnum(max-min);var expmin=expnum(min,-1,1);var expmax=expnum(max,-1);expfixto(expspan,expstep);expfixto(expmin,expstep,1);expfixto(expmax,expstep);if(!section){secs=look4sections(expmin,expmax);}else{step=look4step(expmin,expmax,secs);} if(math_isint(min)&&math_isint(max)&&min*max>=0){if(max-minexpmin.c){tmpstep=getceil(tmpstep+1,custsteps);tmpstep=tmpstep.c*math_pow(tmpstep.e);span=tmpstep*secs;tmpmax=math_ceil(expmax.c/tmpstep)*tmpstep;tmpmin=tmpmax-span;} var deltamin=expmin.c-tmpmin;var deltamax=tmpmax-expmax.c;var deltadelta=deltamin-deltamax;if(deltadelta>tmpstep*1.1){deltadelta=math_round(deltadelta/tmpstep/2)*tmpstep;tmpmin+=deltadelta;tmpmax+=deltadelta;} expmin.c=tmpmin;expmax.c=tmpmax;return tmpstep;} function tryforint(min,max,section,expmin,expmax,secs){var span=expmax.c-expmin.c;var step=span/secs*math_pow(expmax.e);if(!math_isint(step)){step=math_floor(step);span=step*secs;if(span=max-min){secs-=1;span=step*secs;}} if(span>=max-min){var delta=span-(max-min);expmin.c=math_round(min-delta/2);expmax.c=math_round(max+delta/2);expmin.e=0;expmax.e=0;}} return secs;} function forinteger(min,max,section){section=section||5;if(minlocked){max=min+section;}else if(maxlocked){min=max-section;}else{var delta=section-(max-min);var newmin=math_round(min-delta/2);var newmax=math_round(max+delta/2);var arrmm=cross0(min,max,newmin,newmax);min=arrmm[0];max=arrmm[1];} return makeresult(min,max,section);} function forspan0(min,max,section){section=section||5;var delta=mt.min(math_abs(max/section),section)/2.1;if(minlocked){max=min+delta;}else if(maxlocked){min=max-delta;}else{min=min-delta;max=max+delta;} return corecalc(min,max,section);} function cross0(min,max,newmin,newmax){if(min>=0&&newmin<0){newmax-=newmin;newmin=0;}else if(max<=0&&newmax>0){newmin-=newmax;newmax=0;} return[newmin,newmax];} function decimals(num){num=(+num).tofixed(15).split('.');return num.pop().replace(/0+$/,'').length;} function singlelocked(min,max,emin,emax){if(minlocked){var expmin=expnum(min,4,1);if(emin.e-expmin.e>6){expmin={c:0,e:emin.e};} expfixmin(emin,expmin);expfixmin(emax,expmin);emax.c+=expmin.c-emin.c;emin.c=expmin.c;}else if(maxlocked){var expmax=expnum(max,4);if(emax.e-expmax.e>6){expmax={c:0,e:emax.e};} expfixmin(emin,expmax);expfixmin(emax,expmax);emin.c+=expmax.c-emax.c;emax.c=expmax.c;}} function bothlocked(min,max,section){var trysecs=section?[section]:custsecs;var span=max-min;if(span===0){max=expnum(max,3);section=trysecs[0];max.c=math_round(max.c+section/2);return makeresult(max.c-section,max.c,section,max.e);} if(math_abs(max/span)<0.000001){max=0;} if(math_abs(min/span)<0.000001){min=0;} var step,deltaspan,score;var scores=[[5,10],[10,2],[50,10],[100,2]];var reference=[];var debuglog=[];var expspan=expnum(max-min,3);var expmin=expnum(min,-1,1);var expmax=expnum(max,-1);expfixto(expmin,expspan,1);expfixto(expmax,expspan);span=expmax.c-expmin.c;expspan.c=span;for(var i=trysecs.length;i--;){section=trysecs[i];step=math_ceil(span/section);deltaspan=step*section-span;score=(deltaspan+3)*3;score+=(section-trysecs[0]+2)*2;if(section%5===0){score-=10;} for(var j=scores.length;j--;){if(step%scores[j][0]===0){score/=scores[j][1];}} debuglog[i]=[section,step,deltaspan,score].join();reference[i]={secs:section,step:step,delta:deltaspan,score:score};} reference.sort(function(a,b){return a.score-b.score;});reference=reference[0];expmin.c=math_round(expmin.c-reference.delta/2);expmax.c=math_round(expmax.c+reference.delta/2);return makeresult(expmin.c,expmax.c,reference.secs,expspan.e);} return smartsteps;});define('echarts/util/smartlogsteps',['require','./number'],function(require){var number=require('./number');var mt=math;var mathlog=mt.log;var mathpow=mt.pow;var mathabs=mt.abs;var mathceil=mt.ceil;var mathfloor=mt.floor;var log_base=mt.e;var ln10=mt.ln10;var ln2=mt.ln2;var ln2d10=ln2/ln10;var epsilon=1e-9;var default_split_number=5;var min_base_10_split_number=2;var superscripts={'0':'⁰','1':'¹','2':'²','3':'³','4':'⁴','5':'⁵','6':'⁶','7':'⁷','8':'⁸','9':'⁹','-':'⁻'};var logpositive;var loglabelbase;var loglabelmode;var lnbase;var custopts;var splitnumber;var logmappingoffset;var absmin;var absmax;var ticklist;function smartlogsteps(opts){clearstaticvariables();custopts=opts||{};reformsetting();maketickslist();return[makeresult(),clearstaticvariables()][0];} function clearstaticvariables(){logpositive=custopts=logmappingoffset=lnbase=absmin=absmax=splitnumber=ticklist=loglabelbase=loglabelmode=null;} function reformsetting(){loglabelbase=custopts.loglabelbase;if(loglabelbase==null){loglabelmode='plain';loglabelbase=10;lnbase=ln10;}else{loglabelbase=+loglabelbase;if(loglabelbase<1){loglabelbase=10;} loglabelmode='exponent';lnbase=mathlog(loglabelbase);} splitnumber=custopts.splitnumber;splitnumber==null&&(splitnumber=default_split_number);var datamin=parsefloat(custopts.datamin);var datamax=parsefloat(custopts.datamax);if(!isfinite(datamin)&&!isfinite(datamax)){datamin=datamax=1;}else if(!isfinite(datamin)){datamin=datamax;}else if(!isfinite(datamax)){datamax=datamin;}else if(datamin>datamax){datamax=[datamin,datamin=datamax][0];} logpositive=custopts.logpositive;if(logpositive==null){logpositive=datamax>0||datamin===0;} absmin=logpositive?datamin:-datamax;absmax=logpositive?datamax:-datamin;absminmin_base_10_split_number)?baseanalysis():detailanalysis();} function baseanalysis(){if(spanexponenddecimal&&toh(maxdecimal-1)+tok(maxdecimal-1)*ln2d10>maxdatalog){maxdecimal--;} logmappingoffset=-(toh(mindecimal)*ln10+tok(mindecimal)*ln2);for(var i=mindecimal;i<=maxdecimal;i++){var h=toh(i);var k=tok(i);ticklist.push(mathpow(10,h)*mathpow(2,k));}} function todecimalfrom4hex(h,k){return h*3+k;} function tok(decimal){return decimal-toh(decimal)*3;} function toh(decimal){return mathfloor(fixaccurate(decimal/3));}} function makeresult(){var resultticklist=[];for(var i=0,len=ticklist.length;i-epsilon){x=-epsilon;} x=mathabs(x);return(mylogpositive?1:-1)*(mathlog(x)+mylogmappingoffset);},coord2value:function(x){if(x==null||isnan(x)||!isfinite(x)){return x;} x=parsefloat(x);if(!isfinite(x)){x=epsilon;} return mylogpositive?mathpow(log_base,x-mylogmappingoffset):-mathpow(log_base,-x+mylogmappingoffset);}};} function fixaccurate(result){return+number(+result).tofixed(14);} function formatnumber(num){return number(num).tofixed(15).replace(/\.?0*$/,'');} function makesuperscriptexponent(exponent){exponent=formatnumber(math.round(exponent));var result=[];for(var i=0,len=exponent.length;i-epsilon&&val