!function(t){function P(){}var e=t.getOptions().plotOptions,h=t.seriesTypes,i=t.merge,X=t.each;e.funnel=i(e.pie,{center:["50%","50%"],width:"90%",neckWidth:"30%",height:"100%",neckHeight:"25%",dataLabels:{connectorWidth:1,connectorColor:"#606060"},size:!0,states:{select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}}}),h.funnel=t.extendClass(h.pie,{type:"funnel",animate:P,translate:function(){var e,i,n,a,o,s,r,h,l,c,p,t=function(t,e){return/%$/.test(t)?e*parseInt(t,10)/100:parseInt(t,10)},d=0,u=(f=this.chart).plotWidth,f=f.plotHeight,g=0,b=this.options,w=b.center,y=t(w[0],u),C=t(w[0],f),L=t(b.width,u),k=t(b.height,f),W=t(b.neckWidth,u),v=t(b.neckHeight,f),A=k-v,H=(t=this.data,"left"===b.dataLabels.position?1:0);this.getWidthAt=i=function(t){return k-v<t||k===v?W:W+(k-v-t)/(k-v)*(L-W)},this.getX=function(t,e){return y+(e?-1:1)*(i(t)/2+b.dataLabels.distance)},this.center=[y,C,k],this.centerX=y,X(t,function(t){d+=t.y}),X(t,function(t){p=null,a=d?t.y/d:0,e=i(s=C-k/2+g*k),r=(o=y-e/2)+e,e=i(l=s+a*k),c=(h=y-e/2)+e,A<s?(o=h=y-W/2,r=c=y+W/2):A<l&&(p=l,e=i(A),c=(h=y-e/2)+e,l=A),n=["M",o,s,"L",r,s,c,l],p&&n.push(c,p,h,p),n.push(h,l,"Z"),t.shapeType="path",t.shapeArgs={d:n},t.percentage=100*a,t.plotX=y,t.plotY=(s+(p||l))/2,t.tooltipPos=[y,t.plotY],t.slice=P,t.half=H,g+=a}),this.setTooltipPoints()},drawPoints:function(){var n=this,a=n.options,o=n.chart.renderer;X(n.data,function(t){var e=t.graphic,i=t.shapeArgs;e?e.animate(i):t.graphic=o.path(i).attr({fill:t.color,stroke:a.borderColor,"stroke-width":a.borderWidth}).add(n.group)})},sortByAngle:P,drawDataLabels:function(){var t,e,i,n,a,o=this.data,s=this.options.dataLabels.distance,r=o.length;for(this.center[2]-=2*s;r--;)e=(t=(i=o[r]).half)?1:-1,a=i.plotY,n=this.getX(a,t),i.labelPos=[0,a,n+(s-5)*e,a,n+s*e,a,t?"right":"left",0];h.pie.prototype.drawDataLabels.call(this)}})}(Highcharts);
|