highstock-rails 2.1.10 → 5.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/css/highcharts.css +760 -0
- data/app/assets/javascripts/highstock.js +511 -419
- data/app/assets/javascripts/highstock/highstock.js +472 -0
- data/app/assets/javascripts/highstock/highstock.js.map +8 -0
- data/app/assets/javascripts/highstock/highstock.src.js +28809 -0
- data/app/assets/javascripts/highstock/modules/accessibility.js +48 -0
- data/app/assets/javascripts/highstock/modules/accessibility.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/accessibility.src.js +1131 -0
- data/app/assets/javascripts/highstock/modules/annotations.js +14 -0
- data/app/assets/javascripts/highstock/modules/annotations.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/annotations.src.js +407 -0
- data/app/assets/javascripts/highstock/modules/boost-canvas.js +23 -0
- data/app/assets/javascripts/highstock/modules/boost-canvas.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/boost-canvas.src.js +771 -0
- data/app/assets/javascripts/highstock/modules/boost.js +51 -12
- data/app/assets/javascripts/highstock/modules/boost.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/boost.src.js +2580 -492
- data/app/assets/javascripts/highstock/modules/broken-axis.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/canvasrenderer.experimental.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/data.js +19 -19
- data/app/assets/javascripts/highstock/modules/data.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/data.src.js +974 -950
- data/app/assets/javascripts/highstock/modules/drilldown.js +25 -17
- data/app/assets/javascripts/highstock/modules/drilldown.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/drilldown.src.js +790 -709
- data/app/assets/javascripts/highstock/modules/export-data.js +17 -0
- data/app/assets/javascripts/highstock/modules/export-data.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/export-data.src.js +417 -0
- data/app/assets/javascripts/highstock/modules/exporting.js +21 -18
- data/app/assets/javascripts/highstock/modules/exporting.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/exporting.src.js +1013 -768
- data/app/assets/javascripts/highstock/modules/funnel.js +6 -7
- data/app/assets/javascripts/highstock/modules/funnel.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/funnel.src.js +284 -308
- data/app/assets/javascripts/highstock/modules/gantt.js +24 -0
- data/app/assets/javascripts/highstock/modules/gantt.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/gantt.src.js +793 -0
- data/app/assets/javascripts/highstock/modules/grid-axis.js +19 -0
- data/app/assets/javascripts/highstock/modules/grid-axis.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/grid-axis.src.js +545 -0
- data/app/assets/javascripts/highstock/modules/heatmap.js +20 -18
- data/app/assets/javascripts/highstock/modules/heatmap.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/heatmap.src.js +738 -633
- data/app/assets/javascripts/highstock/modules/map-parser.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/map.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/no-data-to-display.js +5 -5
- data/app/assets/javascripts/highstock/modules/no-data-to-display.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/no-data-to-display.src.js +140 -133
- data/app/assets/javascripts/highstock/modules/offline-exporting.js +12 -7
- data/app/assets/javascripts/highstock/modules/offline-exporting.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/offline-exporting.src.js +543 -270
- data/app/assets/javascripts/highstock/modules/overlapping-datalabels.js +10 -0
- data/app/assets/javascripts/highstock/modules/overlapping-datalabels.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/overlapping-datalabels.src.js +187 -0
- data/app/assets/javascripts/highstock/modules/series-label.js +19 -0
- data/app/assets/javascripts/highstock/modules/series-label.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/series-label.src.js +606 -0
- data/app/assets/javascripts/highstock/modules/solid-gauge.js +9 -8
- data/app/assets/javascripts/highstock/modules/solid-gauge.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/solid-gauge.src.js +334 -266
- data/app/assets/javascripts/highstock/modules/static-scale.js +12 -0
- data/app/assets/javascripts/highstock/modules/static-scale.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/static-scale.src.js +64 -0
- data/app/assets/javascripts/highstock/modules/stock.js +123 -0
- data/app/assets/javascripts/highstock/modules/stock.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/stock.src.js +6247 -0
- data/app/assets/javascripts/highstock/modules/treemap.js +22 -23
- data/app/assets/javascripts/highstock/modules/treemap.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/treemap.src.js +884 -859
- data/app/assets/javascripts/highstock/modules/xrange-series.js +15 -0
- data/app/assets/javascripts/highstock/modules/xrange-series.js.map +8 -0
- data/app/assets/javascripts/highstock/modules/xrange-series.src.js +258 -0
- data/app/assets/javascripts/highstock/themes/dark-blue.js +307 -244
- data/app/assets/javascripts/highstock/themes/dark-green.js +303 -244
- data/app/assets/javascripts/highstock/themes/dark-unica.js +231 -201
- data/app/assets/javascripts/highstock/themes/gray.js +314 -245
- data/app/assets/javascripts/highstock/themes/grid-light.js +91 -66
- data/app/assets/javascripts/highstock/themes/grid.js +124 -96
- data/app/assets/javascripts/highstock/themes/sand-signika.js +119 -94
- data/app/assets/javascripts/highstock/themes/skies.js +108 -85
- data/lib/highstock/rails/version.rb +1 -1
- metadata +54 -11
- data/app/assets/javascripts/highstock/adapters/standalone-framework.js +0 -18
- data/app/assets/javascripts/highstock/adapters/standalone-framework.src.js +0 -635
- data/app/assets/javascripts/highstock/highcharts-3d.js +0 -48
- data/app/assets/javascripts/highstock/highcharts-3d.src.js +0 -1711
- data/app/assets/javascripts/highstock/highcharts-more.js +0 -55
- data/app/assets/javascripts/highstock/highstock-all.js +0 -637
- data/app/assets/javascripts/highstock/modules/canvas-tools.js +0 -133
- data/app/assets/javascripts/highstock/modules/canvas-tools.src.js +0 -3114
@@ -1,23 +1,25 @@
|
|
1
1
|
/*
|
2
|
-
Highcharts JS
|
2
|
+
Highcharts JS v5.0.11 (2017-05-04)
|
3
3
|
|
4
|
-
(c)
|
4
|
+
(c) 2009-2017 Torstein Honsi
|
5
5
|
|
6
6
|
License: www.highcharts.com/license
|
7
7
|
*/
|
8
|
-
(function(
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
this.width=
|
13
|
-
e;
|
14
|
-
stops:b.stops||[[0,b.minColor],[1,b.maxColor]]}},drawLegendSymbol:function(a,b){var
|
15
|
-
this.series[
|
16
|
-
this.top,"Z"]:["M",this.left,e,"L",this.left-6,e+6,this.left-6,e-6,"Z"]:
|
17
|
-
|
18
|
-
function(
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
8
|
+
(function(n){"object"===typeof module&&module.exports?module.exports=n:n(Highcharts)})(function(n){(function(c){var k=c.Axis,r=c.Chart,h=c.color,g,e=c.each,w=c.extend,x=c.isNumber,m=c.Legend,t=c.LegendSymbolMixin,y=c.noop,q=c.merge,v=c.pick,u=c.wrap;g=c.ColorAxis=function(){this.init.apply(this,arguments)};w(g.prototype,k.prototype);w(g.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},
|
9
|
+
width:.01},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(k.prototype.keepProps),init:function(a,b){var d="vertical"!==a.options.legend.layout,f;this.coll="colorAxis";f=q(this.defaultColorAxisOptions,{side:d?2:1,reversed:!d},b,{opposite:!d,showEmpty:!1,title:null});k.prototype.init.call(this,a,f);b.dataClasses&&this.initDataClasses(b);this.initStops(b);
|
10
|
+
this.horiz=d;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(a,b,d){var f;b.rgba.length&&a.rgba.length?(a=a.rgba,b=b.rgba,f=1!==b[3]||1!==a[3],a=(f?"rgba(":"rgb(")+Math.round(b[0]+(a[0]-b[0])*(1-d))+","+Math.round(b[1]+(a[1]-b[1])*(1-d))+","+Math.round(b[2]+(a[2]-b[2])*(1-d))+(f?","+(b[3]+(a[3]-b[3])*(1-d)):"")+")"):a=b.input||"none";return a},initDataClasses:function(a){var b=this,d,f=0,p=this.chart.options.chart.colorCount,c=this.options,l=a.dataClasses.length;this.dataClasses=
|
11
|
+
d=[];this.legendItems=[];e(a.dataClasses,function(a,e){a=q(a);d.push(a);a.color||("category"===c.dataClassColor?(a.colorIndex=f,f++,f===p&&(f=0)):a.color=b.tweenColors(h(c.minColor),h(c.maxColor),2>l?.5:e/(l-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];e(this.stops,function(a){a.color=h(a[1])})},setOptions:function(a){k.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,
|
12
|
+
b=this.chart,d=b.options.legend||{},f,p;a?(this.left=d=a.attr("x"),this.top=f=a.attr("y"),this.width=p=a.attr("width"),this.height=a=a.attr("height"),this.right=b.chartWidth-d-p,this.bottom=b.chartHeight-f-a,this.len=this.horiz?p:a,this.pos=this.horiz?d:f):this.len=(this.horiz?d.symbolWidth:d.symbolHeight)||this.defaultLegendLength},toColor:function(a,b){var d=this.stops,f,p,c=this.dataClasses,l,e;if(c)for(e=c.length;e--;){if(l=c[e],f=l.from,d=l.to,(void 0===f||a>=f)&&(void 0===d||a<=d)){p=l.color;
|
13
|
+
b&&(b.dataClass=e,b.colorIndex=l.colorIndex);break}}else{this.isLog&&(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(e=d.length;e--&&!(a>d[e][0]););f=d[e]||d[e+1];d=d[e+1]||f;a=1-(d[0]-a)/(d[0]-f[0]||1);p=this.tweenColors(f.color,d.color,a)}return p},getOffset:function(){var a=this.legendGroup,b=this.chart.axisOffset[this.side];a&&(this.axisParent=a,k.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=
|
14
|
+
b)},setLegendColor:function(){var a,b=this.options,d=this.reversed;a=d?1:0;d=d?0:1;a=this.horiz?[a,0,d,0]:[0,d,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:b.stops||[[0,b.minColor],[1,b.maxColor]]}},drawLegendSymbol:function(a,b){var d=a.padding,f=a.options,c=this.horiz,e=v(f.symbolWidth,c?this.defaultLegendLength:12),l=v(f.symbolHeight,c?12:this.defaultLegendLength),g=v(f.labelPadding,c?16:30),f=v(f.itemDistance,10);this.setLegendColor();b.legendSymbol=this.chart.renderer.rect(0,
|
15
|
+
a.baseline-11,e,l).attr({zIndex:1}).add(b.legendGroup);this.legendItemWidth=e+d+(c?f:g);this.legendItemHeight=l+d+(c?g:0)},setState:y,visible:!0,setVisible:y,getSeriesExtremes:function(){var a=this.series,b=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;b--;)void 0!==a[b].valueMin&&(this.dataMin=Math.min(this.dataMin,a[b].valueMin),this.dataMax=Math.max(this.dataMax,a[b].valueMax))},drawCrosshair:function(a,b){var d=b&&b.plotX,c=b&&b.plotY,e,g=this.pos,l=this.len;b&&(e=this.toPixels(b[b.series.colorKey]),
|
16
|
+
e<g?e=g-2:e>g+l&&(e=g+l+2),b.plotX=e,b.plotY=this.len-e,k.prototype.drawCrosshair.call(this,a,b),b.plotX=d,b.plotY=c,this.cross&&this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup))},getPlotLinePath:function(a,b,d,c,e){return x(e)?this.horiz?["M",e-4,this.top-6,"L",e+4,this.top-6,e,this.top,"Z"]:["M",this.left,e,"L",this.left-6,e+6,this.left-6,e-6,"Z"]:k.prototype.getPlotLinePath.call(this,a,b,d,c)},update:function(a,b){var d=this.chart,c=d.legend;e(this.series,function(a){a.isDirtyData=
|
17
|
+
!0});a.dataClasses&&c.allItems&&(e(c.allItems,function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),d.isDirtyLegend=!0);d.options[this.coll]=q(this.userOptions,a);k.prototype.update.call(this,a,b);this.legendItem&&(this.setLegendColor(),c.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);k.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var a=this,b=this.chart,d=this.legendItems,f=b.options.legend,g=f.valueDecimals,u=f.valueSuffix||
|
18
|
+
"",l;d.length||e(this.dataClasses,function(f,k){var m=!0,q=f.from,h=f.to;l="";void 0===q?l="\x3c ":void 0===h&&(l="\x3e ");void 0!==q&&(l+=c.numberFormat(q,g)+u);void 0!==q&&void 0!==h&&(l+=" - ");void 0!==h&&(l+=c.numberFormat(h,g)+u);d.push(w({chart:b,name:l,options:{},drawLegendSymbol:t.drawRectangle,visible:!0,setState:y,isDataClass:!0,setVisible:function(){m=this.visible=!m;e(a.series,function(a){e(a.points,function(a){a.dataClass===k&&a.setVisible(m)})});b.legend.colorizeItem(this,m)}},f))});
|
19
|
+
return d},name:""});e(["fill","stroke"],function(a){c.Fx.prototype[a+"Setter"]=function(){this.elem.attr(a,g.prototype.tweenColors(h(this.start),h(this.end),this.pos),null,!0)}});u(r.prototype,"getAxes",function(a){var b=this.options.colorAxis;a.call(this);this.colorAxis=[];b&&new g(this,b)});u(m.prototype,"getAllItems",function(a){var b=[],d=this.chart.colorAxis[0];d&&d.options&&(d.options.showInLegend&&(d.options.dataClasses?b=b.concat(d.getDataClassLegendSymbols()):b.push(d)),e(d.series,function(a){a.options.showInLegend=
|
20
|
+
!1}));return b.concat(a.call(this))});u(m.prototype,"colorizeItem",function(a,b,d){a.call(this,b,d);d&&b.legendColor&&b.legendSymbol.attr({fill:b.legendColor})})})(n);(function(c){var k=c.defined,r=c.each,h=c.noop;c.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(c){var e=this,g=c?"show":"hide";r(["graphic","dataLabel"],function(c){if(e[c])e[c][g]()})},setState:function(g){c.Point.prototype.setState.call(this,g);this.graphic&&this.graphic.attr({zIndex:"hover"===g?
|
21
|
+
1:0})}};c.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:h,parallelArrays:["x","y","value"],colorKey:"value",translateColors:function(){var c=this,e=this.options.nullColor,k=this.colorAxis,h=this.colorKey;r(this.data,function(g){var t=g[h];if(t=g.options.color||(g.isNull?e:k&&void 0!==t?k.toColor(t,g):g.color||c.color))g.color=t})},colorAttribs:function(c){var e={};k(c.color)&&
|
22
|
+
(e[this.colorProp||"fill"]=c.color);return e}}})(n);(function(c){var k=c.colorPointMixin,r=c.each,h=c.merge,g=c.noop,e=c.pick,n=c.Series,x=c.seriesType,m=c.seriesTypes;x("heatmap","scatter",{animation:!1,borderWidth:0,dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},
|
23
|
+
h(c.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var c;m.scatter.prototype.init.apply(this,arguments);c=this.options;c.pointRange=e(c.pointRange,c.colsize||1);this.yAxis.axisPointRange=c.rowsize||1},translate:function(){var c=this.options,e=this.xAxis,g=this.yAxis,k=function(c,a,b){return Math.min(Math.max(a,c),b)};this.generatePoints();r(this.points,function(h){var a=(c.colsize||1)/2,b=(c.rowsize||
|
24
|
+
1)/2,d=k(Math.round(e.len-e.translate(h.x-a,0,1,0,1)),-e.len,2*e.len),a=k(Math.round(e.len-e.translate(h.x+a,0,1,0,1)),-e.len,2*e.len),f=k(Math.round(g.translate(h.y-b,0,1,0,1)),-g.len,2*g.len),b=k(Math.round(g.translate(h.y+b,0,1,0,1)),-g.len,2*g.len);h.plotX=h.clientX=(d+a)/2;h.plotY=(f+b)/2;h.shapeType="rect";h.shapeArgs={x:Math.min(d,a),y:Math.min(f,b),width:Math.abs(a-d),height:Math.abs(b-f)}});this.translateColors()},drawPoints:function(){m.column.prototype.drawPoints.call(this);r(this.points,
|
25
|
+
function(c){c.graphic.css(this.colorAttribs(c))},this)},animate:g,getBox:g,drawLegendSymbol:c.LegendSymbolMixin.drawRectangle,alignDataLabel:m.column.prototype.alignDataLabel,getExtremes:function(){n.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;n.prototype.getExtremes.call(this)}}),k)})(n)});
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{
|
2
|
+
"version":3,
|
3
|
+
"file":"",
|
4
|
+
"lineCount":25,
|
5
|
+
"mappings":"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",
|
6
|
+
"sources":["Input_0"],
|
7
|
+
"names":["factory","module","exports","Highcharts","H","Axis","Chart","color","ColorAxis","each","extend","isNumber","Legend","LegendSymbolMixin","noop","merge","pick","wrap","H.ColorAxis","init","apply","arguments","prototype","defaultColorAxisOptions","lineWidth","minPadding","maxPadding","gridLineWidth","tickPixelInterval","startOnTick","endOnTick","offset","marker","animation","duration","width","labels","overflow","rotation","minColor","maxColor","tickLength","showInLegend","keepProps","concat","chart","userOptions","horiz","options","legend","layout","coll","side","reversed","opposite","showEmpty","title","call","dataClasses","initDataClasses","initStops","zoomEnabled","defaultLegendLength","tweenColors","from","to","pos","hasAlpha","rgba","length","ret","Math","round","input","axis","colorCounter","colorCount","len","legendItems","dataClass","i","push","dataClassColor","colorIndex","stops","stop","setOptions","crosshair","setAxisSize","symbol","legendSymbol","legendOptions","y","left","x","attr","top","height","right","chartWidth","bottom","chartHeight","symbolWidth","symbolHeight","toColor","value","point","undefined","isLog","val2lin","max","min","getOffset","group","legendGroup","sideOffset","axisOffset","axisParent","added","labelLeft","labelRight","setLegendColor","grad","one","zero","legendColor","linearGradient","x1","y1","x2","y2","drawLegendSymbol","item","padding","labelPadding","itemDistance","renderer","rect","baseline","zIndex","add","legendItemWidth","legendItemHeight","setState","visible","setVisible","getSeriesExtremes","series","dataMin","Infinity","dataMax","valueMin","valueMax","drawCrosshair","e","plotX","plotY","crossPos","axisPos","axisLen","toPixels","colorKey","cross","addClass","getPlotLinePath","a","b","c","d","update","newOptions","redraw","isDirtyData","allItems","isDataClass","destroy","isDirtyLegend","legendItem","colorizeItem","remove","destroyItem","getDataClassLegendSymbols","valueDecimals","valueSuffix","name","vis","numberFormat","drawRectangle","points","prop","Fx","elem","start","end","proceed","colorAxisOptions","colorAxis","fill","defined","colorPointMixin","isValid","method","key","state","Point","graphic","colorSeriesMixin","pointArrayMap","axisTypes","optionalAxis","trackerGroups","getSymbol","parallelArrays","translateColors","nullColor","data","isNull","colorAttribs","colorProp","Series","seriesType","seriesTypes","borderWidth","dataLabels","formatter","inside","verticalAlign","crop","pointRange","tooltip","pointFormat","states","normal","hover","halo","brightness","hasPointSpecificOptions","supportsDrilldown","getExtremesFromAll","directTouch","scatter","colsize","yAxis","axisPointRange","rowsize","translate","xAxis","between","generatePoints","xPad","yPad","clientX","shapeType","shapeArgs","abs","drawPoints","column","css","animate","getBox","alignDataLabel","getExtremes","valueData"]
|
8
|
+
}
|
@@ -1,711 +1,816 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS
|
2
|
+
* @license Highcharts JS v5.0.11 (2017-05-04)
|
3
3
|
*
|
4
|
-
* (c)
|
4
|
+
* (c) 2009-2017 Torstein Honsi
|
5
5
|
*
|
6
6
|
* License: www.highcharts.com/license
|
7
7
|
*/
|
8
|
-
|
9
|
-
(function
|
8
|
+
'use strict';
|
9
|
+
(function(factory) {
|
10
10
|
if (typeof module === 'object' && module.exports) {
|
11
11
|
module.exports = factory;
|
12
12
|
} else {
|
13
13
|
factory(Highcharts);
|
14
14
|
}
|
15
|
-
}(function
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
15
|
+
}(function(Highcharts) {
|
16
|
+
(function(H) {
|
17
|
+
/**
|
18
|
+
* (c) 2010-2017 Torstein Honsi
|
19
|
+
*
|
20
|
+
* License: www.highcharts.com/license
|
21
|
+
*/
|
22
|
+
var Axis = H.Axis,
|
23
|
+
Chart = H.Chart,
|
24
|
+
color = H.color,
|
25
|
+
ColorAxis,
|
26
|
+
each = H.each,
|
27
|
+
extend = H.extend,
|
28
|
+
isNumber = H.isNumber,
|
29
|
+
Legend = H.Legend,
|
30
|
+
LegendSymbolMixin = H.LegendSymbolMixin,
|
31
|
+
noop = H.noop,
|
32
|
+
merge = H.merge,
|
33
|
+
pick = H.pick,
|
34
|
+
wrap = H.wrap;
|
35
|
+
|
36
|
+
/**
|
37
|
+
* The ColorAxis object for inclusion in gradient legends
|
38
|
+
*/
|
39
|
+
ColorAxis = H.ColorAxis = function() {
|
40
|
+
this.init.apply(this, arguments);
|
41
|
+
};
|
42
|
+
extend(ColorAxis.prototype, Axis.prototype);
|
43
|
+
extend(ColorAxis.prototype, {
|
44
|
+
defaultColorAxisOptions: {
|
45
|
+
lineWidth: 0,
|
46
|
+
minPadding: 0,
|
47
|
+
maxPadding: 0,
|
48
|
+
gridLineWidth: 1,
|
49
|
+
tickPixelInterval: 72,
|
50
|
+
startOnTick: true,
|
51
|
+
endOnTick: true,
|
52
|
+
offset: 0,
|
53
|
+
marker: {
|
54
|
+
animation: {
|
55
|
+
duration: 50
|
56
|
+
},
|
57
|
+
width: 0.01
|
58
|
+
|
59
|
+
},
|
60
|
+
labels: {
|
61
|
+
overflow: 'justify',
|
62
|
+
rotation: 0
|
61
63
|
},
|
62
|
-
|
63
|
-
|
64
|
+
minColor: '#e6ebf5',
|
65
|
+
maxColor: '#003399',
|
66
|
+
tickLength: 5,
|
67
|
+
showInLegend: true
|
64
68
|
},
|
65
|
-
|
66
|
-
|
69
|
+
|
70
|
+
// Properties to preserve after destroy, for Axis.update (#5881, #6025)
|
71
|
+
keepProps: [
|
72
|
+
'legendGroup',
|
73
|
+
'legendItemHeight',
|
74
|
+
'legendItemWidth',
|
75
|
+
'legendItem',
|
76
|
+
'legendSymbol'
|
77
|
+
].concat(Axis.prototype.keepProps),
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Initialize the color axis
|
81
|
+
*/
|
82
|
+
init: function(chart, userOptions) {
|
83
|
+
var horiz = chart.options.legend.layout !== 'vertical',
|
84
|
+
options;
|
85
|
+
|
86
|
+
this.coll = 'colorAxis';
|
87
|
+
|
88
|
+
// Build the options
|
89
|
+
options = merge(this.defaultColorAxisOptions, {
|
90
|
+
side: horiz ? 2 : 1,
|
91
|
+
reversed: !horiz
|
92
|
+
}, userOptions, {
|
93
|
+
opposite: !horiz,
|
94
|
+
showEmpty: false,
|
95
|
+
title: null
|
96
|
+
});
|
97
|
+
|
98
|
+
Axis.prototype.init.call(this, chart, options);
|
99
|
+
|
100
|
+
// Base init() pushes it to the xAxis array, now pop it again
|
101
|
+
//chart[this.isXAxis ? 'xAxis' : 'yAxis'].pop();
|
102
|
+
|
103
|
+
// Prepare data classes
|
104
|
+
if (userOptions.dataClasses) {
|
105
|
+
this.initDataClasses(userOptions);
|
106
|
+
}
|
107
|
+
this.initStops(userOptions);
|
108
|
+
|
109
|
+
// Override original axis properties
|
110
|
+
this.horiz = horiz;
|
111
|
+
this.zoomEnabled = false;
|
112
|
+
|
113
|
+
// Add default values
|
114
|
+
this.defaultLegendLength = 200;
|
67
115
|
},
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
},
|
132
|
-
|
133
|
-
initDataClasses: function (userOptions) {
|
134
|
-
var axis = this,
|
135
|
-
chart = this.chart,
|
136
|
-
dataClasses,
|
137
|
-
colorCounter = 0,
|
138
|
-
options = this.options,
|
139
|
-
len = userOptions.dataClasses.length;
|
140
|
-
this.dataClasses = dataClasses = [];
|
141
|
-
this.legendItems = [];
|
142
|
-
|
143
|
-
each(userOptions.dataClasses, function (dataClass, i) {
|
144
|
-
var colors;
|
145
|
-
|
146
|
-
dataClass = merge(dataClass);
|
147
|
-
dataClasses.push(dataClass);
|
148
|
-
if (!dataClass.color) {
|
149
|
-
if (options.dataClassColor === 'category') {
|
150
|
-
colors = chart.options.colors;
|
151
|
-
dataClass.color = colors[colorCounter++];
|
152
|
-
// loop back to zero
|
153
|
-
if (colorCounter === colors.length) {
|
154
|
-
colorCounter = 0;
|
116
|
+
|
117
|
+
/*
|
118
|
+
* Return an intermediate color between two colors, according to pos where 0
|
119
|
+
* is the from color and 1 is the to color.
|
120
|
+
* NOTE: Changes here should be copied
|
121
|
+
* to the same function in drilldown.src.js and solid-gauge-src.js.
|
122
|
+
*/
|
123
|
+
tweenColors: function(from, to, pos) {
|
124
|
+
// Check for has alpha, because rgba colors perform worse due to lack of
|
125
|
+
// support in WebKit.
|
126
|
+
var hasAlpha,
|
127
|
+
ret;
|
128
|
+
|
129
|
+
// Unsupported color, return to-color (#3920)
|
130
|
+
if (!to.rgba.length || !from.rgba.length) {
|
131
|
+
ret = to.input || 'none';
|
132
|
+
|
133
|
+
// Interpolate
|
134
|
+
} else {
|
135
|
+
from = from.rgba;
|
136
|
+
to = to.rgba;
|
137
|
+
hasAlpha = (to[3] !== 1 || from[3] !== 1);
|
138
|
+
ret = (hasAlpha ? 'rgba(' : 'rgb(') +
|
139
|
+
Math.round(to[0] + (from[0] - to[0]) * (1 - pos)) + ',' +
|
140
|
+
Math.round(to[1] + (from[1] - to[1]) * (1 - pos)) + ',' +
|
141
|
+
Math.round(to[2] + (from[2] - to[2]) * (1 - pos)) +
|
142
|
+
(hasAlpha ? (',' + (to[3] + (from[3] - to[3]) * (1 - pos))) : '') + ')';
|
143
|
+
}
|
144
|
+
return ret;
|
145
|
+
},
|
146
|
+
|
147
|
+
initDataClasses: function(userOptions) {
|
148
|
+
var axis = this,
|
149
|
+
chart = this.chart,
|
150
|
+
dataClasses,
|
151
|
+
colorCounter = 0,
|
152
|
+
colorCount = chart.options.chart.colorCount,
|
153
|
+
options = this.options,
|
154
|
+
len = userOptions.dataClasses.length;
|
155
|
+
this.dataClasses = dataClasses = [];
|
156
|
+
this.legendItems = [];
|
157
|
+
|
158
|
+
each(userOptions.dataClasses, function(dataClass, i) {
|
159
|
+
var colors;
|
160
|
+
|
161
|
+
dataClass = merge(dataClass);
|
162
|
+
dataClasses.push(dataClass);
|
163
|
+
if (!dataClass.color) {
|
164
|
+
if (options.dataClassColor === 'category') {
|
165
|
+
|
166
|
+
dataClass.colorIndex = colorCounter;
|
167
|
+
|
168
|
+
// increase and loop back to zero
|
169
|
+
colorCounter++;
|
170
|
+
if (colorCounter === colorCount) {
|
171
|
+
colorCounter = 0;
|
172
|
+
}
|
173
|
+
} else {
|
174
|
+
dataClass.color = axis.tweenColors(
|
175
|
+
color(options.minColor),
|
176
|
+
color(options.maxColor),
|
177
|
+
len < 2 ? 0.5 : i / (len - 1) // #3219
|
178
|
+
);
|
155
179
|
}
|
156
|
-
} else {
|
157
|
-
dataClass.color = axis.tweenColors(
|
158
|
-
Color(options.minColor),
|
159
|
-
Color(options.maxColor),
|
160
|
-
len < 2 ? 0.5 : i / (len - 1) // #3219
|
161
|
-
);
|
162
180
|
}
|
181
|
+
});
|
182
|
+
},
|
183
|
+
|
184
|
+
initStops: function(userOptions) {
|
185
|
+
this.stops = userOptions.stops || [
|
186
|
+
[0, this.options.minColor],
|
187
|
+
[1, this.options.maxColor]
|
188
|
+
];
|
189
|
+
each(this.stops, function(stop) {
|
190
|
+
stop.color = color(stop[1]);
|
191
|
+
});
|
192
|
+
},
|
193
|
+
|
194
|
+
/**
|
195
|
+
* Extend the setOptions method to process extreme colors and color
|
196
|
+
* stops.
|
197
|
+
*/
|
198
|
+
setOptions: function(userOptions) {
|
199
|
+
Axis.prototype.setOptions.call(this, userOptions);
|
200
|
+
|
201
|
+
this.options.crosshair = this.options.marker;
|
202
|
+
},
|
203
|
+
|
204
|
+
setAxisSize: function() {
|
205
|
+
var symbol = this.legendSymbol,
|
206
|
+
chart = this.chart,
|
207
|
+
legendOptions = chart.options.legend || {},
|
208
|
+
x,
|
209
|
+
y,
|
210
|
+
width,
|
211
|
+
height;
|
212
|
+
|
213
|
+
if (symbol) {
|
214
|
+
this.left = x = symbol.attr('x');
|
215
|
+
this.top = y = symbol.attr('y');
|
216
|
+
this.width = width = symbol.attr('width');
|
217
|
+
this.height = height = symbol.attr('height');
|
218
|
+
this.right = chart.chartWidth - x - width;
|
219
|
+
this.bottom = chart.chartHeight - y - height;
|
220
|
+
|
221
|
+
this.len = this.horiz ? width : height;
|
222
|
+
this.pos = this.horiz ? x : y;
|
223
|
+
} else {
|
224
|
+
// Fake length for disabled legend to avoid tick issues and such (#5205)
|
225
|
+
this.len = (this.horiz ? legendOptions.symbolWidth : legendOptions.symbolHeight) || this.defaultLegendLength;
|
163
226
|
}
|
164
|
-
}
|
165
|
-
},
|
166
|
-
|
167
|
-
initStops: function (userOptions) {
|
168
|
-
this.stops = userOptions.stops || [
|
169
|
-
[0, this.options.minColor],
|
170
|
-
[1, this.options.maxColor]
|
171
|
-
];
|
172
|
-
each(this.stops, function (stop) {
|
173
|
-
stop.color = Color(stop[1]);
|
174
|
-
});
|
175
|
-
},
|
227
|
+
},
|
176
228
|
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
this.pos = this.horiz ? x : y;
|
206
|
-
}
|
207
|
-
},
|
229
|
+
/**
|
230
|
+
* Translate from a value to a color
|
231
|
+
*/
|
232
|
+
toColor: function(value, point) {
|
233
|
+
var pos,
|
234
|
+
stops = this.stops,
|
235
|
+
from,
|
236
|
+
to,
|
237
|
+
color,
|
238
|
+
dataClasses = this.dataClasses,
|
239
|
+
dataClass,
|
240
|
+
i;
|
241
|
+
|
242
|
+
if (dataClasses) {
|
243
|
+
i = dataClasses.length;
|
244
|
+
while (i--) {
|
245
|
+
dataClass = dataClasses[i];
|
246
|
+
from = dataClass.from;
|
247
|
+
to = dataClass.to;
|
248
|
+
if ((from === undefined || value >= from) && (to === undefined || value <= to)) {
|
249
|
+
color = dataClass.color;
|
250
|
+
if (point) {
|
251
|
+
point.dataClass = i;
|
252
|
+
point.colorIndex = dataClass.colorIndex;
|
253
|
+
}
|
254
|
+
break;
|
255
|
+
}
|
256
|
+
}
|
208
257
|
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
dataClass,
|
220
|
-
i;
|
221
|
-
|
222
|
-
if (dataClasses) {
|
223
|
-
i = dataClasses.length;
|
224
|
-
while (i--) {
|
225
|
-
dataClass = dataClasses[i];
|
226
|
-
from = dataClass.from;
|
227
|
-
to = dataClass.to;
|
228
|
-
if ((from === UNDEFINED || value >= from) && (to === UNDEFINED || value <= to)) {
|
229
|
-
color = dataClass.color;
|
230
|
-
if (point) {
|
231
|
-
point.dataClass = i;
|
258
|
+
} else {
|
259
|
+
|
260
|
+
if (this.isLog) {
|
261
|
+
value = this.val2lin(value);
|
262
|
+
}
|
263
|
+
pos = 1 - ((this.max - value) / ((this.max - this.min) || 1));
|
264
|
+
i = stops.length;
|
265
|
+
while (i--) {
|
266
|
+
if (pos > stops[i][0]) {
|
267
|
+
break;
|
232
268
|
}
|
233
|
-
break;
|
234
269
|
}
|
270
|
+
from = stops[i] || stops[i + 1];
|
271
|
+
to = stops[i + 1] || from;
|
272
|
+
|
273
|
+
// The position within the gradient
|
274
|
+
pos = 1 - (to[0] - pos) / ((to[0] - from[0]) || 1);
|
275
|
+
|
276
|
+
color = this.tweenColors(
|
277
|
+
from.color,
|
278
|
+
to.color,
|
279
|
+
pos
|
280
|
+
);
|
235
281
|
}
|
282
|
+
return color;
|
283
|
+
},
|
284
|
+
|
285
|
+
/**
|
286
|
+
* Override the getOffset method to add the whole axis groups inside the legend.
|
287
|
+
*/
|
288
|
+
getOffset: function() {
|
289
|
+
var group = this.legendGroup,
|
290
|
+
sideOffset = this.chart.axisOffset[this.side];
|
291
|
+
|
292
|
+
if (group) {
|
236
293
|
|
237
|
-
|
294
|
+
// Hook for the getOffset method to add groups to this parent group
|
295
|
+
this.axisParent = group;
|
238
296
|
|
239
|
-
|
240
|
-
|
297
|
+
// Call the base
|
298
|
+
Axis.prototype.getOffset.call(this);
|
299
|
+
|
300
|
+
// First time only
|
301
|
+
if (!this.added) {
|
302
|
+
|
303
|
+
this.added = true;
|
304
|
+
|
305
|
+
this.labelLeft = 0;
|
306
|
+
this.labelRight = this.width;
|
307
|
+
}
|
308
|
+
// Reset it to avoid color axis reserving space
|
309
|
+
this.chart.axisOffset[this.side] = sideOffset;
|
241
310
|
}
|
242
|
-
|
243
|
-
|
311
|
+
},
|
312
|
+
|
313
|
+
/**
|
314
|
+
* Create the color gradient
|
315
|
+
*/
|
316
|
+
setLegendColor: function() {
|
317
|
+
var grad,
|
318
|
+
horiz = this.horiz,
|
319
|
+
options = this.options,
|
320
|
+
reversed = this.reversed,
|
321
|
+
one = reversed ? 1 : 0,
|
322
|
+
zero = reversed ? 0 : 1;
|
323
|
+
|
324
|
+
grad = horiz ? [one, 0, zero, 0] : [0, zero, 0, one]; // #3190
|
325
|
+
this.legendColor = {
|
326
|
+
linearGradient: {
|
327
|
+
x1: grad[0],
|
328
|
+
y1: grad[1],
|
329
|
+
x2: grad[2],
|
330
|
+
y2: grad[3]
|
331
|
+
},
|
332
|
+
stops: options.stops || [
|
333
|
+
[0, options.minColor],
|
334
|
+
[1, options.maxColor]
|
335
|
+
]
|
336
|
+
};
|
337
|
+
},
|
338
|
+
|
339
|
+
/**
|
340
|
+
* The color axis appears inside the legend and has its own legend symbol
|
341
|
+
*/
|
342
|
+
drawLegendSymbol: function(legend, item) {
|
343
|
+
var padding = legend.padding,
|
344
|
+
legendOptions = legend.options,
|
345
|
+
horiz = this.horiz,
|
346
|
+
width = pick(legendOptions.symbolWidth, horiz ? this.defaultLegendLength : 12),
|
347
|
+
height = pick(legendOptions.symbolHeight, horiz ? 12 : this.defaultLegendLength),
|
348
|
+
labelPadding = pick(legendOptions.labelPadding, horiz ? 16 : 30),
|
349
|
+
itemDistance = pick(legendOptions.itemDistance, 10);
|
350
|
+
|
351
|
+
this.setLegendColor();
|
352
|
+
|
353
|
+
// Create the gradient
|
354
|
+
item.legendSymbol = this.chart.renderer.rect(
|
355
|
+
0,
|
356
|
+
legend.baseline - 11,
|
357
|
+
width,
|
358
|
+
height
|
359
|
+
).attr({
|
360
|
+
zIndex: 1
|
361
|
+
}).add(item.legendGroup);
|
362
|
+
|
363
|
+
// Set how much space this legend item takes up
|
364
|
+
this.legendItemWidth = width + padding + (horiz ? itemDistance : labelPadding);
|
365
|
+
this.legendItemHeight = height + padding + (horiz ? labelPadding : 0);
|
366
|
+
},
|
367
|
+
/**
|
368
|
+
* Fool the legend
|
369
|
+
*/
|
370
|
+
setState: noop,
|
371
|
+
visible: true,
|
372
|
+
setVisible: noop,
|
373
|
+
getSeriesExtremes: function() {
|
374
|
+
var series = this.series,
|
375
|
+
i = series.length;
|
376
|
+
this.dataMin = Infinity;
|
377
|
+
this.dataMax = -Infinity;
|
244
378
|
while (i--) {
|
245
|
-
if (
|
246
|
-
|
379
|
+
if (series[i].valueMin !== undefined) {
|
380
|
+
this.dataMin = Math.min(this.dataMin, series[i].valueMin);
|
381
|
+
this.dataMax = Math.max(this.dataMax, series[i].valueMax);
|
247
382
|
}
|
248
383
|
}
|
249
|
-
|
250
|
-
|
384
|
+
},
|
385
|
+
drawCrosshair: function(e, point) {
|
386
|
+
var plotX = point && point.plotX,
|
387
|
+
plotY = point && point.plotY,
|
388
|
+
crossPos,
|
389
|
+
axisPos = this.pos,
|
390
|
+
axisLen = this.len;
|
391
|
+
|
392
|
+
if (point) {
|
393
|
+
crossPos = this.toPixels(point[point.series.colorKey]);
|
394
|
+
if (crossPos < axisPos) {
|
395
|
+
crossPos = axisPos - 2;
|
396
|
+
} else if (crossPos > axisPos + axisLen) {
|
397
|
+
crossPos = axisPos + axisLen + 2;
|
398
|
+
}
|
251
399
|
|
252
|
-
|
253
|
-
|
400
|
+
point.plotX = crossPos;
|
401
|
+
point.plotY = this.len - crossPos;
|
402
|
+
Axis.prototype.drawCrosshair.call(this, e, point);
|
403
|
+
point.plotX = plotX;
|
404
|
+
point.plotY = plotY;
|
254
405
|
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
);
|
260
|
-
}
|
261
|
-
return color;
|
262
|
-
},
|
406
|
+
if (this.cross) {
|
407
|
+
this.cross
|
408
|
+
.addClass('highcharts-coloraxis-marker')
|
409
|
+
.add(this.legendGroup);
|
263
410
|
|
264
|
-
/**
|
265
|
-
* Override the getOffset method to add the whole axis groups inside the legend.
|
266
|
-
*/
|
267
|
-
getOffset: function () {
|
268
|
-
var group = this.legendGroup,
|
269
|
-
sideOffset = this.chart.axisOffset[this.side];
|
270
411
|
|
271
|
-
if (group) {
|
272
412
|
|
273
|
-
|
274
|
-
|
413
|
+
}
|
414
|
+
}
|
415
|
+
},
|
416
|
+
getPlotLinePath: function(a, b, c, d, pos) {
|
417
|
+
return isNumber(pos) ? // crosshairs only // #3969 pos can be 0 !!
|
418
|
+
(this.horiz ? ['M', pos - 4, this.top - 6, 'L', pos + 4, this.top - 6, pos, this.top, 'Z'] : ['M', this.left, pos, 'L', this.left - 6, pos + 6, this.left - 6, pos - 6, 'Z']) :
|
419
|
+
Axis.prototype.getPlotLinePath.call(this, a, b, c, d);
|
420
|
+
},
|
275
421
|
|
276
|
-
|
277
|
-
|
422
|
+
update: function(newOptions, redraw) {
|
423
|
+
var chart = this.chart,
|
424
|
+
legend = chart.legend;
|
278
425
|
|
279
|
-
|
280
|
-
|
426
|
+
each(this.series, function(series) {
|
427
|
+
series.isDirtyData = true; // Needed for Axis.update when choropleth colors change
|
428
|
+
});
|
281
429
|
|
282
|
-
|
430
|
+
// When updating data classes, destroy old items and make sure new ones are created (#3207)
|
431
|
+
if (newOptions.dataClasses && legend.allItems) {
|
432
|
+
each(legend.allItems, function(item) {
|
433
|
+
if (item.isDataClass && item.legendGroup) {
|
434
|
+
item.legendGroup.destroy();
|
435
|
+
}
|
436
|
+
});
|
437
|
+
chart.isDirtyLegend = true;
|
438
|
+
}
|
283
439
|
|
284
|
-
|
285
|
-
|
440
|
+
// Keep the options structure updated for export. Unlike xAxis and yAxis, the colorAxis is
|
441
|
+
// not an array. (#3207)
|
442
|
+
chart.options[this.coll] = merge(this.userOptions, newOptions);
|
443
|
+
|
444
|
+
Axis.prototype.update.call(this, newOptions, redraw);
|
445
|
+
if (this.legendItem) {
|
446
|
+
this.setLegendColor();
|
447
|
+
legend.colorizeItem(this, true);
|
286
448
|
}
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
449
|
+
},
|
450
|
+
|
451
|
+
/**
|
452
|
+
* Extend basic axis remove by also removing the legend item.
|
453
|
+
*/
|
454
|
+
remove: function() {
|
455
|
+
if (this.legendItem) {
|
456
|
+
this.chart.legend.destroyItem(this);
|
457
|
+
}
|
458
|
+
Axis.prototype.remove.call(this);
|
459
|
+
},
|
460
|
+
|
461
|
+
/**
|
462
|
+
* Get the legend item symbols for data classes
|
463
|
+
*/
|
464
|
+
getDataClassLegendSymbols: function() {
|
465
|
+
var axis = this,
|
466
|
+
chart = this.chart,
|
467
|
+
legendItems = this.legendItems,
|
468
|
+
legendOptions = chart.options.legend,
|
469
|
+
valueDecimals = legendOptions.valueDecimals,
|
470
|
+
valueSuffix = legendOptions.valueSuffix || '',
|
471
|
+
name;
|
472
|
+
|
473
|
+
if (!legendItems.length) {
|
474
|
+
each(this.dataClasses, function(dataClass, i) {
|
475
|
+
var vis = true,
|
476
|
+
from = dataClass.from,
|
477
|
+
to = dataClass.to;
|
478
|
+
|
479
|
+
// Assemble the default name. This can be overridden by legend.options.labelFormatter
|
480
|
+
name = '';
|
481
|
+
if (from === undefined) {
|
482
|
+
name = '< ';
|
483
|
+
} else if (to === undefined) {
|
484
|
+
name = '> ';
|
485
|
+
}
|
486
|
+
if (from !== undefined) {
|
487
|
+
name += H.numberFormat(from, valueDecimals) + valueSuffix;
|
488
|
+
}
|
489
|
+
if (from !== undefined && to !== undefined) {
|
490
|
+
name += ' - ';
|
491
|
+
}
|
492
|
+
if (to !== undefined) {
|
493
|
+
name += H.numberFormat(to, valueDecimals) + valueSuffix;
|
494
|
+
}
|
495
|
+
// Add a mock object to the legend items
|
496
|
+
legendItems.push(extend({
|
497
|
+
chart: chart,
|
498
|
+
name: name,
|
499
|
+
options: {},
|
500
|
+
drawLegendSymbol: LegendSymbolMixin.drawRectangle,
|
501
|
+
visible: true,
|
502
|
+
setState: noop,
|
503
|
+
isDataClass: true,
|
504
|
+
setVisible: function() {
|
505
|
+
vis = this.visible = !vis;
|
506
|
+
each(axis.series, function(series) {
|
507
|
+
each(series.points, function(point) {
|
508
|
+
if (point.dataClass === i) {
|
509
|
+
point.setVisible(vis);
|
510
|
+
}
|
511
|
+
});
|
512
|
+
});
|
513
|
+
|
514
|
+
chart.legend.colorizeItem(this, vis);
|
515
|
+
}
|
516
|
+
}, dataClass));
|
517
|
+
});
|
518
|
+
}
|
519
|
+
return legendItems;
|
520
|
+
},
|
521
|
+
name: '' // Prevents 'undefined' in legend in IE8
|
522
|
+
});
|
291
523
|
|
292
524
|
/**
|
293
|
-
*
|
525
|
+
* Handle animation of the color attributes directly
|
294
526
|
*/
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
[0, options.minColor],
|
308
|
-
[1, options.maxColor]
|
309
|
-
]
|
527
|
+
each(['fill', 'stroke'], function(prop) {
|
528
|
+
H.Fx.prototype[prop + 'Setter'] = function() {
|
529
|
+
this.elem.attr(
|
530
|
+
prop,
|
531
|
+
ColorAxis.prototype.tweenColors(
|
532
|
+
color(this.start),
|
533
|
+
color(this.end),
|
534
|
+
this.pos
|
535
|
+
),
|
536
|
+
null,
|
537
|
+
true
|
538
|
+
);
|
310
539
|
};
|
311
|
-
}
|
540
|
+
});
|
312
541
|
|
313
542
|
/**
|
314
|
-
*
|
315
|
-
*/
|
316
|
-
drawLegendSymbol: function (legend, item) {
|
317
|
-
var padding = legend.padding,
|
318
|
-
legendOptions = legend.options,
|
319
|
-
horiz = this.horiz,
|
320
|
-
width = pick(legendOptions.symbolWidth, horiz ? 200 : 12),
|
321
|
-
height = pick(legendOptions.symbolHeight, horiz ? 12 : 200),
|
322
|
-
labelPadding = pick(legendOptions.labelPadding, horiz ? 16 : 30),
|
323
|
-
itemDistance = pick(legendOptions.itemDistance, 10);
|
324
|
-
|
325
|
-
this.setLegendColor();
|
326
|
-
|
327
|
-
// Create the gradient
|
328
|
-
item.legendSymbol = this.chart.renderer.rect(
|
329
|
-
0,
|
330
|
-
legend.baseline - 11,
|
331
|
-
width,
|
332
|
-
height
|
333
|
-
).attr({
|
334
|
-
zIndex: 1
|
335
|
-
}).add(item.legendGroup);
|
336
|
-
|
337
|
-
// Set how much space this legend item takes up
|
338
|
-
this.legendItemWidth = width + padding + (horiz ? itemDistance : labelPadding);
|
339
|
-
this.legendItemHeight = height + padding + (horiz ? labelPadding : 0);
|
340
|
-
},
|
341
|
-
/**
|
342
|
-
* Fool the legend
|
543
|
+
* Extend the chart getAxes method to also get the color axis
|
343
544
|
*/
|
344
|
-
|
345
|
-
visible: true,
|
346
|
-
setVisible: noop,
|
347
|
-
getSeriesExtremes: function () {
|
348
|
-
var series;
|
349
|
-
if (this.series.length) {
|
350
|
-
series = this.series[0];
|
351
|
-
this.dataMin = series.valueMin;
|
352
|
-
this.dataMax = series.valueMax;
|
353
|
-
}
|
354
|
-
},
|
355
|
-
drawCrosshair: function (e, point) {
|
356
|
-
var plotX = point && point.plotX,
|
357
|
-
plotY = point && point.plotY,
|
358
|
-
crossPos,
|
359
|
-
axisPos = this.pos,
|
360
|
-
axisLen = this.len;
|
361
|
-
|
362
|
-
if (point) {
|
363
|
-
crossPos = this.toPixels(point[point.series.colorKey]);
|
364
|
-
if (crossPos < axisPos) {
|
365
|
-
crossPos = axisPos - 2;
|
366
|
-
} else if (crossPos > axisPos + axisLen) {
|
367
|
-
crossPos = axisPos + axisLen + 2;
|
368
|
-
}
|
545
|
+
wrap(Chart.prototype, 'getAxes', function(proceed) {
|
369
546
|
|
370
|
-
|
371
|
-
|
372
|
-
Axis.prototype.drawCrosshair.call(this, e, point);
|
373
|
-
point.plotX = plotX;
|
374
|
-
point.plotY = plotY;
|
375
|
-
|
376
|
-
if (this.cross) {
|
377
|
-
this.cross
|
378
|
-
.attr({
|
379
|
-
fill: this.crosshair.color
|
380
|
-
})
|
381
|
-
.add(this.legendGroup);
|
382
|
-
}
|
383
|
-
}
|
384
|
-
},
|
385
|
-
getPlotLinePath: function (a, b, c, d, pos) {
|
386
|
-
return typeof pos === 'number' ? // crosshairs only // #3969 pos can be 0 !!
|
387
|
-
(this.horiz ?
|
388
|
-
['M', pos - 4, this.top - 6, 'L', pos + 4, this.top - 6, pos, this.top, 'Z'] :
|
389
|
-
['M', this.left, pos, 'L', this.left - 6, pos + 6, this.left - 6, pos - 6, 'Z']
|
390
|
-
) :
|
391
|
-
Axis.prototype.getPlotLinePath.call(this, a, b, c, d);
|
392
|
-
},
|
393
|
-
|
394
|
-
update: function (newOptions, redraw) {
|
395
|
-
var chart = this.chart,
|
396
|
-
legend = chart.legend;
|
397
|
-
|
398
|
-
each(this.series, function (series) {
|
399
|
-
series.isDirtyData = true; // Needed for Axis.update when choropleth colors change
|
400
|
-
});
|
401
|
-
|
402
|
-
// When updating data classes, destroy old items and make sure new ones are created (#3207)
|
403
|
-
if (newOptions.dataClasses && legend.allItems) {
|
404
|
-
each(legend.allItems, function (item) {
|
405
|
-
if (item.isDataClass) {
|
406
|
-
item.legendGroup.destroy();
|
407
|
-
}
|
408
|
-
});
|
409
|
-
chart.isDirtyLegend = true;
|
410
|
-
}
|
547
|
+
var options = this.options,
|
548
|
+
colorAxisOptions = options.colorAxis;
|
411
549
|
|
412
|
-
|
413
|
-
// not an array. (#3207)
|
414
|
-
chart.options[this.coll] = merge(this.userOptions, newOptions);
|
550
|
+
proceed.call(this);
|
415
551
|
|
416
|
-
|
417
|
-
if (
|
418
|
-
this
|
419
|
-
legend.colorizeItem(this, true);
|
552
|
+
this.colorAxis = [];
|
553
|
+
if (colorAxisOptions) {
|
554
|
+
new ColorAxis(this, colorAxisOptions); // eslint-disable-line no-new
|
420
555
|
}
|
421
|
-
}
|
556
|
+
});
|
557
|
+
|
422
558
|
|
423
559
|
/**
|
424
|
-
*
|
560
|
+
* Wrap the legend getAllItems method to add the color axis. This also removes the
|
561
|
+
* axis' own series to prevent them from showing up individually.
|
425
562
|
*/
|
426
|
-
|
427
|
-
var
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
to = dataClass.to;
|
440
|
-
|
441
|
-
// Assemble the default name. This can be overridden by legend.options.labelFormatter
|
442
|
-
name = '';
|
443
|
-
if (from === UNDEFINED) {
|
444
|
-
name = '< ';
|
445
|
-
} else if (to === UNDEFINED) {
|
446
|
-
name = '> ';
|
447
|
-
}
|
448
|
-
if (from !== UNDEFINED) {
|
449
|
-
name += Highcharts.numberFormat(from, valueDecimals) + valueSuffix;
|
450
|
-
}
|
451
|
-
if (from !== UNDEFINED && to !== UNDEFINED) {
|
452
|
-
name += ' - ';
|
453
|
-
}
|
454
|
-
if (to !== UNDEFINED) {
|
455
|
-
name += Highcharts.numberFormat(to, valueDecimals) + valueSuffix;
|
563
|
+
wrap(Legend.prototype, 'getAllItems', function(proceed) {
|
564
|
+
var allItems = [],
|
565
|
+
colorAxis = this.chart.colorAxis[0];
|
566
|
+
|
567
|
+
if (colorAxis && colorAxis.options) {
|
568
|
+
if (colorAxis.options.showInLegend) {
|
569
|
+
// Data classes
|
570
|
+
if (colorAxis.options.dataClasses) {
|
571
|
+
allItems = allItems.concat(colorAxis.getDataClassLegendSymbols());
|
572
|
+
// Gradient legend
|
573
|
+
} else {
|
574
|
+
// Add this axis on top
|
575
|
+
allItems.push(colorAxis);
|
456
576
|
}
|
577
|
+
}
|
457
578
|
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
name: name,
|
462
|
-
options: {},
|
463
|
-
drawLegendSymbol: LegendSymbolMixin.drawRectangle,
|
464
|
-
visible: true,
|
465
|
-
setState: noop,
|
466
|
-
isDataClass: true,
|
467
|
-
setVisible: function () {
|
468
|
-
vis = this.visible = !vis;
|
469
|
-
each(axis.series, function (series) {
|
470
|
-
each(series.points, function (point) {
|
471
|
-
if (point.dataClass === i) {
|
472
|
-
point.setVisible(vis);
|
473
|
-
}
|
474
|
-
});
|
475
|
-
});
|
476
|
-
|
477
|
-
chart.legend.colorizeItem(this, vis);
|
478
|
-
}
|
479
|
-
}, dataClass));
|
579
|
+
// Don't add the color axis' series
|
580
|
+
each(colorAxis.series, function(series) {
|
581
|
+
series.options.showInLegend = false;
|
480
582
|
});
|
481
583
|
}
|
482
|
-
|
483
|
-
|
484
|
-
name: '' // Prevents 'undefined' in legend in IE8
|
485
|
-
});
|
486
|
-
|
487
|
-
/**
|
488
|
-
* Handle animation of the color attributes directly
|
489
|
-
*/
|
490
|
-
each(['fill', 'stroke'], function (prop) {
|
491
|
-
Highcharts.addAnimSetter(prop, function (fx) {
|
492
|
-
fx.elem.attr(prop, ColorAxis.prototype.tweenColors(Color(fx.start), Color(fx.end), fx.pos));
|
584
|
+
|
585
|
+
return allItems.concat(proceed.call(this));
|
493
586
|
});
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
var options = this.options,
|
502
|
-
colorAxisOptions = options.colorAxis;
|
503
|
-
|
504
|
-
proceed.call(this);
|
505
|
-
|
506
|
-
this.colorAxis = [];
|
507
|
-
if (colorAxisOptions) {
|
508
|
-
new ColorAxis(this, colorAxisOptions); // eslint-disable-line no-new
|
509
|
-
}
|
510
|
-
});
|
511
|
-
|
512
|
-
|
513
|
-
/**
|
514
|
-
* Wrap the legend getAllItems method to add the color axis. This also removes the
|
515
|
-
* axis' own series to prevent them from showing up individually.
|
516
|
-
*/
|
517
|
-
wrap(Legend.prototype, 'getAllItems', function (proceed) {
|
518
|
-
var allItems = [],
|
519
|
-
colorAxis = this.chart.colorAxis[0];
|
520
|
-
|
521
|
-
if (colorAxis) {
|
522
|
-
|
523
|
-
// Data classes
|
524
|
-
if (colorAxis.options.dataClasses) {
|
525
|
-
allItems = allItems.concat(colorAxis.getDataClassLegendSymbols());
|
526
|
-
// Gradient legend
|
527
|
-
} else {
|
528
|
-
// Add this axis on top
|
529
|
-
allItems.push(colorAxis);
|
587
|
+
|
588
|
+
wrap(Legend.prototype, 'colorizeItem', function(proceed, item, visible) {
|
589
|
+
proceed.call(this, item, visible);
|
590
|
+
if (visible && item.legendColor) {
|
591
|
+
item.legendSymbol.attr({
|
592
|
+
fill: item.legendColor
|
593
|
+
});
|
530
594
|
}
|
595
|
+
});
|
531
596
|
|
532
|
-
|
533
|
-
|
534
|
-
series.options.showInLegend = false;
|
535
|
-
});
|
536
|
-
}
|
537
|
-
|
538
|
-
return allItems.concat(proceed.call(this));
|
539
|
-
});
|
540
|
-
/**
|
541
|
-
* Mixin for maps and heatmaps
|
542
|
-
*/
|
543
|
-
var colorPointMixin = {
|
597
|
+
}(Highcharts));
|
598
|
+
(function(H) {
|
544
599
|
/**
|
545
|
-
*
|
600
|
+
* (c) 2010-2017 Torstein Honsi
|
601
|
+
*
|
602
|
+
* License: www.highcharts.com/license
|
546
603
|
*/
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
// Show and hide associated elements
|
552
|
-
each(['graphic', 'dataLabel'], function (key) {
|
553
|
-
if (point[key]) {
|
554
|
-
point[key][method]();
|
555
|
-
}
|
556
|
-
});
|
557
|
-
}
|
558
|
-
};
|
559
|
-
var colorSeriesMixin = {
|
560
|
-
|
561
|
-
pointAttrToOptions: { // mapping between SVG attributes and the corresponding options
|
562
|
-
stroke: 'borderColor',
|
563
|
-
'stroke-width': 'borderWidth',
|
564
|
-
fill: 'color',
|
565
|
-
dashstyle: 'dashStyle'
|
566
|
-
},
|
567
|
-
pointArrayMap: ['value'],
|
568
|
-
axisTypes: ['xAxis', 'yAxis', 'colorAxis'],
|
569
|
-
optionalAxis: 'colorAxis',
|
570
|
-
trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
|
571
|
-
getSymbol: noop,
|
572
|
-
parallelArrays: ['x', 'y', 'value'],
|
573
|
-
colorKey: 'value',
|
604
|
+
var defined = H.defined,
|
605
|
+
each = H.each,
|
606
|
+
noop = H.noop,
|
607
|
+
seriesTypes = H.seriesTypes;
|
574
608
|
|
575
609
|
/**
|
576
|
-
*
|
610
|
+
* Mixin for maps and heatmaps
|
577
611
|
*/
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
each(this.data, function (point) {
|
585
|
-
var value = point[colorKey],
|
586
|
-
color;
|
587
|
-
|
588
|
-
color = point.options.color ||
|
589
|
-
(value === null ? nullColor : (colorAxis && value !== undefined) ? colorAxis.toColor(value, point) : point.color || series.color);
|
590
|
-
|
591
|
-
if (color) {
|
592
|
-
point.color = color;
|
593
|
-
}
|
594
|
-
});
|
595
|
-
}
|
596
|
-
};
|
597
|
-
|
598
|
-
/**
|
599
|
-
* Extend the default options with map options
|
600
|
-
*/
|
601
|
-
defaultOptions.plotOptions.heatmap = merge(defaultOptions.plotOptions.scatter, {
|
602
|
-
animation: false,
|
603
|
-
borderWidth: 0,
|
604
|
-
nullColor: '#F8F8F8',
|
605
|
-
dataLabels: {
|
606
|
-
formatter: function () { // #2945
|
607
|
-
return this.point.value;
|
612
|
+
H.colorPointMixin = {
|
613
|
+
/**
|
614
|
+
* Color points have a value option that determines whether or not it is a null point
|
615
|
+
*/
|
616
|
+
isValid: function() {
|
617
|
+
return this.value !== null;
|
608
618
|
},
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
619
|
+
|
620
|
+
/**
|
621
|
+
* Set the visibility of a single point
|
622
|
+
*/
|
623
|
+
setVisible: function(vis) {
|
624
|
+
var point = this,
|
625
|
+
method = vis ? 'show' : 'hide';
|
626
|
+
|
627
|
+
// Show and hide associated elements
|
628
|
+
each(['graphic', 'dataLabel'], function(key) {
|
629
|
+
if (point[key]) {
|
630
|
+
point[key][method]();
|
631
|
+
}
|
632
|
+
});
|
623
633
|
},
|
624
|
-
|
625
|
-
|
626
|
-
|
634
|
+
setState: function(state) {
|
635
|
+
H.Point.prototype.setState.call(this, state);
|
636
|
+
if (this.graphic) {
|
637
|
+
this.graphic.attr({
|
638
|
+
zIndex: state === 'hover' ? 1 : 0
|
639
|
+
});
|
640
|
+
}
|
627
641
|
}
|
628
|
-
}
|
629
|
-
});
|
630
|
-
|
631
|
-
// The Heatmap series type
|
632
|
-
seriesTypes.heatmap = extendClass(seriesTypes.scatter, merge(colorSeriesMixin, {
|
633
|
-
type: 'heatmap',
|
634
|
-
pointArrayMap: ['y', 'value'],
|
635
|
-
hasPointSpecificOptions: true,
|
636
|
-
pointClass: extendClass(Point, colorPointMixin),
|
637
|
-
supportsDrilldown: true,
|
638
|
-
getExtremesFromAll: true,
|
639
|
-
directTouch: true,
|
642
|
+
};
|
640
643
|
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
options.pointRange = pick(options.pointRange, options.colsize || 1); // #3758, prevent resetting in setData
|
650
|
-
this.yAxis.axisPointRange = options.rowsize || 1; // general point range
|
651
|
-
},
|
652
|
-
translate: function () {
|
653
|
-
var series = this,
|
654
|
-
options = series.options,
|
655
|
-
xAxis = series.xAxis,
|
656
|
-
yAxis = series.yAxis,
|
657
|
-
between = function (x, a, b) {
|
658
|
-
return Math.min(Math.max(a, x), b);
|
659
|
-
};
|
644
|
+
H.colorSeriesMixin = {
|
645
|
+
pointArrayMap: ['value'],
|
646
|
+
axisTypes: ['xAxis', 'yAxis', 'colorAxis'],
|
647
|
+
optionalAxis: 'colorAxis',
|
648
|
+
trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
|
649
|
+
getSymbol: noop,
|
650
|
+
parallelArrays: ['x', 'y', 'value'],
|
651
|
+
colorKey: 'value',
|
660
652
|
|
661
|
-
series.generatePoints();
|
662
|
-
|
663
|
-
each(series.points, function (point) {
|
664
|
-
var xPad = (options.colsize || 1) / 2,
|
665
|
-
yPad = (options.rowsize || 1) / 2,
|
666
|
-
x1 = between(Math.round(xAxis.len - xAxis.translate(point.x - xPad, 0, 1, 0, 1)), 0, xAxis.len),
|
667
|
-
x2 = between(Math.round(xAxis.len - xAxis.translate(point.x + xPad, 0, 1, 0, 1)), 0, xAxis.len),
|
668
|
-
y1 = between(Math.round(yAxis.translate(point.y - yPad, 0, 1, 0, 1)), 0, yAxis.len),
|
669
|
-
y2 = between(Math.round(yAxis.translate(point.y + yPad, 0, 1, 0, 1)), 0, yAxis.len);
|
670
|
-
|
671
|
-
// Set plotX and plotY for use in K-D-Tree and more
|
672
|
-
point.plotX = point.clientX = (x1 + x2) / 2;
|
673
|
-
point.plotY = (y1 + y2) / 2;
|
674
|
-
|
675
|
-
point.shapeType = 'rect';
|
676
|
-
point.shapeArgs = {
|
677
|
-
x: Math.min(x1, x2),
|
678
|
-
y: Math.min(y1, y2),
|
679
|
-
width: Math.abs(x2 - x1),
|
680
|
-
height: Math.abs(y2 - y1)
|
681
|
-
};
|
682
|
-
});
|
683
653
|
|
684
|
-
series.translateColors();
|
685
654
|
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
655
|
+
/**
|
656
|
+
* In choropleth maps, the color is a result of the value, so this needs translation too
|
657
|
+
*/
|
658
|
+
translateColors: function() {
|
659
|
+
var series = this,
|
660
|
+
nullColor = this.options.nullColor,
|
661
|
+
colorAxis = this.colorAxis,
|
662
|
+
colorKey = this.colorKey;
|
663
|
+
|
664
|
+
each(this.data, function(point) {
|
665
|
+
var value = point[colorKey],
|
666
|
+
color;
|
667
|
+
|
668
|
+
color = point.options.color ||
|
669
|
+
(point.isNull ? nullColor : (colorAxis && value !== undefined) ? colorAxis.toColor(value, point) : point.color || series.color);
|
670
|
+
|
671
|
+
if (color) {
|
672
|
+
point.color = color;
|
673
|
+
}
|
690
674
|
});
|
675
|
+
},
|
676
|
+
|
677
|
+
/**
|
678
|
+
* Get the color attibutes to apply on the graphic
|
679
|
+
*/
|
680
|
+
colorAttribs: function(point) {
|
681
|
+
var ret = {};
|
682
|
+
if (defined(point.color)) {
|
683
|
+
ret[this.colorProp || 'fill'] = point.color;
|
684
|
+
}
|
685
|
+
return ret;
|
691
686
|
}
|
692
|
-
}
|
693
|
-
drawPoints: seriesTypes.column.prototype.drawPoints,
|
694
|
-
animate: noop,
|
695
|
-
getBox: noop,
|
696
|
-
drawLegendSymbol: LegendSymbolMixin.drawRectangle,
|
687
|
+
};
|
697
688
|
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
689
|
+
}(Highcharts));
|
690
|
+
(function(H) {
|
691
|
+
/**
|
692
|
+
* (c) 2010-2017 Torstein Honsi
|
693
|
+
*
|
694
|
+
* License: www.highcharts.com/license
|
695
|
+
*/
|
696
|
+
var colorPointMixin = H.colorPointMixin,
|
697
|
+
colorSeriesMixin = H.colorSeriesMixin,
|
698
|
+
each = H.each,
|
699
|
+
LegendSymbolMixin = H.LegendSymbolMixin,
|
700
|
+
merge = H.merge,
|
701
|
+
noop = H.noop,
|
702
|
+
pick = H.pick,
|
703
|
+
Series = H.Series,
|
704
|
+
seriesType = H.seriesType,
|
705
|
+
seriesTypes = H.seriesTypes;
|
706
|
+
|
707
|
+
// The Heatmap series type
|
708
|
+
seriesType('heatmap', 'scatter', {
|
709
|
+
animation: false,
|
710
|
+
borderWidth: 0,
|
711
|
+
|
712
|
+
dataLabels: {
|
713
|
+
formatter: function() { // #2945
|
714
|
+
return this.point.value;
|
715
|
+
},
|
716
|
+
inside: true,
|
717
|
+
verticalAlign: 'middle',
|
718
|
+
crop: false,
|
719
|
+
overflow: false,
|
720
|
+
padding: 0 // #3837
|
721
|
+
},
|
722
|
+
marker: null,
|
723
|
+
pointRange: null, // dynamically set to colsize by default
|
724
|
+
tooltip: {
|
725
|
+
pointFormat: '{point.x}, {point.y}: {point.value}<br/>'
|
726
|
+
},
|
727
|
+
states: {
|
728
|
+
normal: {
|
729
|
+
animation: true
|
730
|
+
},
|
731
|
+
hover: {
|
732
|
+
halo: false, // #3406, halo is not required on heatmaps
|
733
|
+
brightness: 0.2
|
734
|
+
}
|
735
|
+
}
|
736
|
+
}, merge(colorSeriesMixin, {
|
737
|
+
pointArrayMap: ['y', 'value'],
|
738
|
+
hasPointSpecificOptions: true,
|
739
|
+
supportsDrilldown: true,
|
740
|
+
getExtremesFromAll: true,
|
741
|
+
directTouch: true,
|
742
|
+
|
743
|
+
/**
|
744
|
+
* Override the init method to add point ranges on both axes.
|
745
|
+
*/
|
746
|
+
init: function() {
|
747
|
+
var options;
|
748
|
+
seriesTypes.scatter.prototype.init.apply(this, arguments);
|
749
|
+
|
750
|
+
options = this.options;
|
751
|
+
options.pointRange = pick(options.pointRange, options.colsize || 1); // #3758, prevent resetting in setData
|
752
|
+
this.yAxis.axisPointRange = options.rowsize || 1; // general point range
|
753
|
+
},
|
754
|
+
translate: function() {
|
755
|
+
var series = this,
|
756
|
+
options = series.options,
|
757
|
+
xAxis = series.xAxis,
|
758
|
+
yAxis = series.yAxis,
|
759
|
+
between = function(x, a, b) {
|
760
|
+
return Math.min(Math.max(a, x), b);
|
761
|
+
};
|
762
|
+
|
763
|
+
series.generatePoints();
|
764
|
+
|
765
|
+
each(series.points, function(point) {
|
766
|
+
var xPad = (options.colsize || 1) / 2,
|
767
|
+
yPad = (options.rowsize || 1) / 2,
|
768
|
+
x1 = between(Math.round(xAxis.len - xAxis.translate(point.x - xPad, 0, 1, 0, 1)), -xAxis.len, 2 * xAxis.len),
|
769
|
+
x2 = between(Math.round(xAxis.len - xAxis.translate(point.x + xPad, 0, 1, 0, 1)), -xAxis.len, 2 * xAxis.len),
|
770
|
+
y1 = between(Math.round(yAxis.translate(point.y - yPad, 0, 1, 0, 1)), -yAxis.len, 2 * yAxis.len),
|
771
|
+
y2 = between(Math.round(yAxis.translate(point.y + yPad, 0, 1, 0, 1)), -yAxis.len, 2 * yAxis.len);
|
772
|
+
|
773
|
+
// Set plotX and plotY for use in K-D-Tree and more
|
774
|
+
point.plotX = point.clientX = (x1 + x2) / 2;
|
775
|
+
point.plotY = (y1 + y2) / 2;
|
776
|
+
|
777
|
+
point.shapeType = 'rect';
|
778
|
+
point.shapeArgs = {
|
779
|
+
x: Math.min(x1, x2),
|
780
|
+
y: Math.min(y1, y2),
|
781
|
+
width: Math.abs(x2 - x1),
|
782
|
+
height: Math.abs(y2 - y1)
|
783
|
+
};
|
784
|
+
});
|
703
785
|
|
704
|
-
|
705
|
-
|
706
|
-
|
786
|
+
series.translateColors();
|
787
|
+
},
|
788
|
+
drawPoints: function() {
|
789
|
+
seriesTypes.column.prototype.drawPoints.call(this);
|
707
790
|
|
708
|
-
|
791
|
+
each(this.points, function(point) {
|
792
|
+
|
793
|
+
// In styled mode, use CSS, otherwise the fill used in the style
|
794
|
+
// sheet will take precesence over the fill attribute.
|
795
|
+
point.graphic.css(this.colorAttribs(point));
|
796
|
+
|
797
|
+
}, this);
|
798
|
+
},
|
799
|
+
animate: noop,
|
800
|
+
getBox: noop,
|
801
|
+
drawLegendSymbol: LegendSymbolMixin.drawRectangle,
|
802
|
+
alignDataLabel: seriesTypes.column.prototype.alignDataLabel,
|
803
|
+
getExtremes: function() {
|
804
|
+
// Get the extremes from the value data
|
805
|
+
Series.prototype.getExtremes.call(this, this.valueData);
|
806
|
+
this.valueMin = this.dataMin;
|
807
|
+
this.valueMax = this.dataMax;
|
808
|
+
|
809
|
+
// Get the extremes from the y data
|
810
|
+
Series.prototype.getExtremes.call(this);
|
811
|
+
}
|
709
812
|
|
813
|
+
}), colorPointMixin);
|
710
814
|
|
815
|
+
}(Highcharts));
|
711
816
|
}));
|