You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.2 KiB
53 lines
1.2 KiB
(function (Highcharts) { |
|
var seriesTypes = Highcharts.seriesTypes, |
|
each = Highcharts.each; |
|
|
|
seriesTypes.heatmap = Highcharts.extendClass(seriesTypes.map, { |
|
colorKey: 'z', |
|
useMapGeometry: false, |
|
pointArrayMap: ['y', 'z'], |
|
translate: function () { |
|
var series = this, |
|
options = series.options, |
|
dataMin = Number.MAX_VALUE, |
|
dataMax = Number.MIN_VALUE; |
|
|
|
series.generatePoints(); |
|
|
|
each(series.data, function (point) { |
|
var x = point.x, |
|
y = point.y, |
|
value = point.z, |
|
xPad = (options.colsize || 1) / 2, |
|
yPad = (options.rowsize || 1) / 2; |
|
|
|
point.path = [ |
|
'M', x - xPad, y - yPad, |
|
'L', x + xPad, y - yPad, |
|
'L', x + xPad, y + yPad, |
|
'L', x - xPad, y + yPad, |
|
'Z' |
|
]; |
|
|
|
point.shapeType = 'path'; |
|
point.shapeArgs = { |
|
d: series.translatePath(point.path) |
|
}; |
|
|
|
if (typeof value === 'number') { |
|
if (value > dataMax) { |
|
dataMax = value; |
|
} else if (value < dataMin) { |
|
dataMin = value; |
|
} |
|
} |
|
}); |
|
|
|
series.translateColors(dataMin, dataMax); |
|
}, |
|
|
|
getBox: function () {} |
|
|
|
}); |
|
|
|
}(Highcharts));
|
|
|