R?R:I,L=L>R?R:L,F=F>R?R:F,_=_>R?R:_,I=I<0?0:I,L=L<0?0:L,F=F<0?0:F,_=_<0?0:_,i.arc(C+I,E+I,I,-Math.PI,-Math.PI/2),i.arc(C+z-L,E+L,L,-Math.PI/2,0),i.arc(C+z-F,E+M-F,F,0,Math.PI/2),i.arc(C+_,E+M-_,_,Math.PI/2,Math.PI)}else i.moveTo(O,w.y),i.lineTo(O+w.width,w.y),i.lineTo(O+w.width,t.height-t.area[2]),i.lineTo(O,t.height-t.area[2]),i.lineTo(O,w.y),i.setLineWidth(1),i.setStrokeStyle(S);i.setFillStyle(k),i.closePath(),i.fill()}}break;case"stack":x=me(y,v,m,s,c,t,n,u,e,o);d.push(x),x=ue(x,c,e.length,u,n,t,e);for(var B=0;B 0&&(T-=j),i.setFillStyle(k),i.moveTo(O,N.y),i.fillRect(O,N.y,N.width,T),i.closePath(),i.fill()}}break;case"meter":x=pe(y,v,m,s,c,t,n,o);d.push(x),x=le(x,c,e.length,u,n,t,l.meterBorder);for(var U=0;U 0&&(i.setStrokeStyle(a.color),i.setLineWidth(l.meterBorder*t.pix)),0==u?i.setFillStyle(l.meterFillColor):i.setFillStyle(J.color||a.color);O=J.x-J.width/2,T=t.height-J.y-t.area[2];if(l.barBorderRadius&&4===l.barBorderRadius.length||!0===l.barBorderCircle){var Z=O,W=J.y,q=J.width,K=t.height-t.area[2]-J.y;l.barBorderCircle&&(l.barBorderRadius=[q/2,q/2,0,0]);var Q=r(l.barBorderRadius,4),V=Q[0],G=Q[1],H=Q[2],X=Q[3],Y=Math.min(q/2,K/2);V=V>Y?Y:V,G=G>Y?Y:G,H=H>Y?Y:H,X=X>Y?Y:X,V=V<0?0:V,G=G<0?0:G,H=H<0?0:H,X=X<0?0:X,i.arc(Z+V,W+V,V,-Math.PI,-Math.PI/2),i.arc(Z+q-G,W+G,G,-Math.PI/2,0),i.arc(Z+q-H,W+K-H,H,0,Math.PI/2),i.arc(Z+X,W+K-X,X,Math.PI/2,Math.PI),i.fill()}else i.moveTo(O,J.y),i.lineTo(O+J.width,J.y),i.lineTo(O+J.width,t.height-t.area[2]),i.lineTo(O,t.height-t.area[2]),i.lineTo(O,J.y),i.fill();0==u&&l.meterBorder>0&&(i.closePath(),i.stroke())}}break}})),!1!==t.dataLabel&&1===o&&e.forEach((function(r,a){var u,d,f;u=[].concat(t.chartData.yAxisData.ranges[r.index]),d=u.pop(),f=u.shift();var h=r.data;switch(l.type){case"group":var p=pe(h,d,f,s,c,t,n,o);p=se(p,c,e.length,a,n,t),Se(p,r,n,i,t);break;case"stack":p=me(h,d,f,s,c,t,n,a,e,o);Se(p,r,n,i,t);break;case"meter":p=pe(h,d,f,s,c,t,n,o);Se(p,r,n,i,t);break}})),i.restore(),{xAxisPoints:s,calPoints:d,eachSpacing:c}}function Ne(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=u({},{type:"mount",widthRatio:1,borderWidth:1,barBorderCircle:!1,barBorderRadius:[],linearType:"none",linearOpacity:1,customColor:[],colorStop:0},t.extra.mount);l.widthRatio=l.widthRatio<=0?0:l.widthRatio,l.widthRatio=l.widthRatio>=2?2:l.widthRatio;i.save();var d,h,p,g=-2,v=s.length+2;t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),g=Math.floor(-t._scrollDistance_/c)-2,v=g+t.xAxis.itemCount+4),l.customColor=w(l.linearType,l.customColor,e,n),d=[].concat(t.chartData.yAxisData.ranges[0]),h=d.pop(),p=d.shift();var m=ge(e,h,p,s,c,t,l,o);switch(l.type){case"bar":for(var y=0;y R?R:I,L=L>R?R:L,F=F>R?R:F,_=_>R?R:_,I=I<0?0:I,L=L<0?0:L,F=F<0?0:F,_=_<0?0:_,i.arc(C+_,z+_,_,-Math.PI,-Math.PI/2),i.arc(w.x-I,z+I,I,-Math.PI/2,0),i.arc(w.x-L,z+E-L,L,0,Math.PI/2),i.arc(C+F,z+E-F,F,Math.PI/2,Math.PI)}else i.moveTo(O,T),i.lineTo(w.x,T),i.lineTo(w.x,T+w.width),i.lineTo(O,T+w.width),i.lineTo(O,T),i.setLineWidth(1),i.setStrokeStyle(S);i.setFillStyle(k),i.closePath(),i.fill()}}break;case"stack":x=ye(y,v,m,a,s,t,n,u,e,o);d.push(x),x=de(x,s,e.length,u,n,t,e);for(var B=0;B 5&&void 0!==arguments[5]?arguments[5]:1,a=u({},{color:{},average:{}},n.extra.candle);a.color=u({},{upLine:"#f04864",upFill:"#f04864",downLine:"#2fc25b",downFill:"#2fc25b"},a.color),a.average=u({},{show:!1,name:[],day:[],color:r.color},a.average),n.extra.candle=a;var s=n.chartData.xAxisData,c=s.xAxisPoints,l=s.eachSpacing,d=[];i.save();var f=-2,h=c.length+2,p=0,g=n.width+l;return n._scrollDistance_&&0!==n._scrollDistance_&&!0===n.enableScroll&&(i.translate(n._scrollDistance_,0),f=Math.floor(-n._scrollDistance_/l)-2,h=f+n.xAxis.itemCount+4,p=-n._scrollDistance_-2*l+n.area[3],g=p+(n.xAxis.itemCount+4)*l),(a.average.show||t)&&t.forEach((function(e,t){var a,s,u;a=[].concat(n.chartData.yAxisData.ranges[e.index]),s=a.pop(),u=a.shift();for(var d=e.data,f=pe(d,s,u,c,l,n,r,o),h=Q(f,e),v=0;v h&&(r.moveTo(M.x,M.y),S=1),z>0&&M.x>h&&M.x h&&(r.moveTo(I.x,I.y),S=1),D>0&&I.x>h&&I.x h&&(r.moveTo(B.x,B.y),_=1),R>0&&B.x>h&&B.x h&&(r.moveTo(U.x,U.y),_=1),j>0&&U.x>h&&U.x h&&(r.moveTo(Z.x,Z.y),_=1),J>0&&Z.x>h&&Z.x 4&&void 0!==arguments[4]?arguments[4]:1,o=(u({},{type:"circle"},t.extra.scatter),t.chartData.xAxisData),a=o.xAxisPoints,s=o.eachSpacing,c=[];r.save();var l=0;t.width;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),l=-t._scrollDistance_-2*s+t.area[3],l+(t.xAxis.itemCount+4)*s),e.forEach((function(e,o){var c,l,u;c=[].concat(t.chartData.yAxisData.ranges[e.index]),l=c.pop(),u=c.shift();var d=e.data,f=pe(d,l,u,a,s,t,n,i);r.beginPath(),r.setStrokeStyle(e.color),r.setFillStyle(e.color),r.setLineWidth(1*t.pix);var h=e.pointShape;if("diamond"===h)f.forEach((function(e,t){null!==e&&(r.moveTo(e.x,e.y-4.5),r.lineTo(e.x-4.5,e.y),r.lineTo(e.x,e.y+4.5),r.lineTo(e.x+4.5,e.y),r.lineTo(e.x,e.y-4.5))}));else if("circle"===h)f.forEach((function(e,n){null!==e&&(r.moveTo(e.x+2.5*t.pix,e.y),r.arc(e.x,e.y,3*t.pix,0,2*Math.PI,!1))}));else if("square"===h)f.forEach((function(e,t){null!==e&&(r.moveTo(e.x-3.5,e.y-3.5),r.rect(e.x-3.5,e.y-3.5,7,7))}));else if("triangle"===h)f.forEach((function(e,t){null!==e&&(r.moveTo(e.x,e.y-4.5),r.lineTo(e.x-4.5,e.y+4.5),r.lineTo(e.x+4.5,e.y+4.5),r.lineTo(e.x,e.y-4.5))}));else if("triangle"===h)return;r.closePath(),r.fill(),r.stroke()})),!1!==t.dataLabel&&1===i&&e.forEach((function(e,o){var c,l,u;c=[].concat(t.chartData.yAxisData.ranges[e.index]),l=c.pop(),u=c.shift();var d=e.data,f=pe(d,l,u,a,s,t,n,i);Se(f,e,n,r,t)})),r.restore(),{xAxisPoints:a,calPoints:c,eachSpacing:s}}function We(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{opacity:1,border:2},t.extra.bubble),a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=[];r.save();var d=0;t.width;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),d=-t._scrollDistance_-2*c+t.area[3],d+(t.xAxis.itemCount+4)*c),e.forEach((function(a,l){var u,d,h;u=[].concat(t.chartData.yAxisData.ranges[a.index]),d=u.pop(),h=u.shift();var p=a.data,g=pe(p,d,h,s,c,t,n,i);r.beginPath(),r.setStrokeStyle(a.color),r.setLineWidth(o.border*t.pix),r.setFillStyle(f(a.color,o.opacity)),g.forEach((function(e,n){r.moveTo(e.x+e.r,e.y),r.arc(e.x,e.y,e.r*t.pix,0,2*Math.PI,!1)})),r.closePath(),r.fill(),r.stroke(),!1!==t.dataLabel&&1===i&&g.forEach((function(i,o){r.beginPath();var a=e.textSize*t.pix||n.fontSize;r.setFontSize(a),r.setFillStyle(e.textColor||"#FFFFFF"),r.setTextAlign("center"),r.fillText(String(i.t),i.x,i.y+a/2),r.closePath(),r.stroke(),r.setTextAlign("left")}))})),r.restore(),{xAxisPoints:s,calPoints:l,eachSpacing:c}}function qe(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"straight",width:2},t.extra.line);o.width*=t.pix;var a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=[];r.save();var d=0,f=t.width+c;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),d=-t._scrollDistance_-2*c+t.area[3],f=d+(t.xAxis.itemCount+4)*c),e.forEach((function(e,a){var u,h,p;u=[].concat(t.chartData.yAxisData.ranges[e.index]),h=u.pop(),p=u.shift();var g=e.data,v=pe(g,h,p,s,c,t,n,i);l.push(v);var y=Q(v,e);if("dash"==e.lineType){var x=e.dashLength?e.dashLength:8;x*=t.pix,r.setLineDash([x,x])}r.beginPath(),r.setStrokeStyle(e.color),r.setLineWidth(o.width),y.forEach((function(e,t){if(1===e.length)r.moveTo(e[0].x,e[0].y),r.arc(e[0].x,e[0].y,1,0,2*Math.PI);else{r.moveTo(e[0].x,e[0].y);var n=0;if("curve"===o.type)for(var i=0;i K?K:L,D=D>K?K:D,M=M>K?K:M,R=R>K?K:R,L=L<0?0:L,D=D<0?0:D,M=M<0?0:M,R=R<0?0:R,r.arc(_+L,C+L,L,-Math.PI,-Math.PI/2),r.arc(_+E-D,C+D,D,-Math.PI/2,0),r.arc(_+E-M,C+F-M,M,0,Math.PI/2),r.arc(_+R,C+F-R,R,Math.PI/2,Math.PI)}else r.moveTo(S,w.y),r.lineTo(S+w.width,w.y),r.lineTo(S+w.width,t.height-t.area[2]),r.lineTo(S,t.height-t.area[2]),r.lineTo(S,w.y),r.setLineWidth(1),r.setStrokeStyle(O);r.setFillStyle(T),r.closePath(),r.fill()}}break;case"stack":x=ye(m,v,y,s,c,t,n,u,e,o);d.push(x),x=ue(x,c,e.length,u,n,t,e);for(var j=0;j 0&&(k-=U),r.setFillStyle(T),r.moveTo(S,z.y),r.fillRect(S,z.y,z.width,k),r.closePath(),r.fill()}}break;case"meter":x=pe(m,v,y,s,c,t,n,o);d.push(x),x=le(x,c,e.length,u,n,t,l.meterBorder);for(var B=0;B 0&&(r.setStrokeStyle(a.color),r.setLineWidth(l.meterBorder*t.pix)),0==u?r.setFillStyle(l.meterFillColor):r.setFillStyle(N.color||a.color);S=N.x-N.width/2,k=t.height-N.y-t.area[2];if(l.barBorderRadius&&4===l.barBorderRadius.length||!0===l.barBorderCircle){var W=S,H=N.y,Z=N.width,V=t.height-t.area[2]-N.y;l.barBorderCircle&&(l.barBorderRadius=[Z/2,Z/2,0,0]);var q=i(l.barBorderRadius,4),J=q[0],X=q[1],G=q[2],Q=q[3],Y=Math.min(Z/2,V/2);J=J>Y?Y:J,X=X>Y?Y:X,G=G>Y?Y:G,Q=Q>Y?Y:Q,J=J<0?0:J,X=X<0?0:X,G=G<0?0:G,Q=Q<0?0:Q,r.arc(W+J,H+J,J,-Math.PI,-Math.PI/2),r.arc(W+Z-X,H+X,X,-Math.PI/2,0),r.arc(W+Z-G,H+V-G,G,0,Math.PI/2),r.arc(W+Q,H+V-Q,Q,Math.PI/2,Math.PI),r.fill()}else r.moveTo(S,N.y),r.lineTo(S+N.width,N.y),r.lineTo(S+N.width,t.height-t.area[2]),r.lineTo(S,t.height-t.area[2]),r.lineTo(S,N.y),r.fill();0==u&&l.meterBorder>0&&(r.closePath(),r.stroke())}}break}})),!1!==t.dataLabel&&1===o&&e.forEach((function(i,a){var u,d,f;u=[].concat(t.chartData.yAxisData.ranges[i.index]),d=u.pop(),f=u.shift();var h=i.data;switch(l.type){case"group":var p=pe(h,d,f,s,c,t,n,o);p=se(p,c,e.length,a,n,t),Oe(p,i,n,r,t);break;case"stack":p=ye(h,d,f,s,c,t,n,a,e,o);Oe(p,i,n,r,t);break;case"meter":p=pe(h,d,f,s,c,t,n,o);Oe(p,i,n,r,t);break}})),r.restore(),{xAxisPoints:s,calPoints:d,eachSpacing:c}}function ze(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=u({},{type:"mount",widthRatio:1,borderWidth:1,barBorderCircle:!1,barBorderRadius:[],linearType:"none",linearOpacity:1,customColor:[],colorStop:0},t.extra.mount);l.widthRatio=l.widthRatio<=0?0:l.widthRatio,l.widthRatio=l.widthRatio>=2?2:l.widthRatio;r.save();var d,h,p,g=-2,v=s.length+2;t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),g=Math.floor(-t._scrollDistance_/c)-2,v=g+t.xAxis.itemCount+4),l.customColor=w(l.linearType,l.customColor,e,n),d=[].concat(t.chartData.yAxisData.ranges[0]),h=d.pop(),p=d.shift();var y=ge(e,h,p,s,c,t,l,o);switch(l.type){case"bar":for(var m=0;m K?K:L,D=D>K?K:D,M=M>K?K:M,R=R>K?K:R,L=L<0?0:L,D=D<0?0:D,M=M<0?0:M,R=R<0?0:R,r.arc(_+R,E+R,R,-Math.PI,-Math.PI/2),r.arc(w.x-L,E+L,L,-Math.PI/2,0),r.arc(w.x-D,E+C-D,D,0,Math.PI/2),r.arc(_+M,E+C-M,M,Math.PI/2,Math.PI)}else r.moveTo(S,k),r.lineTo(w.x,k),r.lineTo(w.x,k+w.width),r.lineTo(S,k+w.width),r.lineTo(S,k),r.setLineWidth(1),r.setStrokeStyle(O);r.setFillStyle(T),r.closePath(),r.fill()}}break;case"stack":x=me(m,v,y,a,s,t,n,u,e,o);d.push(x),x=de(x,s,e.length,u,n,t,e);for(var j=0;j 5&&void 0!==arguments[5]?arguments[5]:1,a=u({},{color:{},average:{}},n.extra.candle);a.color=u({},{upLine:"#f04864",upFill:"#f04864",downLine:"#2fc25b",downFill:"#2fc25b"},a.color),a.average=u({},{show:!1,name:[],day:[],color:i.color},a.average),n.extra.candle=a;var s=n.chartData.xAxisData,c=s.xAxisPoints,l=s.eachSpacing,d=[];r.save();var f=-2,h=c.length+2,p=0,g=n.width+l;return n._scrollDistance_&&0!==n._scrollDistance_&&!0===n.enableScroll&&(r.translate(n._scrollDistance_,0),f=Math.floor(-n._scrollDistance_/l)-2,h=f+n.xAxis.itemCount+4,p=-n._scrollDistance_-2*l+n.area[3],g=p+(n.xAxis.itemCount+4)*l),(a.average.show||t)&&t.forEach((function(e,t){var a,s,u;a=[].concat(n.chartData.yAxisData.ranges[e.index]),s=a.pop(),u=a.shift();for(var d=e.data,f=pe(d,s,u,c,l,n,i,o),h=q(f,e),v=0;v h&&(i.moveTo(F.x,F.y),O=1),E>0&&F.x>h&&F.x h&&(i.moveTo(L.x,L.y),O=1),I>0&&L.x>h&&L.x h&&(i.moveTo(j.x,j.y),R=1),K>0&&j.x>h&&j.x h&&(i.moveTo(B.x,B.y),R=1),U>0&&B.x>h&&B.x h&&(i.moveTo(W.x,W.y),R=1),N>0&&W.x>h&&W.x 4&&void 0!==arguments[4]?arguments[4]:1,o=(u({},{type:"circle"},t.extra.scatter),t.chartData.xAxisData),a=o.xAxisPoints,s=o.eachSpacing,c=[];i.save();var l=0;t.width;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),l=-t._scrollDistance_-2*s+t.area[3],l+(t.xAxis.itemCount+4)*s),e.forEach((function(e,o){var c,l,u;c=[].concat(t.chartData.yAxisData.ranges[e.index]),l=c.pop(),u=c.shift();var d=e.data,f=pe(d,l,u,a,s,t,n,r);i.beginPath(),i.setStrokeStyle(e.color),i.setFillStyle(e.color),i.setLineWidth(1*t.pix);var h=e.pointShape;if("diamond"===h)f.forEach((function(e,t){null!==e&&(i.moveTo(e.x,e.y-4.5),i.lineTo(e.x-4.5,e.y),i.lineTo(e.x,e.y+4.5),i.lineTo(e.x+4.5,e.y),i.lineTo(e.x,e.y-4.5))}));else if("circle"===h)f.forEach((function(e,n){null!==e&&(i.moveTo(e.x+2.5*t.pix,e.y),i.arc(e.x,e.y,3*t.pix,0,2*Math.PI,!1))}));else if("square"===h)f.forEach((function(e,t){null!==e&&(i.moveTo(e.x-3.5,e.y-3.5),i.rect(e.x-3.5,e.y-3.5,7,7))}));else if("triangle"===h)f.forEach((function(e,t){null!==e&&(i.moveTo(e.x,e.y-4.5),i.lineTo(e.x-4.5,e.y+4.5),i.lineTo(e.x+4.5,e.y+4.5),i.lineTo(e.x,e.y-4.5))}));else if("triangle"===h)return;i.closePath(),i.fill(),i.stroke()})),!1!==t.dataLabel&&1===r&&e.forEach((function(e,o){var c,l,u;c=[].concat(t.chartData.yAxisData.ranges[e.index]),l=c.pop(),u=c.shift();var d=e.data,f=pe(d,l,u,a,s,t,n,r);Oe(f,e,n,i,t)})),i.restore(),{xAxisPoints:a,calPoints:c,eachSpacing:s}}function He(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{opacity:1,border:2},t.extra.bubble),a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=[];i.save();var d=0;t.width;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),d=-t._scrollDistance_-2*c+t.area[3],d+(t.xAxis.itemCount+4)*c),e.forEach((function(a,l){var u,d,h;u=[].concat(t.chartData.yAxisData.ranges[a.index]),d=u.pop(),h=u.shift();var p=a.data,g=pe(p,d,h,s,c,t,n,r);i.beginPath(),i.setStrokeStyle(a.color),i.setLineWidth(o.border*t.pix),i.setFillStyle(f(a.color,o.opacity)),g.forEach((function(e,n){i.moveTo(e.x+e.r,e.y),i.arc(e.x,e.y,e.r*t.pix,0,2*Math.PI,!1)})),i.closePath(),i.fill(),i.stroke(),!1!==t.dataLabel&&1===r&&g.forEach((function(r,o){i.beginPath();var a=e.textSize*t.pix||n.fontSize;i.setFontSize(a),i.setFillStyle(e.textColor||"#FFFFFF"),i.setTextAlign("center"),i.fillText(String(r.t),r.x,r.y+a/2),i.closePath(),i.stroke(),i.setTextAlign("left")}))})),i.restore(),{xAxisPoints:s,calPoints:l,eachSpacing:c}}function Ze(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"straight",width:2},t.extra.line);o.width*=t.pix;var a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=[];i.save();var d=0,f=t.width+c;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),d=-t._scrollDistance_-2*c+t.area[3],f=d+(t.xAxis.itemCount+4)*c),e.forEach((function(e,a){var u,h,p;u=[].concat(t.chartData.yAxisData.ranges[e.index]),h=u.pop(),p=u.shift();var g=e.data,v=pe(g,h,p,s,c,t,n,r);l.push(v);var m=q(v,e);if("dash"==e.lineType){var x=e.dashLength?e.dashLength:8;x*=t.pix,i.setLineDash([x,x])}i.beginPath(),i.setStrokeStyle(e.color),i.setLineWidth(o.width),m.forEach((function(e,t){if(1===e.length)i.moveTo(e[0].x,e[0].y),i.arc(e[0].x,e[0].y,1,0,2*Math.PI);else{i.moveTo(e[0].x,e[0].y);var n=0;if("curve"===o.type)for(var r=0;re.length)&&(t=e.length);for(var n=0,i=new Array(t);n