2016-06-02 16:08:25 +00:00
! function ( t , e ) { "object" == typeof exports && "object" == typeof module ? module . exports = e ( ) : "function" == typeof define && define . amd ? define ( [ ] , e ) : "object" == typeof exports ? exports . echarts = e ( ) : t . echarts = e ( ) } ( this , function ( ) { return function ( t ) { function e ( i ) { if ( n [ i ] ) return n [ i ] . exports ; var r = n [ i ] = { exports : { } , id : i , loaded : ! 1 } ; return t [ i ] . call ( r . exports , r , r . exports , e ) , r . loaded = ! 0 , r . exports } var n = { } ; return e . m = t , e . c = n , e . p = "" , e ( 0 ) } ( [ function ( t , e , n ) { t . exports = n ( 2 ) , n ( 85 ) , n ( 79 ) , n ( 90 ) , n ( 36 ) } , function ( t , e , n ) { function i ( t ) { if ( "object" == typeof t && null !== t ) { var e = t ; if ( t instanceof Array ) { e = [ ] ; for ( var n = 0 , r = t . length ; r > n ; n ++ ) e [ n ] = i ( t [ n ] ) } else if ( ! T ( t ) && ! A ( t ) ) { e = { } ; for ( var a in t ) t . hasOwnProperty ( a ) && ( e [ a ] = i ( t [ a ] ) ) } return e } return t } function r ( t , e , n ) { if ( ! S ( e ) || ! S ( t ) ) return n ? i ( e ) : t ; for ( var a in e ) if ( e . hasOwnProperty ( a ) ) { var o = t [ a ] , s = e [ a ] ; ! S ( s ) || ! S ( o ) || b ( s ) || b ( o ) || A ( s ) || A ( o ) || T ( s ) || T ( o ) ? ! n && a in t || ( t [ a ] = i ( e [ a ] , ! 0 ) ) : r ( o , s , n ) } return t } function a ( t , e ) { for ( var n = t [ 0 ] , i = 1 , a = t . length ; a > i ; i ++ ) n = r ( n , t [ i ] , e ) ; return n } function o ( t , e ) { for ( var n in e ) e . hasOwnProperty ( n ) && ( t [ n ] = e [ n ] ) ; return t } function s ( t , e , n ) { for ( var i in e ) e . hasOwnProperty ( i ) && ( n ? null != e [ i ] : null == t [ i ] ) && ( t [ i ] = e [ i ] ) ; return t } function l ( ) { return document . createElement ( "canvas" ) } function h ( ) { return k || ( k = V . createCanvas ( ) . getContext ( "2d" ) ) , k } function u ( t , e ) { if ( t ) { if ( t . indexOf ) return t . indexOf ( e ) ; for ( var n = 0 , i = t . length ; i > n ; n ++ ) if ( t [ n ] === e ) return n } return - 1 } function c ( t , e ) { function n ( ) { } var i = t . prototype ; n . prototype = e . prototype , t . prototype = new n ; for ( var r in i ) t . prototype [ r ] = i [ r ] ; t . prototype . constructor = t , t . superClass = e } function f ( t , e , n ) { t = "prototype" in t ? t . prototype : t , e = "prototype" in e ? e . prototype : e , s ( t , e , n ) } function d ( t ) { return t ? "string" == typeof t ? ! 1 : "number" == typeof t . length : void 0 } function p ( t , e , n ) { if ( t && e ) if ( t . forEach && t . forEach === E ) t . forEach ( e , n ) ; else if ( t . length === + t . length ) for ( var i = 0 , r = t . length ; r > i ; i ++ ) e . call ( n , t [ i ] , i , t ) ; else for ( var a in t ) t . hasOwnProperty ( a ) && e . call ( n , t [ a ] , a , t ) } function g ( t , e , n ) { if ( t && e ) { if ( t . map && t . map === N ) return t . map ( e , n ) ; for ( var i = [ ] , r = 0 , a = t . length ; a > r ; r ++ ) i . push ( e . call ( n , t [ r ] , r , t ) ) ; return i } } function v ( t , e , n , i ) { if ( t && e ) { if ( t . reduce && t . reduce === F ) return t . reduce ( e , n , i ) ; for ( var r = 0 , a = t . length ; a > r ; r ++ ) n = e . call ( i , n , t [ r ] , r , t ) ; return n } } function m ( t , e , n ) { if ( t && e ) { if ( t . filter && t . filter === B ) return t . filter ( e , n ) ; for ( var i = [ ] , r = 0 , a = t . length ; a > r ; r ++ ) e . call ( n , t [ r ] , r , t ) && i . push ( t [ r ] ) ; return i } } function y ( t , e , n ) { if ( t && e ) for ( var i = 0 , r = t . length ; r > i ; i ++ ) if ( e . call ( n , t [ i ] , i , t ) ) return t [ i ] } function x ( t , e ) { var n = R . call ( arguments , 2 ) ; return function ( ) { return t . apply ( e , n . concat ( R . call ( arguments ) ) ) } } function _ ( t ) { var e = R . call ( arguments , 1 ) ; return function ( ) { return t . apply ( this , e . concat ( R . call ( arguments ) ) ) } } function b ( t ) { return "[object Array]" === O . call ( t ) } function w ( t ) { return "function" == typeof t } function M ( t ) { return "[object String]" === O . call ( t ) } function S ( t ) { var e = typeof t ; return "function" === e || ! ! t && "object" == e } function T ( t ) { return ! ! D [ O . call ( t ) ] || t instanceof P } function A ( t ) { return t && 1 === t . nodeType && "string" == typeof t . nodeName } function C ( t ) { for ( var e = 0 , n = arguments . length ; n > e ; e ++ ) if ( null != arguments [ e ] ) return arguments [ e ] } function I ( ) { return Function . call . apply ( R , arguments ) } function L ( t , e ) { if ( ! t ) throw new Error ( e ) } var k , P = n ( 17 ) , D = { "[object Function]" : 1 , "[object RegExp]" : 1 , "[object Date]" : 1 , "[object Error]" : 1 , "[object CanvasGradient]" : 1 } , O = Object . prototype . toString , z = Array . prototype , E = z . forEach , B = z . filter , R = z . slice , N = z . map , F = z . reduce , V = { inherits : c , mixin : f , clone : i , merge : r , mergeAll : a , extend : o , defaults : s , getContext : h , createCanvas : l , indexOf : u , slice : I , find : y , isArrayLike : d , each : p , map : g , reduce : v , filter : m , bind : x , curry : _ , isArray : b , isString : M , isObject : S , isFunction : w , isBuildInObject : T , isDom : A , retrieve : C , assert : L , noop : function ( ) { } } ; t . exports = V } , function ( t , e , n ) { function i ( t ) { return function ( e , n , i ) { e = e && e . toLowerCase ( ) , L . prototype [ t ] . call ( this , e , n , i ) } } function r ( ) { L . call ( this ) } function a ( t , e , n ) { n = n || { } , "string" == typeof e && ( e = W [ e ] ) , e && k ( G , function ( t ) { t ( e ) } ) , this . id , this . group , this . _dom = t , this . _zr = T . init ( t , { renderer : n . renderer || "canvas" , devicePixelRatio : n . devicePixelRatio } ) , this . _theme = A . clone ( e ) , this . _chartsVi
2016-04-24 14:26:11 +00:00
* ECharts , a javascript interactive chart library .
*
* Copyright ( c ) 2015 , Baidu Inc .
* All rights reserved .
*
* LICENSE
* https : //github.com/ecomfe/echarts/blob/master/LICENSE.txt
* /
2016-06-02 16:08:25 +00:00
var v = n ( 111 ) , m = n ( 78 ) , y = n ( 23 ) , x = n ( 112 ) , _ = n ( 10 ) , b = n ( 13 ) , w = n ( 54 ) , M = n ( 26 ) , S = n ( 3 ) , T = n ( 68 ) , A = n ( 1 ) , C = n ( 22 ) , I = n ( 14 ) , L = n ( 21 ) , k = A . each , P = [ "echarts" , "chart" , "component" ] , D = [ "transform" , "filter" , "statistic" ] ; r . prototype . on = i ( "on" ) , r . prototype . off = i ( "off" ) , r . prototype . one = i ( "one" ) , A . mixin ( r , L ) ; var O = a . prototype ; O . getDom = function ( ) { return this . _dom } , O . getZr = function ( ) { return this . _zr } , O . setOption = function ( t , e , n ) { this . _model && ! e || ( this . _model = new v ( null , null , this . _theme , new x ( this . _api ) ) ) , this . _model . setOption ( t , G ) , z . prepareAndUpdate . call ( this ) , ! n && this . _zr . refreshImmediately ( ) } , O . setTheme = function ( ) { console . log ( "ECharts#setTheme() is DEPRECATED in ECharts 3.0" ) } , O . getModel = function ( ) { return this . _model } , O . getOption = function ( ) { return this . _model . getOption ( ) } , O . getWidth = function ( ) { return this . _zr . getWidth ( ) } , O . getHeight = function ( ) { return this . _zr . getHeight ( ) } , O . getRenderedCanvas = function ( t ) { if ( I . canvasSupported ) { t = t || { } , t . pixelRatio = t . pixelRatio || 1 , t . backgroundColor = t . backgroundColor || this . _model . get ( "backgroundColor" ) ; var e = this . _zr , n = e . storage . getDisplayList ( ) ; return A . each ( n , function ( t ) { t . stopAnimation ( ! 0 ) } ) , e . painter . getRenderedCanvas ( t ) } } , O . getDataURL = function ( t ) { t = t || { } ; var e = t . excludeComponents , n = this . _model , i = [ ] , r = this ; k ( e , function ( t ) { n . eachComponent ( { mainType : t } , function ( t ) { var e = r . _componentsMap [ t . _ _viewId ] ; e . group . ignore || ( i . push ( e ) , e . group . ignore = ! 0 ) } ) } ) ; var a = this . getRenderedCanvas ( t ) . toDataURL ( "image/" + ( t && t . type || "png" ) ) ; return k ( i , function ( t ) { t . group . ignore = ! 1 } ) , a } , O . getConnectedDataURL = function ( t ) { if ( I . canvasSupported ) { var e = this . group , n = Math . min , i = Math . max , r = 1 / 0 ; if ( j [ e ] ) { var a = r , o = r , s = - r , l = - r , h = [ ] , u = t && t . pixelRatio || 1 ; for ( var c in H ) { var f = H [ c ] ; if ( f . group === e ) { var d = f . getRenderedCanvas ( A . clone ( t ) ) , p = f . getDom ( ) . getBoundingClientRect ( ) ; a = n ( p . left , a ) , o = n ( p . top , o ) , s = i ( p . right , s ) , l = i ( p . bottom , l ) , h . push ( { dom : d , left : p . left , top : p . top } ) } } a *= u , o *= u , s *= u , l *= u ; var g = s - a , v = l - o , m = A . createCanvas ( ) ; m . width = g , m . height = v ; var y = T . init ( m ) ; return k ( h , function ( t ) { var e = new S . Image ( { style : { x : t . left * u - a , y : t . top * u - o , image : t . dom } } ) ; y . add ( e ) } ) , y . refreshImmediately ( ) , m . toDataURL ( "image/" + ( t && t . type || "png" ) ) } return this . getDataURL ( t ) } } ; var z = { update : function ( t ) { var e = this . _model , n = this . _api , i = this . _coordSysMgr ; if ( e ) { e . restoreData ( ) , i . create ( this . _model , this . _api ) , h . call ( this , e , n ) , u . call ( this , e ) , i . update ( e , n ) , c . call ( this , e , t ) , f . call ( this , e , t ) , d . call ( this , e , t ) ; var r = e . get ( "backgroundColor" ) || "transparent" , a = this . _zr . painter ; if ( a . isSingleCanvas && a . isSingleCanvas ( ) ) this . _zr . configLayer ( 0 , { clearColor : r } ) ; else { if ( ! I . canvasSupported ) { var o = C . parse ( r ) ; r = C . stringify ( o , "rgb" ) , 0 === o [ 3 ] && ( r = "transparent" ) } r = r , this . _dom . style . backgroundColor = r } } } , updateView : function ( t ) { var e = this . _model ; e && ( c . call ( this , e , t ) , f . call ( this , e , t ) , s . call ( this , "updateView" , e , t ) ) } , updateVisual : function ( t ) { var e = this . _model ; e && ( f . call ( this , e , t ) , s . call ( this , "updateVisual" , e , t ) ) } , updateLayout : function ( t ) { var e = this . _model ; e && ( c . call ( this , e , t ) , s . call ( this , "updateLayout" , e , t ) ) } , highlight : function ( t ) { o . call ( this , "highlight" , t ) } , downplay : function ( t ) { o . call ( this , "downplay" , t ) } , prepareAndUpdate : function ( t ) { var e = this . _model ; l . call ( this , "component" , e ) , l . call ( this , "chart" , e ) , z . update . call ( this , t ) } } ; O . resize = function ( ) { this . _zr . resize ( ) ; var t = this . _model && this . _model . resetOption ( "media" ) ; z [ t ? "prepareAndUpdate" : "update" ] . call ( this ) , this . _loadingFX && this . _loadingFX . resize ( ) } ; var E = n ( 110 ) ; O . showLoading = function ( t , e ) { A . isObject ( t ) && ( e = t , t = "default" ) , this . hideLoading ( ) ; var n = E ( this . _api , e ) , i = this . _zr ; this . _loadingFX = n , i . add ( n ) } , O . hideLoading = function ( ) { this . _loadingFX && this . _zr . remove ( this . _loadingFX ) , this . _loadingFX = null } , O . makeActionFromEvent = function ( t ) { var e = A . extend ( { } , t ) ; return e . type = N [ t . type ] , e } , O . dispatchAction = function ( t , e ) { var n = R [ t . type ] ; if ( n ) { var i = n . actionInfo , r = i . update || "update" , a = [ t ] , o = ! 1 ; t . batch && ( o = ! 0 , a = A . map ( t . batch , function ( e ) { return e = A . defaults ( A . extend ( { } , e ) , t ) , e . batch = null , e } ) ) ; for ( var s , l = [ ] , h = "highlight" === t . type || "downplay" === t . type , u = 0 ; u < a . length ; u ++ ) { var c = a [ u ] ; s = n . action ( c , this . _model ) , s = s || A . extend ( { } , c ) , s . type = i . event || s . type , l . push ( s ) , h && z [ r ] . call ( this , c ) } "none" !== r &&
} return i } var a = "undefined" , o = "undefined" == typeof window ? e : window , s = typeof o . Float64Array === a ? Array : o . Float64Array , l = typeof o . Int32Array === a ? Array : o . Int32Array , h = { "float" : s , "int" : l , ordinal : Array , number : Array , time : Array } , u = n ( 12 ) , c = n ( 48 ) , f = n ( 1 ) , d = n ( 7 ) , p = f . isObject , g = [ "stackedOn" , "_nameList" , "_idList" , "_rawData" ] , v = function ( t , e ) { f . each ( g . concat ( e . _ _wrappedMethods || [ ] ) , function ( n ) { e . hasOwnProperty ( n ) && ( t [ n ] = e [ n ] ) } ) , t . _ _wrappedMethods = e . _ _wrappedMethods } , m = function ( t , e ) { t = t || [ "x" , "y" ] ; for ( var n = { } , i = [ ] , r = 0 ; r < t . length ; r ++ ) { var a , o = { } ; "string" == typeof t [ r ] ? ( a = t [ r ] , o = { name : a , stackable : ! 1 , type : "number" } ) : ( o = t [ r ] , a = o . name , o . type = o . type || "number" ) , i . push ( a ) , n [ a ] = o } this . dimensions = i , this . _dimensionInfos = n , this . hostModel = e , this . dataType , this . indices = [ ] , this . _storage = { } , this . _nameList = [ ] , this . _idList = [ ] , this . _optionModels = [ ] , this . stackedOn = null , this . _visual = { } , this . _layout = { } , this . _itemVisuals = [ ] , this . _itemLayouts = [ ] , this . _graphicEls = [ ] , this . _rawData , this . _extent } , y = m . prototype ; y . type = "list" , y . getDimension = function ( t ) { return isNaN ( t ) || ( t = this . dimensions [ t ] || t ) , t } , y . getDimensionInfo = function ( t ) { return f . clone ( this . _dimensionInfos [ this . getDimension ( t ) ] ) } , y . initData = function ( t , e , n ) { if ( t = t || [ ] , ! f . isArray ( t ) ) throw new Error ( "Invalid data." ) ; this . _rawData = t ; var i = this . _storage = { } , r = this . indices = [ ] , a = this . dimensions , o = t . length , s = this . _dimensionInfos , l = [ ] , u = { } ; e = e || [ ] ; for ( var c = 0 ; c < a . length ; c ++ ) { var p = s [ a [ c ] ] , g = h [ p . type ] ; i [ a [ c ] ] = new g ( o ) } n = n || function ( t , e , n , i ) { var r = d . getDataItemValue ( t ) ; return d . converDataValue ( f . isArray ( r ) ? r [ i ] : r , s [ e ] ) } ; for ( var v = 0 ; v < t . length ; v ++ ) { for ( var m = t [ v ] , y = 0 ; y < a . length ; y ++ ) { var x = a [ y ] , _ = i [ x ] ; _ [ v ] = n ( m , x , v , y ) } r . push ( v ) } for ( var c = 0 ; c < t . length ; c ++ ) { var b = "" ; e [ c ] || ( e [ c ] = t [ c ] . name , b = t [ c ] . id ) ; var w = e [ c ] || "" ; ! b && w && ( u [ w ] = u [ w ] || 0 , b = w , u [ w ] > 0 && ( b += "__ec__" + u [ w ] ) , u [ w ] ++ ) , b && ( l [ c ] = b ) } this . _nameList = e , this . _idList = l } , y . count = function ( ) { return this . indices . length } , y . get = function ( t , e , n ) { var i = this . _storage , r = this . indices [ e ] ; if ( null == r ) return NaN ; var a = i [ t ] && i [ t ] [ r ] ; if ( n ) { var o = this . _dimensionInfos [ t ] ; if ( o && o . stackable ) for ( var s = this . stackedOn ; s ; ) { var l = s . get ( t , e ) ; ( a >= 0 && l > 0 || 0 >= a && 0 > l ) && ( a += l ) , s = s . stackedOn } } return a } , y . getValues = function ( t , e , n ) { var i = [ ] ; f . isArray ( t ) || ( n = e , e = t , t = this . dimensions ) ; for ( var r = 0 , a = t . length ; a > r ; r ++ ) i . push ( this . get ( t [ r ] , e , n ) ) ; return i } , y . hasValue = function ( t ) { for ( var e = this . dimensions , n = this . _dimensionInfos , i = 0 , r = e . length ; r > i ; i ++ ) if ( "ordinal" !== n [ e [ i ] ] . type && isNaN ( this . get ( e [ i ] , t ) ) ) return ! 1 ; return ! 0 } , y . getDataExtent = function ( t , e ) { var n = this . _storage [ t ] , i = this . getDimensionInfo ( t ) ; e = i && i . stackable && e ; var r , a = ( this . _extent || ( this . _extent = { } ) ) [ t + ! ! e ] ; if ( a ) return a ; if ( n ) { for ( var o = 1 / 0 , s = - ( 1 / 0 ) , l = 0 , h = this . count ( ) ; h > l ; l ++ ) r = this . get ( t , l , e ) , o > r && ( o = r ) , r > s && ( s = r ) ; return this . _extent [ t + e ] = [ o , s ] } return [ 1 / 0 , - ( 1 / 0 ) ] } , y . getSum = function ( t , e ) { var n = this . _storage [ t ] , i = 0 ; if ( n ) for ( var r = 0 , a = this . count ( ) ; a > r ; r ++ ) { var o = this . get ( t , r , e ) ; isNaN ( o ) || ( i += o ) } return i } , y . indexOf = function ( t , e ) { var n = this . _storage , i = n [ t ] , r = this . indices ; if ( i ) for ( var a = 0 , o = r . length ; o > a ; a ++ ) { var s = r [ a ] ; if ( i [ s ] === e ) return a } return - 1 } , y . indexOfName = function ( t ) { for ( var e = this . indices , n = this . _nameList , i = 0 , r = e . length ; r > i ; i ++ ) { var a = e [ i ] ; if ( n [ a ] === t ) return i } return - 1 } , y . indexOfNearest = function ( t , e , n ) { var i = this . _storage , r = i [ t ] ; if ( r ) { for ( var a = Number . MAX _VALUE , o = - 1 , s = 0 , l = this . count ( ) ; l > s ; s ++ ) { var h = e - this . get ( t , s , n ) , u = Math . abs ( h ) ; ( a > u || u === a && h > 0 ) && ( a = u , o = s ) } return o } return - 1 } , y . getRawIndex = function ( t ) { var e = this . indices [ t ] ; return null == e ? - 1 : e } , y . getRawDataItem = function ( t ) { return this . _rawData [ this . getRawIndex ( t ) ] } , y . getName = function ( t ) { return this . _nameList [ this . indices [ t ] ] || "" } , y . getId = function ( t ) { return this . _idList [ this . indices [ t ] ] || this . getRawIndex ( t ) + "" } , y . each = function ( t , e , n , r ) { "function" == typeof t && ( r = n , n = e , e = t , t = [ ] ) , t = f . map ( i ( t ) , this . getDimension , this ) ; var a = [ ] , o = t . length , s = this . indices ; r = r || this ; for ( var l = 0 ; l < s . length ; l ++ ) if ( 0 === o ) e . call ( r , l ) ; else if ( 1 === o ) e . call ( r , this . get ( t [ 0 ] , l , n ) , l ) ; else { for ( var h = 0 ; o > h ; h ++ ) a [ h ] = this . get ( t [ h ] , l , n ) ; a [ h ] = l , e . apply ( r , a ) } } , y . filterSelf = function ( t , e , n , r ) { "function" == typeof t && ( r = n , n = e , e = t , t = [ ] ) , t = f . map ( i ( t ) , this . getDim
this . _ctx = null , this . _xi = 0 , this . _yi = 0 , this . _x0 = 0 , this . _y0 = 0 , this . _ux = 0 , this . _uy = 0 } ; _ . prototype = { constructor : _ , _lineDash : null , _dashOffset : 0 , _dashIdx : 0 , _dashSum : 0 , setScale : function ( t , e ) { this . _ux = y ( 1 / s / t ) || 0 , this . _uy = y ( 1 / s / e ) || 0 } , getContext : function ( ) { return this . _ctx } , beginPath : function ( t ) { return this . _ctx = t , t && t . beginPath ( ) , this . _len = 0 , this . _lineDash && ( this . _lineDash = null , this . _dashOffset = 0 ) , this } , moveTo : function ( t , e ) { return this . addData ( l . M , t , e ) , this . _ctx && this . _ctx . moveTo ( t , e ) , this . _x0 = t , this . _y0 = e , this . _xi = t , this . _yi = e , this } , lineTo : function ( t , e ) { var n = y ( t - this . _xi ) > this . _ux || y ( e - this . _yi ) > this . _uy || 0 === this . _len ; return this . addData ( l . L , t , e ) , this . _ctx && n && ( this . _needsDash ( ) ? this . _dashedLineTo ( t , e ) : this . _ctx . lineTo ( t , e ) ) , n && ( this . _xi = t , this . _yi = e ) , this } , bezierCurveTo : function ( t , e , n , i , r , a ) { return this . addData ( l . C , t , e , n , i , r , a ) , this . _ctx && ( this . _needsDash ( ) ? this . _dashedBezierTo ( t , e , n , i , r , a ) : this . _ctx . bezierCurveTo ( t , e , n , i , r , a ) ) , this . _xi = r , this . _yi = a , this } , quadraticCurveTo : function ( t , e , n , i ) { return this . addData ( l . Q , t , e , n , i ) , this . _ctx && ( this . _needsDash ( ) ? this . _dashedQuadraticTo ( t , e , n , i ) : this . _ctx . quadraticCurveTo ( t , e , n , i ) ) , this . _xi = n , this . _yi = i , this } , arc : function ( t , e , n , i , r , a ) { return this . addData ( l . A , t , e , n , n , i , r - i , 0 , a ? 0 : 1 ) , this . _ctx && this . _ctx . arc ( t , e , n , i , r , a ) , this . _xi = g ( r ) * n + t , this . _xi = v ( r ) * n + t , this } , arcTo : function ( t , e , n , i , r ) { return this . _ctx && this . _ctx . arcTo ( t , e , n , i , r ) , this } , rect : function ( t , e , n , i ) { return this . _ctx && this . _ctx . rect ( t , e , n , i ) , this . addData ( l . R , t , e , n , i ) , this } , closePath : function ( ) { this . addData ( l . Z ) ; var t = this . _ctx , e = this . _x0 , n = this . _y0 ; return t && ( this . _needsDash ( ) && this . _dashedLineTo ( e , n ) , t . closePath ( ) ) , this . _xi = e , this . _yi = n , this } , fill : function ( t ) { t && t . fill ( ) , this . toStatic ( ) } , stroke : function ( t ) { t && t . stroke ( ) , this . toStatic ( ) } , setLineDash : function ( t ) { if ( t instanceof Array ) { this . _lineDash = t , this . _dashIdx = 0 ; for ( var e = 0 , n = 0 ; n < t . length ; n ++ ) e += t [ n ] ; this . _dashSum = e } return this } , setLineDashOffset : function ( t ) { return this . _dashOffset = t , this } , len : function ( ) { return this . _len } , setData : function ( t ) { var e = t . length ; this . data && this . data . length == e || ! x || ( this . data = new Float32Array ( e ) ) ; for ( var n = 0 ; e > n ; n ++ ) this . data [ n ] = t [ n ] ; this . _len = e } , appendPath : function ( t ) { t instanceof Array || ( t = [ t ] ) ; for ( var e = t . length , n = 0 , i = this . _len , r = 0 ; e > r ; r ++ ) n += t [ r ] . len ( ) ; x && this . data instanceof Float32Array && ( this . data = new Float32Array ( i + n ) ) ; for ( var r = 0 ; e > r ; r ++ ) for ( var a = t [ r ] . data , o = 0 ; o < a . length ; o ++ ) this . data [ i ++ ] = a [ o ] ; this . _len = i } , addData : function ( t ) { var e = this . data ; this . _len + arguments . length > e . length && ( this . _expandData ( ) , e = this . data ) ; for ( var n = 0 ; n < arguments . length ; n ++ ) e [ this . _len ++ ] = arguments [ n ] ; this . _prevCmd = t } , _expandData : function ( ) { if ( ! ( this . data instanceof Array ) ) { for ( var t = [ ] , e = 0 ; e < this . _len ; e ++ ) t [ e ] = this . data [ e ] ; this . data = t } } , _needsDash : function ( ) { return this . _lineDash } , _dashedLineTo : function ( t , e ) { var n , i , r = this . _dashSum , a = this . _dashOffset , o = this . _lineDash , s = this . _ctx , l = this . _xi , h = this . _yi , u = t - l , c = e - h , f = m ( u * u + c * c ) , g = l , v = h , y = o . length ; for ( u /= f , c /= f , 0 > a && ( a = r + a ) , a %= r , g -= a * u , v -= a * c ; u >= 0 && t >= g || 0 > u && g > t ; ) i = this . _dashIdx , n = o [ i ] , g += u * n , v += c * n , this . _dashIdx = ( i + 1 ) % y , u > 0 && l > g || 0 > u && g > l || s [ i % 2 ? "moveTo" : "lineTo" ] ( u >= 0 ? d ( g , t ) : p ( g , t ) , c >= 0 ? d ( v , e ) : p ( v , e ) ) ; u = g - t , c = v - e , this . _dashOffset = - m ( u * u + c * c ) } , _dashedBezierTo : function ( t , e , n , r , a , o ) { var s , l , h , u , c , f = this . _dashSum , d = this . _dashOffset , p = this . _lineDash , g = this . _ctx , v = this . _xi , y = this . _yi , x = i . cubicAt , _ = 0 , b = this . _dashIdx , w = p . length , M = 0 ; for ( 0 > d && ( d = f + d ) , d %= f , s = 0 ; 1 > s ; s += . 1 ) l = x ( v , t , n , a , s + . 1 ) - x ( v , t , n , a , s ) , h = x ( y , e , r , o , s + . 1 ) - x ( y , e , r , o , s ) , _ += m ( l * l + h * h ) ; for ( ; w > b && ( M += p [ b ] , ! ( M > d ) ) ; b ++ ) ; for ( s = ( M - d ) / _ ; 1 >= s ; ) u = x ( v , t , n , a , s ) , c = x ( y , e , r , o , s ) , b % 2 ? g . moveTo ( u , c ) : g . lineTo ( u , c ) , s += p [ b ] / _ , b = ( b + 1 ) % w ; b % 2 !== 0 && g . lineTo ( a , o ) , l = a - u , h = o - c , this . _dashOffset = - m ( l * l + h * h ) } , _dashedQuadraticTo : function ( t , e , n , i ) { var r = n , a = i ; n = ( n + 2 * t ) / 3 , i = ( i + 2 * e ) / 3 , t = ( this . _xi + 2 * t ) / 3 , e = ( this . _yi + 2 * e ) / 3 , this . _dashedBezierTo ( t , e , n , i , r , a ) } , toStatic : function ( ) { var t = this . data ; t instanceof Array && ( t . length = this . _len , x && ( this . data = new Float32Array ( t ) ) ) } , getBoundingRect : function ( ) { h [ 0 ] = h [ 1 ] = c [ 0 ] = c [ 1 ] = Number . MAX _VALUE , u [ 0 ] = u [ 1 ] = f [ 0 ] = f [ 1 ] = - Number . MAX _VALUE ; for ( var t = this . data , e = 0 , n = 0 , i = 0 , s =
var i = e . get ( "xAxisIndex" ) , r = t . getComponent ( "xAxis" , i ) , a = n [ r . get ( "gridIndex" ) ] ; e . coordinateSystem = a . getCartesian ( i , e . get ( "yAxisIndex" ) ) } } ) , n } , a . dimensions = u . prototype . dimensions , n ( 23 ) . register ( "cartesian2d" , a ) , t . exports = a } , function ( t , e ) { t . exports = function ( t , e , n ) { e . eachSeriesByType ( t , function ( t ) { var e = t . getData ( ) , n = t . coordinateSystem ; if ( n ) { var i = n . dimensions ; e . each ( i , function ( t , i , r ) { var a ; a = isNaN ( t ) || isNaN ( i ) ? [ NaN , NaN ] : n . dataToPoint ( [ t , i ] ) , e . setItemLayout ( r , a ) } , ! 0 ) } } ) } } , function ( t , e , n ) { var i = n ( 27 ) , r = n ( 42 ) , a = n ( 20 ) , o = function ( ) { this . group = new i , this . uid = r . getUID ( "viewComponent" ) } ; o . prototype = { constructor : o , init : function ( t , e ) { } , render : function ( t , e , n , i ) { } , dispose : function ( ) { } } ; var s = o . prototype ; s . updateView = s . updateLayout = s . updateVisual = function ( t , e , n , i ) { } , a . enableClassExtend ( o ) , a . enableClassManagement ( o , { registerWhenExtend : ! 0 } ) , t . exports = o } , function ( t , e , n ) { "use strict" ; var i = n ( 58 ) , r = n ( 21 ) , a = n ( 77 ) , o = n ( 154 ) , s = n ( 1 ) , l = function ( t ) { a . call ( this , t ) , r . call ( this , t ) , o . call ( this , t ) , this . id = t . id || i ( ) } ; l . prototype = { type : "element" , name : "" , _ _zr : null , ignore : ! 1 , clipPath : null , drift : function ( t , e ) { switch ( this . draggable ) { case "horizontal" : e = 0 ; break ; case "vertical" : t = 0 } var n = this . transform ; n || ( n = this . transform = [ 1 , 0 , 0 , 1 , 0 , 0 ] ) , n [ 4 ] += t , n [ 5 ] += e , this . decomposeTransform ( ) , this . dirty ( ) } , beforeUpdate : function ( ) { } , afterUpdate : function ( ) { } , update : function ( ) { this . updateTransform ( ) } , traverse : function ( t , e ) { } , attrKV : function ( t , e ) { if ( "position" === t || "scale" === t || "origin" === t ) { if ( e ) { var n = this [ t ] ; n || ( n = this [ t ] = [ ] ) , n [ 0 ] = e [ 0 ] , n [ 1 ] = e [ 1 ] } } else this [ t ] = e } , hide : function ( ) { this . ignore = ! 0 , this . _ _zr && this . _ _zr . refresh ( ) } , show : function ( ) { this . ignore = ! 1 , this . _ _zr && this . _ _zr . refresh ( ) } , attr : function ( t , e ) { if ( "string" == typeof t ) this . attrKV ( t , e ) ; else if ( s . isObject ( t ) ) for ( var n in t ) t . hasOwnProperty ( n ) && this . attrKV ( n , t [ n ] ) ; return this . dirty ( ) , this } , setClipPath : function ( t ) { var e = this . _ _zr ; e && t . addSelfToZr ( e ) , this . clipPath && this . clipPath !== t && this . removeClipPath ( ) , this . clipPath = t , t . _ _zr = e , t . _ _clipTarget = this , this . dirty ( ) } , removeClipPath : function ( ) { var t = this . clipPath ; t && ( t . _ _zr && t . removeSelfFromZr ( t . _ _zr ) , t . _ _zr = null , t . _ _clipTarget = null , this . clipPath = null , this . dirty ( ) ) } , addSelfToZr : function ( t ) { this . _ _zr = t ; var e = this . animators ; if ( e ) for ( var n = 0 ; n < e . length ; n ++ ) t . animation . addAnimator ( e [ n ] ) ; this . clipPath && this . clipPath . addSelfToZr ( t ) } , removeSelfFromZr : function ( t ) { this . _ _zr = null ; var e = this . animators ; if ( e ) for ( var n = 0 ; n < e . length ; n ++ ) t . animation . removeAnimator ( e [ n ] ) ; this . clipPath && this . clipPath . removeSelfFromZr ( t ) } } , s . mixin ( l , o ) , s . mixin ( l , a ) , s . mixin ( l , r ) , t . exports = l } , function ( t , e , n ) { function i ( t , e ) { return t [ e ] } function r ( t , e , n ) { t [ e ] = n } function a ( t , e , n ) { return ( e - t ) * n + t } function o ( t , e , n ) { return n > . 5 ? e : t } function s ( t , e , n , i , r ) { var o = t . length ; if ( 1 == r ) for ( var s = 0 ; o > s ; s ++ ) i [ s ] = a ( t [ s ] , e [ s ] , n ) ; else for ( var l = t [ 0 ] . length , s = 0 ; o > s ; s ++ ) for ( var h = 0 ; l > h ; h ++ ) i [ s ] [ h ] = a ( t [ s ] [ h ] , e [ s ] [ h ] , n ) } function l ( t , e , n ) { var i = t . length , r = e . length ; if ( i !== r ) { var a = i > r ; if ( a ) t . length = r ; else for ( var o = i ; r > o ; o ++ ) t . push ( 1 === n ? e [ o ] : x . call ( e [ o ] ) ) } for ( var s = t [ 0 ] && t [ 0 ] . length , o = 0 ; o < t . length ; o ++ ) if ( 1 === n ) isNaN ( t [ o ] ) && ( t [ o ] = e [ o ] ) ; else for ( var l = 0 ; s > l ; l ++ ) isNaN ( t [ o ] [ l ] ) && ( t [ o ] [ l ] = e [ o ] [ l ] ) } function h ( t , e , n ) { if ( t === e ) return ! 0 ; var i = t . length ; if ( i !== e . length ) return ! 1 ; if ( 1 === n ) { for ( var r = 0 ; i > r ; r ++ ) if ( t [ r ] !== e [ r ] ) return ! 1 } else for ( var a = t [ 0 ] . length , r = 0 ; i > r ; r ++ ) for ( var o = 0 ; a > o ; o ++ ) if ( t [ r ] [ o ] !== e [ r ] [ o ] ) return ! 1 ; return ! 0 } function u ( t , e , n , i , r , a , o , s , l ) { var h = t . length ; if ( 1 == l ) for ( var u = 0 ; h > u ; u ++ ) s [ u ] = c ( t [ u ] , e [ u ] , n [ u ] , i [ u ] , r , a , o ) ; else for ( var f = t [ 0 ] . length , u = 0 ; h > u ; u ++ ) for ( var d = 0 ; f > d ; d ++ ) s [ u ] [ d ] = c ( t [ u ] [ d ] , e [ u ] [ d ] , n [ u ] [ d ] , i [ u ] [ d ] , r , a , o ) } function c ( t , e , n , i , r , a , o ) { var s = . 5 * ( n - t ) , l = . 5 * ( i - e ) ; return ( 2 * ( e - n ) + s + l ) * o + ( - 3 * ( e - n ) - 2 * s - l ) * a + s * r + e } function f ( t ) { if ( y ( t ) ) { var e = t . length ; if ( y ( t [ 0 ] ) ) { for ( var n = [ ] , i = 0 ; e > i ; i ++ ) n . push ( x . call ( t [ i ] ) ) ; return n } return x . call ( t ) } return t } function d ( t ) { return t [ 0 ] = Math . floor ( t [ 0 ] ) , t [ 1 ] = Math . floor ( t [ 1 ] ) , t [ 2 ] = Math . floor ( t [ 2 ] ) , "rgba(" + t . join ( "," ) + ")" } function p ( t , e , n , i , r ) { var f = t . _getter , p = t . _setter , m = "spline" === e , x = i . length ; if ( x ) { var _ , b = i [ 0 ] . value , w = y ( b ) , M = ! 1 , S = ! 1 , T = w && y ( b [ 0 ] ) ? 2 : 1 ; i . sort ( function ( t , e ) { return t . time - e . time } ) , _ = i
2016-04-24 14:26:11 +00:00
* ZRender , a high performance 2 d drawing library .
*
* Copyright ( c ) 2013 , Baidu Inc .
* All rights reserved .
*
* LICENSE
* https : //github.com/ecomfe/zrender/blob/master/LICENSE.txt
* /
2016-06-02 16:08:25 +00:00
var r = n ( 58 ) , a = n ( 14 ) , o = n ( 126 ) , s = n ( 129 ) , l = n ( 130 ) , h = ! a . canvasSupported , u = { canvas : n ( 128 ) } , c = { } , f = { } ; f . version = "3.1.0" , f . init = function ( t , e ) { var n = new d ( r ( ) , t , e ) ; return c [ n . id ] = n , n } , f . dispose = function ( t ) { if ( t ) t . dispose ( ) ; else { for ( var e in c ) c [ e ] . dispose ( ) ; c = { } } return f } , f . getInstance = function ( t ) { return c [ t ] } , f . registerPainter = function ( t , e ) { u [ t ] = e } ; var d = function ( t , e , n ) { n = n || { } , this . dom = e , this . id = t ; var i = this , r = new s , c = n . renderer ; if ( h ) { if ( ! u . vml ) throw new Error ( "You need to require 'zrender/vml/vml' to support IE8" ) ; c = "vml" } else c && u [ c ] || ( c = "canvas" ) ; var f = new u [ c ] ( e , r , n ) ; this . storage = r , this . painter = f , a . node || ( this . handler = new o ( f . getViewportRoot ( ) , r , f ) ) , this . animation = new l ( { stage : { update : function ( ) { i . _needsRefresh && i . refreshImmediately ( ) } } } ) , this . animation . start ( ) , this . _needsRefresh ; var d = r . delFromMap , p = r . addToMap ; r . delFromMap = function ( t ) { var e = r . get ( t ) ; d . call ( r , t ) , e && e . removeSelfFromZr ( i ) } , r . addToMap = function ( t ) { p . call ( r , t ) , t . addSelfToZr ( i ) } } ; d . prototype = { constructor : d , getId : function ( ) { return this . id } , add : function ( t ) { this . storage . addRoot ( t ) , this . _needsRefresh = ! 0 } , remove : function ( t ) { this . storage . delRoot ( t ) , this . _needsRefresh = ! 0 } , configLayer : function ( t , e ) { this . painter . configLayer ( t , e ) , this . _needsRefresh = ! 0 } , refreshImmediately : function ( ) { this . _needsRefresh = ! 1 , this . painter . refresh ( ) , this . _needsRefresh = ! 1 } , refresh : function ( ) { this . _needsRefresh = ! 0 } , resize : function ( ) { this . painter . resize ( ) , this . handler && this . handler . resize ( ) } , clearAnimation : function ( ) { this . animation . clear ( ) } , getWidth : function ( ) { return this . painter . getWidth ( ) } , getHeight : function ( ) { return this . painter . getHeight ( ) } , pathToImage : function ( t , e , n ) { var i = r ( ) ; return this . painter . pathToImage ( i , t , e , n ) } , setDefaultCursorStyle : function ( t ) { this . handler . setDefaultCursorStyle ( t ) } , on : function ( t , e , n ) { this . handler && this . handler . on ( t , e , n ) } , off : function ( t , e ) { this . handler && this . handler . off ( t , e ) } , trigger : function ( t , e ) { this . handler && this . handler . trigger ( t , e ) } , clear : function ( ) { this . storage . delRoot ( ) , this . painter . clear ( ) } , dispose : function ( ) { this . animation . stop ( ) , this . clear ( ) , this . storage . dispose ( ) , this . painter . dispose ( ) , this . handler && this . handler . dispose ( ) , this . animation = this . storage = this . painter = this . handler = null , i ( this . id ) } } , t . exports = f } , function ( t , e , n ) { var i = n ( 2 ) , r = n ( 1 ) ; t . exports = function ( t , e ) { r . each ( e , function ( e ) { e . update = "updateView" , i . registerAction ( e , function ( n , i ) { var r = { } ; return i . eachComponent ( { mainType : "series" , subType : t , query : n } , function ( t ) { t [ e . method ] && t [ e . method ] ( n . name ) ; var i = t . getData ( ) ; i . each ( function ( e ) { var n = i . getName ( e ) ; r [ n ] = t . isSelected ( n ) || ! 1 } ) } ) , { name : n . name , selected : r } } ) } ) } } , , , function ( t , e , n ) { var i = n ( 1 ) , r = { show : ! 0 , zlevel : 0 , z : 0 , inverse : ! 1 , name : "" , nameLocation : "end" , nameTextStyle : { } , nameGap : 15 , silent : ! 0 , axisLine : { show : ! 0 , onZero : ! 0 , lineStyle : { color : "#333" , width : 1 , type : "solid" } } , axisTick : { show : ! 0 , inside : ! 1 , length : 5 , lineStyle : { color : "#333" , width : 1 } } , axisLabel : { show : ! 0 , inside : ! 1 , rotate : 0 , margin : 8 , textStyle : { color : "#333" , fontSize : 12 } } , splitLine : { show : ! 0 , lineStyle : { color : [ "#ccc" ] , width : 1 , type : "solid" } } , splitArea : { show : ! 1 , areaStyle : { color : [ "rgba(250,250,250,0.3)" , "rgba(200,200,200,0.3)" ] } } } , a = i . merge ( { boundaryGap : ! 0 , axisTick : { interval : "auto" } , axisLabel : { interval : "auto" } } , r ) , o = i . defaults ( { boundaryGap : [ 0 , 0 ] , splitNumber : 5 } , r ) , s = i . defaults ( { scale : ! 0 , min : "dataMin" , max : "dataMax" } , o ) , l = i . defaults ( { } , o ) ; l . scale = ! 0 , t . exports = { categoryAxis : a , valueAxis : o , timeAxis : s , logAxis : l } } , , function ( t , e , n ) { var i = n ( 17 ) ; t . exports = function ( t , e , n ) { function r ( t ) { var r = [ e , "normal" , "color" ] , a = n . get ( "color" ) , o = t . getData ( ) , s = t . get ( r ) || a [ t . seriesIndex % a . length ] ; o . setVisual ( "color" , s ) , n . isSeriesFiltered ( t ) || ( "function" != typeof s || s instanceof i || o . each ( function ( e ) { o . setItemVisual ( e , "color" , s ( t . getDataParams ( e ) ) ) } ) , o . each ( function ( t ) { var e = o . getItemModel ( t ) , n = e . get ( r , ! 0 ) ; null != n && o . setItemVisual ( t , "color" , n ) } ) ) } t ? n . eachSeriesByType ( t , r ) : n . eachSeries ( r ) } } , function ( t , e ) { t . exports = function ( t , e , n , i , r , a ) { if ( a > e && a > i || e > a && i > a ) return 0 ; if ( i === e ) return 0 ; var o = e > i ? 1 : - 1 , s = ( a - e ) / ( i - e ) , l = s * ( n - t ) + t ; return l > r ? o : 0 } } , function ( t , e , n ) { "use strict" ; var i = n ( 1 ) , r = n ( 17 ) , a = function ( t , e , n , i , a ) { this . x = null == t ? 0 : t , this . y = null == e ? 0 : e , thi
this . _axes = { } , this . _dimList = [ ] , this . name = t || "" } ; a . prototype = { constructor : a , type : "cartesian" , getAxis : function ( t ) { return this . _axes [ t ] } , getAxes : function ( ) { return r . map ( this . _dimList , i , this ) } , getAxesByScale : function ( t ) { return t = t . toLowerCase ( ) , r . filter ( this . getAxes ( ) , function ( e ) { return e . scale . type === t } ) } , addAxis : function ( t ) { var e = t . dim ; this . _axes [ e ] = t , this . _dimList . push ( e ) } , dataToCoord : function ( t ) { return this . _dataCoordConvert ( t , "dataToCoord" ) } , coordToData : function ( t ) { return this . _dataCoordConvert ( t , "coordToData" ) } , _dataCoordConvert : function ( t , e ) { for ( var n = this . _dimList , i = t instanceof Array ? [ ] : { } , r = 0 ; r < n . length ; r ++ ) { var a = n [ r ] , o = this . _axes [ a ] ; i [ a ] = o [ e ] ( t [ a ] ) } return i } } , t . exports = a } , function ( t , e , n ) { "use strict" ; function i ( t ) { a . call ( this , t ) } var r = n ( 1 ) , a = n ( 105 ) ; i . prototype = { constructor : i , type : "cartesian2d" , dimensions : [ "x" , "y" ] , getBaseAxis : function ( ) { return this . getAxesByScale ( "ordinal" ) [ 0 ] || this . getAxesByScale ( "time" ) [ 0 ] || this . getAxis ( "x" ) } , containPoint : function ( t ) { var e = this . getAxis ( "x" ) , n = this . getAxis ( "y" ) ; return e . contain ( e . toLocalCoord ( t [ 0 ] ) ) && n . contain ( n . toLocalCoord ( t [ 1 ] ) ) } , containData : function ( t ) { return this . getAxis ( "x" ) . containData ( t [ 0 ] ) && this . getAxis ( "y" ) . containData ( t [ 1 ] ) } , dataToPoints : function ( t , e ) { return t . mapArray ( [ "x" , "y" ] , function ( t , e ) { return this . dataToPoint ( [ t , e ] ) } , e , this ) } , dataToPoint : function ( t , e ) { var n = this . getAxis ( "x" ) , i = this . getAxis ( "y" ) ; return [ n . toGlobalCoord ( n . dataToCoord ( t [ 0 ] , e ) ) , i . toGlobalCoord ( i . dataToCoord ( t [ 1 ] , e ) ) ] } , pointToData : function ( t , e ) { var n = this . getAxis ( "x" ) , i = this . getAxis ( "y" ) ; return [ n . coordToData ( n . toLocalCoord ( t [ 0 ] ) , e ) , i . coordToData ( i . toLocalCoord ( t [ 1 ] ) , e ) ] } , getOtherAxis : function ( t ) { return this . getAxis ( "x" === t . dim ? "y" : "x" ) } } , r . inherits ( i , a ) , t . exports = i } , function ( t , e , n ) { "use strict" ; n ( 51 ) ; var i = n ( 10 ) ; t . exports = i . extend ( { type : "grid" , dependencies : [ "xAxis" , "yAxis" ] , layoutMode : "box" , coordinateSystem : null , defaultOption : { show : ! 1 , zlevel : 0 , z : 0 , left : "10%" , top : 60 , right : "10%" , bottom : 60 , containLabel : ! 1 , backgroundColor : "rgba(0,0,0,0)" , borderWidth : 1 , borderColor : "#ccc" } } ) } , function ( t , e , n ) { "use strict" ; var i = n ( 1 ) , r = n ( 24 ) ; t . exports = function ( t ) { var e = t . model , n = e . getModel ( "axisLabel" ) , a = n . get ( "interval" ) ; return "category" !== t . type || "auto" !== a ? "auto" === a ? 0 : a : r . getAxisLabelInterval ( i . map ( t . scale . getTicks ( ) , t . dataToCoord , t ) , e . getFormattedLabels ( ) , n . getModel ( "textStyle" ) . getFont ( ) , t . isHorizontal ( ) ) } } , function ( t , e , n ) { "use strict" ; function i ( t ) { return t . get ( "stack" ) || "__ec_stack_" + t . seriesIndex } function r ( t , e ) { var n = { } ; o . each ( t , function ( t , e ) { var r = t . coordinateSystem , a = r . getBaseAxis ( ) , o = n [ a . index ] || { remainedWidth : a . getBandWidth ( ) , autoWidthCount : 0 , categoryGap : "20%" , gap : "30%" , axis : a , stacks : { } } , s = o . stacks ; n [ a . index ] = o ; var l = i ( t ) ; s [ l ] || o . autoWidthCount ++ , s [ l ] = s [ l ] || { width : 0 , maxWidth : 0 } ; var h = t . get ( "barWidth" ) , u = t . get ( "barMaxWidth" ) , c = t . get ( "barGap" ) , f = t . get ( "barCategoryGap" ) ; h && ! s [ l ] . width && ( h = Math . min ( o . remainedWidth , h ) , s [ l ] . width = h , o . remainedWidth -= h ) , u && ( s [ l ] . maxWidth = u ) , null != c && ( o . gap = c ) , null != f && ( o . categoryGap = f ) } ) ; var r = { } ; return o . each ( n , function ( t , e ) { r [ e ] = { } ; var n = t . stacks , i = t . axis , a = i . getBandWidth ( ) , s = l ( t . categoryGap , a ) , h = l ( t . gap , 1 ) , u = t . remainedWidth , c = t . autoWidthCount , f = ( u - s ) / ( c + ( c - 1 ) * h ) ; f = Math . max ( f , 0 ) , o . each ( n , function ( t , e ) { var n = t . maxWidth ; ! t . width && n && f > n && ( n = Math . min ( n , u ) , u -= n , t . width = n , c -- ) } ) , f = ( u - s ) / ( c + ( c - 1 ) * h ) , f = Math . max ( f , 0 ) ; var d , p = 0 ; o . each ( n , function ( t , e ) { t . width || ( t . width = f ) , d = t , p += t . width * ( 1 + h ) } ) , d && ( p -= d . width * h ) ; var g = - p / 2 ; o . each ( n , function ( t , n ) { r [ e ] [ n ] = r [ e ] [ n ] || { offset : g , width : t . width } , g += t . width * ( 1 + h ) } ) } ) , r } function a ( t , e , n ) { var a = r ( o . filter ( e . getSeriesByType ( t ) , function ( t ) { return ! e . isSeriesFiltered ( t ) && t . coordinateSystem && "cartesian2d" === t . coordinateSystem . type } ) ) , s = { } ; e . eachSeriesByType ( t , function ( t ) { var e = t . getData ( ) , n = t . coordinateSystem , r = n . getBaseAxis ( ) , o = i ( t ) , l = a [ r . index ] [ o ] , h = l . offset , u = l . width , c = n . getOtherAxis ( r ) , f = t . get ( "barMinHeight" ) || 0 , d = r . onZero ? c . toGlobalCoord ( c . dataToCoord ( 0 ) ) : c . getGlobalExtent ( ) [ 0 ] , p = n . dataToPoints ( e , ! 0 ) ; s [ o ] = s [ o ] || [ ] , e . setLayout ( { offset : h , size : u } ) , e . each ( c . dim , function ( t , n ) { if ( ! isNaN ( t ) ) { s [ o ] [ n ] || ( s [ o ] [ n ] = { p : d , n : d } ) ; var i , r , a , l , g = t >= 0 ? "p" : "n" , v = p [ n ] , m = s [ o ] [
} return e . dom } , getWidth : function ( ) { return this . _width } , getHeight : function ( ) { return this . _height } , _getWidth : function ( ) { var t = this . root , e = document . defaultView . getComputedStyle ( t ) ; return ( t . clientWidth || i ( e . width ) || i ( t . style . width ) ) - ( i ( e . paddingLeft ) || 0 ) - ( i ( e . paddingRight ) || 0 ) | 0 } , _getHeight : function ( ) { var t = this . root , e = document . defaultView . getComputedStyle ( t ) ; return ( t . clientHeight || i ( e . height ) || i ( t . style . height ) ) - ( i ( e . paddingTop ) || 0 ) - ( i ( e . paddingBottom ) || 0 ) | 0 } , _pathToImage : function ( t , e , i , r , a ) { var o = document . createElement ( "canvas" ) , s = o . getContext ( "2d" ) ; o . width = i * a , o . height = r * a , s . clearRect ( 0 , 0 , i * a , r * a ) ; var l = { position : e . position , rotation : e . rotation , scale : e . scale } ; e . position = [ 0 , 0 , 0 ] , e . rotation = 0 , e . scale = [ 1 , 1 ] , e && e . brush ( s ) ; var h = n ( 46 ) , u = new h ( { id : t , style : { x : 0 , y : 0 , image : o } } ) ; return null != l . position && ( u . position = e . position = l . position ) , null != l . rotation && ( u . rotation = e . rotation = l . rotation ) , null != l . scale && ( u . scale = e . scale = l . scale ) , u } , _createPathToImage : function ( ) { var t = this ; return function ( e , n , i , r ) { return t . _pathToImage ( e , n , i , r , t . dpr ) } } } , t . exports = m } , function ( t , e , n ) { "use strict" ; function i ( t , e ) { return t . zlevel === e . zlevel ? t . z === e . z ? t . z2 === e . z2 ? t . _ _renderidx - e . _ _renderidx : t . z2 - e . z2 : t . z - e . z : t . zlevel - e . zlevel } var r = n ( 1 ) , a = n ( 27 ) , o = function ( ) { this . _elements = { } , this . _roots = [ ] , this . _displayList = [ ] , this . _displayListLen = 0 } ; o . prototype = { constructor : o , getDisplayList : function ( t , e ) { return e = e || ! 1 , t && this . updateDisplayList ( e ) , this . _displayList } , updateDisplayList : function ( t ) { this . _displayListLen = 0 ; for ( var e = this . _roots , n = this . _displayList , r = 0 , a = e . length ; a > r ; r ++ ) this . _updateAndAddDisplayable ( e [ r ] , null , t ) ; n . length = this . _displayListLen ; for ( var r = 0 , a = n . length ; a > r ; r ++ ) n [ r ] . _ _renderidx = r ; n . sort ( i ) } , _updateAndAddDisplayable : function ( t , e , n ) { if ( ! t . ignore || n ) { t . beforeUpdate ( ) , t . update ( ) , t . afterUpdate ( ) ; var i = t . clipPath ; if ( i && ( i . parent = t , i . updateTransform ( ) , e ? ( e = e . slice ( ) , e . push ( i ) ) : e = [ i ] ) , "group" == t . type ) { for ( var r = t . _children , a = 0 ; a < r . length ; a ++ ) { var o = r [ a ] ; o . _ _dirty = t . _ _dirty || o . _ _dirty , this . _updateAndAddDisplayable ( o , e , n ) } t . _ _dirty = ! 1 } else t . _ _clipPaths = e , this . _displayList [ this . _displayListLen ++ ] = t } } , addRoot : function ( t ) { this . _elements [ t . id ] || ( t instanceof a && t . addChildrenToStorage ( this ) , this . addToMap ( t ) , this . _roots . push ( t ) ) } , delRoot : function ( t ) { if ( null == t ) { for ( var e = 0 ; e < this . _roots . length ; e ++ ) { var n = this . _roots [ e ] ; n instanceof a && n . delChildrenFromStorage ( this ) } return this . _elements = { } , this . _roots = [ ] , this . _displayList = [ ] , void ( this . _displayListLen = 0 ) } if ( t instanceof Array ) for ( var e = 0 , i = t . length ; i > e ; e ++ ) this . delRoot ( t [ e ] ) ; else { var o ; o = "string" == typeof t ? this . _elements [ t ] : t ; var s = r . indexOf ( this . _roots , o ) ; s >= 0 && ( this . delFromMap ( o . id ) , this . _roots . splice ( s , 1 ) , o instanceof a && o . delChildrenFromStorage ( this ) ) } } , addToMap : function ( t ) { return t instanceof a && ( t . _ _storage = this ) , t . dirty ( ) , this . _elements [ t . id ] = t , this } , get : function ( t ) { return this . _elements [ t ] } , delFromMap : function ( t ) { var e = this . _elements , n = e [ t ] ; return n && ( delete e [ t ] , n instanceof a && ( n . _ _storage = null ) ) , this } , dispose : function ( ) { this . _elements = this . _renderList = this . _roots = null } } , t . exports = o } , function ( t , e , n ) { "use strict" ; var i = n ( 1 ) , r = n ( 34 ) . Dispatcher , a = "undefined" != typeof window && ( window . requestAnimationFrame || window . msRequestAnimationFrame || window . mozRequestAnimationFrame || window . webkitRequestAnimationFrame ) || function ( t ) { setTimeout ( t , 16 ) } , o = n ( 56 ) , s = function ( t ) { t = t || { } , this . stage = t . stage || { } , this . onframe = t . onframe || function ( ) { } , this . _clips = [ ] , this . _running = ! 1 , this . _time = 0 , r . call ( this ) } ; s . prototype = { constructor : s , addClip : function ( t ) { this . _clips . push ( t ) } , addAnimator : function ( t ) { t . animation = this ; for ( var e = t . getClips ( ) , n = 0 ; n < e . length ; n ++ ) this . addClip ( e [ n ] ) } , removeClip : function ( t ) { var e = i . indexOf ( this . _clips , t ) ; e >= 0 && this . _clips . splice ( e , 1 ) } , removeAnimator : function ( t ) { for ( var e = t . getClips ( ) , n = 0 ; n < e . length ; n ++ ) this . removeClip ( e [ n ] ) ; t . animation = null } , _update : function ( ) { for ( var t = ( new Date ) . getTime ( ) , e = t - this . _time , n = this . _clips , i = n . length , r = [ ] , a = [ ] , o = 0 ; i > o ; o ++ ) { var s = n [ o ] , l = s . step ( t ) ; l && ( r . push ( l ) , a . push ( s ) ) } for ( var o = 0 ; i > o ; ) n [ o ] . _needsRemove ? ( n [ o ] = n [ i - 1 ] , n . pop ( ) , i -- ) : o ++ ; i = r . length ; for ( var o = 0 ; i > o ; o ++ ) a [ o ] . fire ( r [ o ] )