classes/artifacts/ffms_war_exploded/Highcharts-5.0.12/code/js/modules/stock.js
(开头部分) 57KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*
Highcharts JS v5.0.12 (2017-05-24)
Highstock as a plugin for Highcharts
(c) 2017 Torstein Honsi
License: www.highcharts.com/license
*/
(function(K){"object"===typeof module&&module.exports?module.exports=K:K(Highcharts)})(function(K){(function(a){var E=a.addEvent,k=a.Axis,t=a.Chart,z=a.css,F=a.dateFormat,H=a.defined,I=a.each,w=a.extend,h=a.noop,q=a.timeUnits,G=a.wrap;G(a.Series.prototype,"init",function(a){var b;a.apply(this,Array.prototype.slice.call(arguments,1));(b=this.xAxis)&&b.options.ordinal&&E(this,"updatedData",function(){delete b.ordinalIndex})});G(k.prototype,"getTimeTicks",function(a,b,d,u,A,l,h,g){var r=0,e,x,c={},f,
m,B,n=[],v=-Number.MAX_VALUE,y=this.options.tickPixelInterval;if(!this.options.ordinal&&!this.options.breaks||!l||3>l.length||void 0===d)return a.call(this,b,d,u,A);m=l.length;for(e=0;e<m;e++){B=e&&l[e-1]>u;l[e]<d&&(r=e);if(e===m-1||l[e+1]-l[e]>5*h||B){if(l[e]>v){for(x=a.call(this,b,l[r],l[e],A);x.length&&x[0]<=v;)x.shift();x.length&&(v=x[x.length-1]);n=n.concat(x)}r=e+1}if(B)break}a=x.info;if(g&&a.unitRange<=q.hour){e=n.length-1;for(r=1;r<e;r++)F("%d",n[r])!==F("%d",n[r-1])&&(c[n[r]]="day",f=!0);
f&&(c[n[0]]="day");a.higherRanks=c}n.info=a;if(g&&H(y)){g=a=n.length;e=[];var D;for(f=[];g--;)r=this.translate(n[g]),D&&(f[g]=D-r),e[g]=D=r;f.sort();f=f[Math.floor(f.length/2)];f<.6*y&&(f=null);g=n[a-1]>u?a-1:a;for(D=void 0;g--;)r=e[g],u=Math.abs(D-r),D&&u<.8*y&&(null===f||u<.8*f)?(c[n[g]]&&!c[n[g+1]]?(u=g+1,D=r):u=g,n.splice(u,1)):D=r}return n});w(k.prototype,{beforeSetTickPositions:function(){var a,b=[],d=!1,u,A=this.getExtremes(),l=A.min,h=A.max,g,r=this.isXAxis&&!!this.options.breaks,A=this.options.ordinal,
C=this.chart.options.chart.ignoreHiddenSeries;if(A||r){I(this.series,function(g,c){if(!(C&&!1===g.visible||!1===g.takeOrdinalPosition&&!r)&&(b=b.concat(g.processedXData),a=b.length,b.sort(function(f,c){return f-c}),a))for(c=a-1;c--;)b[c]===b[c+1]&&b.splice(c,1)});a=b.length;if(2<a){u=b[1]-b[0];for(g=a-1;g--&&!d;)b[g+1]-b[g]!==u&&(d=!0);!this.options.keepOrdinalPadding&&(b[0]-l>u||h-b[b.length-1]>u)&&(d=!0)}d?(this.ordinalPositions=b,u=this.ordinal2lin(Math.max(l,b[0]),!0),g=Math.max(this.ordinal2lin(Math.min(h,
b[b.length-1]),!0),1),this.ordinalSlope=h=(h-l)/(g-u),this.ordinalOffset=l-u*h):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=A&&d;this.groupIntervalFactor=null},val2lin:function(a,b){var d=this.ordinalPositions;if(d){var u=d.length,e,l;for(e=u;e--;)if(d[e]===a){l=e;break}for(e=u-1;e--;)if(a>d[e]||0===e){a=(a-d[e])/(d[e+1]-d[e]);l=e+a;break}b=b?l:this.ordinalSlope*(l||0)+this.ordinalOffset}else b=a;return b},lin2val:function(a,b){var d=this.ordinalPositions;if(d){var e=
this.ordinalSlope,h=this.ordinalOffset,l=d.length-1,p;if(b)0>a?a=d[0]:a>l?a=d[l]:(l=Math.floor(a),p=a-l);else for(;l--;)if(b=e*l+h,a>=b){e=e*(l+1)+h;p=(a-b)/(e-b);break}return void 0!==p&&void 0!==d[l]?d[l]+(p?p*(d[l+1]-d[l]):0):a}return a},getExtendedPositions:function(){var a=this.chart,b=this.series[0].currentDataGrouping,d=this.ordinalIndex,u=b?b.count+b.unitName:"raw",A=this.getExtremes(),l,p;d||(d=this.ordinalIndex={});d[u]||(l={series:[],chart:a,getExtremes:function(){return{min:A.dataMin,
max:A.dataMax}},options:{ordinal:!0},val2lin:k.prototype.val2lin,ordinal2lin:k.prototype.ordinal2lin},I(this.series,function(g){p={xAxis:l,xData:g.xData,chart:a,destroyGroupedData:h};p.options={dataGrouping:b?{enabled:!0,forced:!0,approximation:"open",units:[[b.unitName,[b.count]]]}:{enabled:!1}};g.processData.apply(p);l.series.push(p)}),this.beforeSetTickPositions.apply(l),d[u]=l.ordinalPositions);return d[u]},getGroupIntervalFactor:function(a,b,d){var e;d=d.processedXData;var h=d.length,l=[];e=
this.groupIntervalFactor;if(!e){for(e=0;e<h-1;e++)l[e]=d[e+1]-d[e];l.sort(function(a,g){return a-g});l=l[Math.floor(h/2)];a=Math.max(a,d[0]);b=Math.min(b,d[h-1]);this.groupIntervalFactor=e=h*l/(b-a)}return e},postProcessTickInterval:function(a){var b=this.ordinalSlope;return b?this.options.breaks?this.closestPointRange:a/(b/this.closestPointRange):a}});k.prototype.ordinal2lin=k.prototype.val2lin;G(t.prototype,"pan",function(a,b){var d=this.xAxis[0],e=b.chartX,h=!1;if(d.options.ordinal&&d.series.length){var l=
this.mouseDownX,p=d.getExtremes(),g=p.dataMax,r=p.min,C=p.max,x=this.hoverPoints,c=d.closestPointRange,l=(l-e)/(d.translationSlope*(d.ordinalSlope||c)),f={ordinalPositions:d.getExtendedPositions()},c=d.lin2val,m=d.val2lin,B;f.ordinalPositions?1<Math.abs(l)&&(x&&I(x,function(n){n.setState()}),0>l?(x=f,B=d.ordinalPositions?d:f):(x=d.ordinalPositions?d:f,B=f),f=B.ordinalPositions,g>f[f.length-1]&&f.push(g),this.fixedRange=C-r,l=d.toFixedRange(null,null,c.apply(x,[m.apply(x,[r,!0])+l,!0]),c.apply(B,[m.apply(B,
[C,!0])+l,!0])),l.min>=Math.min(p.dataMin,r)&&l.max<=Math.max(g,C)&&d.setExtremes(l.min,l.max,!0,!1,{trigger:"pan"}),this.mouseDownX=e,z(this.container,{cursor:"move"})):h=!0}else h=!0;h&&a.apply(this,Array.prototype.slice.call(arguments,1))})})(K);(function(a){function E(){return Array.prototype.slice.call(arguments,1)}function k(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,t(this.pointArrayMap,["y"]))}var t=a.pick,z=a.wrap,F=a.each,H=a.extend,I=a.isArray,w=a.fireEvent,
h=a.Axis,q=a.Series;H(h.prototype,{isInBreak:function(a,e){var b=a.repeat||Infinity,d=a.from,h=a.to-a.from;e=e>=d?(e-d)%b:b-(d-e)%b;return a.inclusive?e<=h:e<h&&0!==e},isInAnyBreak:function(a,e){var b=this.options.breaks,d=b&&b.length,h,A,l;if(d){for(;d--;)this.isInBreak(b[d],a)&&(h=!0,A||(A=t(b[d].showPoints,this.isXAxis?!1:!0)));l=h&&e?h&&!A:h}return l}});z(h.prototype,"setTickPositions",function(a){a.apply(this,Array.prototype.slice.call(arguments,1));if(this.options.breaks){var e=this.tickPositions,
b=this.tickPositions.info,d=[],h;for(h=0;h<e.length;h++)this.isInAnyBreak(e[h])||d.push(e[h]);this.tickPositions=d;this.tickPositions.info=b}});z(h.prototype,"init",function(a,e,b){var d=this;b.breaks&&b.breaks.length&&(b.ordinal=!1);a.call(this,e,b);a=this.options.breaks;d.isBroken=I(a)&&!!a.length;d.isBroken&&(d.val2lin=function(a){var b=a,e,h;for(h=0;h<d.breakArray.length;h++)if(e=d.breakArray[h],e.to<=a)b-=e.len;else if(e.from>=a)break;else if(d.isInBreak(e,a)){b-=a-e.from;break}return b},d.lin2val=
function(a){var b,e;for(e=0;e<d.breakArray.length&&!(b=d.breakArray[e],b.from>=a);e++)b.to<a?a+=b.len:d.isInBreak(b,a)&&(a+=b.len);return a},d.setExtremes=function(a,b,d,e,g){for(;this.isInAnyBreak(a);)a-=this.closestPointRange;for(;this.isInAnyBreak(b);)b-=this.closestPointRange;h.prototype.setExtremes.call(this,a,b,d,e,g)},d.setAxisTranslation=function(a){h.prototype.setAxisTranslation.call(this,a);a=d.options.breaks;var b=[],e=[],p=0,g,r,C=d.userMin||d.min,x=d.userMax||d.max,c=t(d.pointRangePadding,
0),f,m;F(a,function(f){r=f.repeat||Infinity;d.isInBreak(f,C)&&(C+=f.to%r-C%r);d.isInBreak(f,x)&&(x-=x%r-f.from%r)});F(a,function(c){f=c.from;for(r=c.repeat||Infinity;f-r>C;)f-=r;for(;f<C;)f+=r;for(m=f;m<x;m+=r)b.push({value:m,move:"in"}),b.push({value:m+(c.to-c.from),move:"out",size:c.breakSize})});b.sort(function(f,n){return f.value===n.value?("in"===f.move?0:1)-("in"===n.move?0:1):f.value-n.value});g=0;f=C;F(b,function(c){g+="in"===c.move?1:-1;1===g&&"in"===c.move&&(f=c.value);0===g&&(e.push({from:f,
to:c.value,len:c.value-f-(c.size||0)}),p+=c.value-f-(c.size||0))});d.breakArray=e;d.unitLength=x-C-p+c;w(d,"afterBreaks");d.options.staticScale?d.transA=d.options.staticScale:d.unitLength&&(d.transA*=(x-d.min+c)/d.unitLength);c&&(d.minPixelPadding=d.transA*d.minPointOffset);d.min=C;d.max=x})});z(q.prototype,"generatePoints",function(a){a.apply(this,E(arguments));var e=this.xAxis,b=this.yAxis,d=this.points,h,q=d.length,l=this.options.connectNulls,p;if(e&&b&&(e.options.breaks||b.options.breaks))for(;q--;)h=
d[q],p=null===h.y&&!1===l,p||!e.isInAnyBreak(h.x,!0)&&!b.isInAnyBreak(h.y,!0)||(d.splice(q,1),this.data[q]&&this.data[q].destroyElements())});a.Series.prototype.drawBreaks=function(a,e){var b=this,d=b.points,h,q,l,p;a&&F(e,function(g){h=a.breakArray||[];q=a.isXAxis?a.min:t(b.options.threshold,a.min);F(d,function(b){p=t(b["stack"+g.toUpperCase()],b[g]);F(h,function(g){l=!1;if(q<g.from&&p>g.to||q>g.from&&p<g.from)l="pointBreak";else if(q<g.from&&p>g.from&&p<g.to||q>g.from&&p>g.to&&p<g.from)l="pointInBreak";
l&&w(a,l,{point:b,brk:g})})})})};a.Series.prototype.gappedPath=function(){var a=this.options.gapSize,e=this.points.slice(),b=e.length-1;if(a&&0<b)for(;b--;)e[b+1].x-e[b].x>this.closestPointRange*a&&e.splice(b+1,0,{isNull:!0});return this.getGraphPath(e)};z(a.seriesTypes.column.prototype,"drawPoints",k);z(a.Series.prototype,"drawPoints",k)})(K);(function(a){var E=a.arrayMax,k=a.arrayMin,t=a.Axis,z=a.defaultPlotOptions,F=a.defined,H=a.each,I=a.extend,w=a.format,h=a.isNumber,q=a.merge,G=a.pick,e=a.Point,
b=a.Tooltip,d=a.wrap,u=a.Series.prototype,A=u.processData,l=u.generatePoints,p=u.destroy,g={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e",
"-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},r={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},C=a.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",
[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]],x={sum:function(c){var f=c.length,a;if(!f&&c.hasNulls)a=null;else if(f)for(a=0;f--;)a+=c[f];return a},average:function(c){var f=c.length;c=x.sum(c);h(c)&&f&&(c/=f);return c},averages:function(){var c=[];H(arguments,function(f){c.push(x.average(f))});return c},open:function(c){return c.length?c[0]:c.hasNulls?null:void 0},high:function(c){return c.length?E(c):c.hasNulls?null:void 0},low:function(c){return c.length?
k(c):c.hasNulls?null:void 0},close:function(c){return c.length?c[c.length-1]:c.hasNulls?null:void 0},ohlc:function(c,f,a,g){c=x.open(c);f=x.high(f);a=x.low(a);g=x.close(g);if(h(c)||h(f)||h(a)||h(g))return[c,f,a,g]},range:function(c,f){c=x.low(c);f=x.high(f);if(h(c)||h(f))return[c,f];if(null===c&&null===f)return null}};u.groupData=function(c,f,a,b){var n=this.data,v=this.options.data,m=[],d=[],B=[],e=c.length,J,M,l=!!f,C=[];b="function"===typeof b?b:x[b]||r[this.type]&&x[r[this.type].approximation]||
x[g.approximation];var L=this.pointArrayMap,q=L&&L.length,p=0;M=0;var u,k;q?H(L,function(){C.push([])}):C.push([]);u=q||1;for(k=0;k<=e&&!(c[k]>=a[0]);k++);for(k;k<=e;k++){for(;void 0!==a[p+1]&&c[k]>=a[p+1]||k===e;){J=a[p];this.dataGroupInfo={start:M,length:C[0].length};M=b.apply(this,C);void 0!==M&&(m.push(J),d.push(M),B.push(this.dataGroupInfo));M=k;for(J=0;J<u;J++)C[J].length=0,C[J].hasNulls=!1;p+=1;if(k===e)break}if(k===e)break;if(L){J=this.cropStart+k;var G=n&&n[J]||this.pointClass.prototype.applyOptions.apply({series:this},
[v[J]]),w;for(J=0;J<q;J++)w=G[L[J]],h(w)?C[J].push(w):null===w&&(C[J].hasNulls=!0)}else J=l?f[k]:null,h(J)?C[0].push(J):null===J&&(C[0].hasNulls=!0)}return[m,d,B]};u.processData=function(){var c=this.chart,f=this.options.dataGrouping,a=!1!==this.allowDG&&f&&G(f.enabled,c.options.isStock),g=this.visible||!c.options.chart.ignoreHiddenSeries,n;this.forceCrop=a;this.groupPixelWidth=null;this.hasProcessed=!0;if(!1!==A.apply(this,arguments)&&a){this.destroyGroupedData();var v=this.processedXData,y=this.processedYData,
b=c.plotSizeX,c=this.xAxis,d=c.options.ordinal,r=this.groupPixelWidth=c.getGroupPixelWidth&&c.getGroupPixelWidth();if(r){this.isDirty=n=!0;this.points=null;var e=c.getExtremes(),a=e.min,e=e.max,d=d&&c.getGroupIntervalFactor(a,e,this)||1,b=r*(e-a)/b*d,r=c.getTimeTicks(c.normalizeTimeTickInterval(b,f.units||C),Math.min(a,v[0]),Math.max(e,v[v.length-1]),c.options.startOfWeek,v,this.closestPointRange),v=u.groupData.apply(this,[v,y,r,f.approximation]),y=v[0],d=v[1];if(f.smoothed){f=y.length-1;for(y[f]=
Math.min(y[f],e);f--&&0<f;)y[f]+=b/2;y[0]=Math.max(y[0],a)}this.currentDataGrouping=r.info;this.closestPointRange=r.info.totalRange;this.groupMap=v[2];F(y[0])&&y[0]<c.dataMin&&g&&(c.min===c.dataMin&&(c.min=y[0]),c.dataMin=y[0]);this.processedXData=y;this.processedYData=d}else this.currentDataGrouping=this.groupMap=null;this.hasGroupedData=n}};u.destroyGroupedData=function(){var c=this.groupedData;H(c||[],function(f,a){f&&(c[a]=f.destroy?f.destroy():null)});this.groupedData=null};u.generatePoints=
function(){l.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};d(e.prototype,"update",function(c){this.dataGroup?a.error(24):c.apply(this,[].slice.call(arguments,1))});d(b.prototype,"tooltipFooterHeaderFormatter",function(c,f,g){var m=f.series,n=m.tooltipOptions,v=m.options.dataGrouping,y=n.xDateFormat,b,d=m.xAxis,r=a.dateFormat;return d&&"datetime"===d.options.type&&v&&h(f.key)?(c=m.currentDataGrouping,v=v.dateTimeLabelFormats,c?(d=v[c.unitName],1===c.count?
y=d[0]:(y=d[1],b=d[2])):!y&&v&&(y=this.getXDateFormat(f,n,d)),y=r(y,f.key),b&&(y+=r(b,f.key+c.totalRange-1)),w(n[(g?"footer":"header")+"Format"],{point:I(f.point,{key:y}),series:m})):c.call(this,f,g)});u.destroy=function(){for(var c=this.groupedData||[],f=c.length;f--;)c[f]&&c[f].destroy();p.apply(this)};d(u,"setOptions",function(c,f){c=c.call(this,f);var a=this.type,b=this.chart.options.plotOptions,n=z[a].dataGrouping;r[a]&&(n||(n=q(g,r[a])),c.dataGrouping=q(n,b.series&&b.series.dataGrouping,b[a].dataGrouping,
f.dataGrouping));this.chart.options.isStock&&(this.requireSorting=!0);return c});d(t.prototype,"setScale",function(c){c.call(this);H(this.series,function(c){c.hasProcessed=!1})});t.prototype.getGroupPixelWidth=function(){var c=this.series,a=c.length,g,b=0,n=!1,v;for(g=a;g--;)(v=c[g].options.dataGrouping)&&(b=Math.max(b,v.groupPixelWidth));for(g=a;g--;)(v=c[g].options.dataGrouping)&&c[g].hasProcessed&&(a=(c[g].processedXData||c[g].data).length,c[g].groupPixelWidth||a>this.chart.plotSizeX/b||a&&v.forced)&&
(n=!0);return n?b:0};t.prototype.setDataGrouping=function(a,f){var c;f=G(f,!0);a||(a={forced:!1,units:null});if(this instanceof t)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else H(this.chart.options.series,function(c){c.dataGrouping=a},!1);f&&this.chart.redraw()}})(K);(function(a){var E=a.each,k=a.Point,t=a.seriesType,z=a.seriesTypes;t("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},
threshold:null},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"close",translate:function(){var a=this,k=a.yAxis,t=!!a.modifyValue,w=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];z.column.prototype.translate.apply(a);E(a.points,function(h){E([h.open,h.high,h.low,h.close,h.low],function(q,G){null!==q&&(t&&(q=a.modifyValue(q)),h[w[G]]=k.toPixels(q,!0))});h.tooltipPos[1]=h.plotHigh+k.pos-a.chart.plotTop})},drawPoints:function(){var a=
this,k=a.chart;E(a.points,function(t){var w,h,q,G,e=t.graphic,b,d=!e;void 0!==t.plotY&&(e||(t.graphic=e=k.renderer.path().add(a.group)),h=e.strokeWidth()%2/2,b=Math.round(t.plotX)-h,q=Math.round(t.shapeArgs.width/2),G=["M",b,Math.round(t.yBottom),"L",b,Math.round(t.plotHigh)],null!==t.open&&(w=Math.round(t.plotOpen)+h,G.push("M",b,w,"L",b-q,w)),null!==t.close&&(w=Math.round(t.plotClose)+h,G.push("M",b,w,"L",b+q,w)),e[d?"attr":"animate"]({d:G}).addClass(t.getClassName(),!0))})},animate:null},{getClassName:function(){return k.prototype.getClassName.call(this)+
(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})})(K);(function(a){var E=a.defaultPlotOptions,k=a.each,t=a.merge;a=a.seriesType;a("candlestick","ohlc",t(E.column,{states:{hover:{lineWidth:2}},tooltip:E.ohlc.tooltip,threshold:null}),{drawPoints:function(){var a=this,t=a.chart;k(a.points,function(k){var z=k.graphic,w,h,q,G,e,b,d,u=!z;void 0!==k.plotY&&(z||(k.graphic=z=t.renderer.path().add(a.group)),e=z.strokeWidth()%2/2,b=Math.round(k.plotX)-e,w=k.plotOpen,h=k.plotClose,q=
Math.min(w,h),w=Math.max(w,h),d=Math.round(k.shapeArgs.width/2),h=Math.round(q)!==Math.round(k.plotHigh),G=w!==k.yBottom,q=Math.round(q)+e,w=Math.round(w)+e,e=[],e.push("M",b-d,w,"L",b-d,q,"L",b+d,q,"L",b+d,w,"Z","M",b,q,"L",b,h?Math.round(k.plotHigh):q,"M",b,w,"L",b,G?Math.round(k.yBottom):w),z[u?"attr":"animate"]({d:e}).addClass(k.getClassName(),!0))})}})})(K);(function(a){var E=a.addEvent,k=a.each,t=a.noop,z=a.seriesType,F=a.seriesTypes,H=a.TrackerMixin,I=a.SVGRenderer.prototype.symbols,w=a.stableSort;
z("flags","column",{pointRange:0,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:a.Series.prototype.init,translate:function(){F.column.prototype.translate.apply(this);var a=this.options,q=this.chart,t=this.points,e=t.length-1,b,d,u=a.onSeries;b=u&&q.get(u);var a=a.onKey||"y",u=b&&b.options.step,A=b&&b.points,l=A&&A.length,
p=this.xAxis,g=this.yAxis,r=p.getExtremes(),C=0,x,c,f;if(b&&b.visible&&l)for(C=(b.pointXOffset||0)+(b.barW||0)/2,b=b.currentDataGrouping,c=A[l-1].x+(b?b.totalRange:0),w(t,function(a,c){return a.x-c.x}),a="plot"+a[0].toUpperCase()+a.substr(1);l--&&t[e]&&!(b=t[e],x=A[l],x.x<=b.x&&void 0!==x[a]&&(b.x<=c&&(b.plotY=x[a],x.x<b.x&&!u&&(f=A[l+1])&&void 0!==f[a]&&(b.plotY+=(b.x-x.x)/(f.x-x.x)*(f[a]-x[a]))),e--,l++,0>e)););k(t,function(a,c){var n;void 0===a.plotY&&(a.x>=r.min&&a.x<=r.max?a.plotY=q.chartHeight-
p.bottom-(p.opposite?p.height:0)+p.offset-g.top:a.shapeArgs={});a.plotX+=C;(d=t[c-1])&&d.plotX===a.plotX&&(void 0===d.stackIndex&&(d.stackIndex=0),n=d.stackIndex+1);a.stackIndex=n})},drawPoints:function(){var h=this.points,q=this.chart,k=q.renderer,e,b,d=this.options,t=d.y,w,l,p,g,r,C,x,c=this.yAxis;for(l=h.length;l--;)p=h[l],x=p.plotX>this.xAxis.len,e=p.plotX,g=p.stackIndex,w=p.options.shape||d.shape,b=p.plotY,void 0!==b&&(b=p.plotY+t-(void 0!==g&&g*d.stackDistance)),r=g?void 0:p.plotX,C=g?void 0:
p.plotY,g=p.graphic,void 0!==b&&0<=e&&!x?(g||(g=p.graphic=k.label("",null,null,w,null,null,d.useHTML).attr({align:"flag"===w?"left":"center",width:d.width,height:d.height,"text-align":d.textAlign}).addClass("highcharts-point").add(this.markerGroup),p.graphic.div&&(p.graphic.div.point=p)),0<e&&(e-=g.strokeWidth()%2),g.attr({text:p.options.title||d.title||"A",x:e,y:b,anchorX:r,anchorY:C}),p.tooltipPos=q.inverted?[c.len+c.pos-q.plotLeft-b,this.xAxis.len-e]:[e,b+c.pos-q.plotTop]):g&&(p.graphic=g.destroy());
d.useHTML&&a.wrap(this.markerGroup,"on",function(c){return a.SVGElement.prototype.on.apply(c.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})},drawTracker:function(){var a=this.points;H.drawTrackerPoint.apply(this);k(a,function(h){var q=h.graphic;q&&E(q.element,"mouseover",function(){0<h.stackIndex&&!h.raised&&(h._y=q.y,q.attr({y:h._y-8}),h.raised=!0);k(a,function(a){a!==h&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:t,buildKDTree:t,setClip:t});I.flag=
function(a,q,k,e,b){return["M",b&&b.anchorX||a,b&&b.anchorY||q,"L",a,q+e,a,q,a+k,q,a+k,q+e,a,q+e,"Z"]};k(["circle","square"],function(a){I[a+"pin"]=function(h,k,e,b,d){var q=d&&d.anchorX;d=d&&d.anchorY;"circle"===a&&b>e&&(h-=Math.round((b-e)/2),e=b);h=I[a](h,k,e,b);q&&d&&h.push("M",q,k>d?k:k+b,"L",q,d);return h}})})(K);(function(a){function E(a,b,d){this.init(a,b,d)}var k=a.addEvent,t=a.Axis,z=a.correctFloat,F=a.defaultOptions,H=a.defined,I=a.destroyObjectProperties,w=a.doc,h=a.each,q=a.fireEvent,
G=a.hasTouch,e=a.isTouchDevice,b=a.merge,d=a.pick,u=a.removeEvent,A=a.wrap,l,p={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!e,margin:10,minWidth:6,step:.2,zIndex:3};F.scrollbar=b(!0,p,F.scrollbar);a.swapXY=l=function(a,b){var g=a.length,d;if(b)for(b=0;b<g;b+=3)d=a[b+1],a[b+1]=a[b+2],a[b+2]=d;return a};E.prototype={init:function(a,r,e){this.scrollbarButtons=[];this.renderer=a;this.userOptions=r;this.options=b(p,r);this.chart=e;this.size=d(this.options.size,this.options.height);
r.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,b=this.options,d=this.size,e;this.group=e=a.g("scrollbar").attr({zIndex:b.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:b.trackBorderRadius||0,height:d,width:d}).add(e);this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(e);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,
width:d,r:b.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(l(["M",-3,d/4,"L",-3,2*d/3,"M",0,d/4,"L",0,2*d/3,"M",3,d/4,"L",3,2*d/3],b.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,b,d,e){var c=this.options.vertical,f=0,g=
this.rendered?"animate":"attr";this.x=a;this.y=b+this.trackBorderWidth;this.width=d;this.xOffset=this.height=e;this.yOffset=f;c?(this.width=this.yOffset=d=f=this.size,this.xOffset=b=0,this.barWidth=e-2*d,this.x=a+=this.options.margin):(this.height=this.xOffset=e=b=this.size,this.barWidth=d-2*e,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:d,height:e});this.scrollbarButtons[1][g]({translateX:c?0:d-b,translateY:c?e-f:0})},drawScrollbarButton:function(a){var g=
this.renderer,b=this.scrollbarButtons,d=this.options,c=this.size,f;f=g.g().add(this.group);b.push(f);f=g.rect().addClass("highcharts-scrollbar-button").add(f);f.attr(f.crisp({x:-.5,y:-.5,width:c+1,height:c+1,r:d.buttonBorderRadius},f.strokeWidth()));g.path(l(["M",c/2+(a?-1:1),c/2-3,"L",c/2+(a?-1:1),c/2+3,"L",c/2+(a?2:-2),c/2],d.vertical)).addClass("highcharts-scrollbar-arrow").add(b[a])},setRange:function(a,b){var g=this.options,d=g.vertical,c=g.minWidth,f=this.barWidth,m,e,n=this.rendered&&!this.hasDragged?
"animate":"attr";H(f)&&(a=Math.max(a,0),m=Math.ceil(f*a),this.calculatedWidth=e=z(f*Math.min(b,1)-m),e<c&&(m=(f-c+e)*a,e=c),c=Math.floor(m+this.xOffset+this.yOffset),f=e/2-.5,this.from=a,this.to=b,d?(this.scrollbarGroup[n]({translateY:c}),this.scrollbar[n]({height:e}),this.scrollbarRifles[n]({translateY:f}),this.scrollbarTop=c,this.scrollbarLeft=0):(this.scrollbarGroup[n]({translateX:c}),this.scrollbar[n]({width:e}),this.scrollbarRifles[n]({translateX:f}),this.scrollbarLeft=c,this.scrollbarTop=0),
12>=e?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===g.showFull&&(0>=a&&1<=b?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),e=a.options.vertical?"chartY":"chartX",c=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][e]||(d=a.cursorToScrollbarPosition(d)[e],e=a[e],e=d-e,a.hasDragged=!0,a.updatePosition(c[0]+e,c[1]+e),a.hasDragged&&q(a,"changed",{from:a.from,to:a.to,
trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&q(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=z(a.to-a.from)*a.options.step;a.updatePosition(z(a.from-
d),z(a.to-d));q(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);q(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b),e=a.to-a.from,c=a.y+a.scrollbarTop,f=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>c||!a.options.vertical&&d.chartX>f?a.updatePosition(a.from+e,a.to+e):a.updatePosition(a.from-e,a.to-e);
q(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,b){1<b&&(a=z(1-z(b-a)),b=1);0>a&&(b=z(b-a),a=0);this.from=a;this.to=b},update:function(a){this.destroy();this.init(this.chart.renderer,b(!0,this.options,a),this.chart)},addEvents:function(){var a=
this.options.inverted?[1,0]:[0,1],b=this.scrollbarButtons,d=this.scrollbarGroup.element,e=this.mouseDownHandler,c=this.mouseMoveHandler,f=this.mouseUpHandler,a=[[b[a[0]].element,"click",this.buttonToMinClick],[b[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[d,"mousedown",e],[w,"mousemove",c],[w,"mouseup",f]];G&&a.push([d,"touchstart",e],[w,"touchmove",c],[w,"touchend",f]);h(a,function(a){k.apply(null,a)});this._events=a},removeEvents:function(){h(this._events,
function(a){u.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();h(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,I(a.scrollbarButtons))}};A(t.prototype,"init",function(a){var b=this;a.apply(b,Array.prototype.slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,
b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new E(b.chart.renderer,b.options.scrollbar,b.chart),k(b.scrollbar,"changed",function(a){var e=Math.min(d(b.options.min,b.min),b.min,b.dataMin),c=Math.max(d(b.options.max,b.max),b.max,b.dataMax)-e,f;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(f=e+c*this.to,e+=c*this.from):(f=e+c*(1-this.from),e+=c*(1-this.to));b.setExtremes(e,f,!0,!1,a)}))});A(t.prototype,"render",function(a){var b=Math.min(d(this.options.min,this.min),this.min,this.dataMin),
后面还有 63 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。