highcharts-rails 5.0.14 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.markdown +60 -0
  3. data/Rakefile +54 -5
  4. data/app/assets/images/highcharts/earth.svg +432 -0
  5. data/app/assets/javascripts/highcharts.js +5103 -3147
  6. data/app/assets/javascripts/highcharts/highcharts-3d.js +930 -277
  7. data/app/assets/javascripts/highcharts/highcharts-more.js +1374 -249
  8. data/app/assets/javascripts/highcharts/lib/canvg.js +3073 -0
  9. data/app/assets/javascripts/highcharts/lib/jspdf.js +16624 -0
  10. data/app/assets/javascripts/highcharts/lib/rgbcolor.js +299 -0
  11. data/app/assets/javascripts/highcharts/lib/svg2pdf.js +3488 -0
  12. data/app/assets/javascripts/highcharts/modules/accessibility.js +654 -212
  13. data/app/assets/javascripts/highcharts/modules/annotations.js +1552 -274
  14. data/app/assets/javascripts/highcharts/modules/boost-canvas.js +773 -0
  15. data/app/assets/javascripts/highcharts/modules/boost.js +636 -210
  16. data/app/assets/javascripts/highcharts/modules/broken-axis.js +2 -2
  17. data/app/assets/javascripts/highcharts/modules/bullet.js +364 -0
  18. data/app/assets/javascripts/highcharts/modules/data.js +766 -38
  19. data/app/assets/javascripts/highcharts/modules/drag-panes.js +588 -0
  20. data/app/assets/javascripts/highcharts/modules/drilldown.js +106 -36
  21. data/app/assets/javascripts/highcharts/modules/export-data.js +597 -0
  22. data/app/assets/javascripts/highcharts/modules/exporting.js +424 -162
  23. data/app/assets/javascripts/highcharts/modules/funnel.js +144 -22
  24. data/app/assets/javascripts/highcharts/modules/gantt.js +1154 -0
  25. data/app/assets/javascripts/highcharts/modules/grid-axis.js +1 -1
  26. data/app/assets/javascripts/highcharts/modules/heatmap.js +406 -80
  27. data/app/assets/javascripts/highcharts/modules/histogram-bellcurve.js +513 -0
  28. data/app/assets/javascripts/highcharts/modules/item-series.js +126 -0
  29. data/app/assets/javascripts/highcharts/modules/no-data-to-display.js +31 -13
  30. data/app/assets/javascripts/highcharts/modules/offline-exporting.js +179 -57
  31. data/app/assets/javascripts/highcharts/modules/oldie.js +1378 -0
  32. data/app/assets/javascripts/highcharts/modules/overlapping-datalabels.js +8 -6
  33. data/app/assets/javascripts/highcharts/modules/parallel-coordinates.js +494 -0
  34. data/app/assets/javascripts/highcharts/modules/pareto.js +275 -0
  35. data/app/assets/javascripts/highcharts/modules/sankey.js +641 -0
  36. data/app/assets/javascripts/highcharts/modules/series-label.js +355 -145
  37. data/app/assets/javascripts/highcharts/modules/solid-gauge.js +122 -1
  38. data/app/assets/javascripts/highcharts/modules/static-scale.js +64 -0
  39. data/app/assets/javascripts/highcharts/modules/stock.js +1944 -676
  40. data/app/assets/javascripts/highcharts/modules/streamgraph.js +139 -0
  41. data/app/assets/javascripts/highcharts/modules/sunburst.js +2403 -0
  42. data/app/assets/javascripts/highcharts/modules/tilemap.js +1199 -0
  43. data/app/assets/javascripts/highcharts/modules/treemap.js +538 -134
  44. data/app/assets/javascripts/highcharts/modules/variable-pie.js +490 -0
  45. data/app/assets/javascripts/highcharts/modules/variwide.js +283 -0
  46. data/app/assets/javascripts/highcharts/modules/vector.js +294 -0
  47. data/app/assets/javascripts/highcharts/modules/windbarb.js +490 -0
  48. data/app/assets/javascripts/highcharts/modules/wordcloud.js +681 -0
  49. data/app/assets/javascripts/highcharts/modules/xrange.js +615 -0
  50. data/app/assets/javascripts/highcharts/themes/avocado.js +54 -0
  51. data/app/assets/javascripts/highcharts/themes/dark-blue.js +6 -6
  52. data/app/assets/javascripts/highcharts/themes/dark-green.js +6 -6
  53. data/app/assets/javascripts/highcharts/themes/dark-unica.js +6 -6
  54. data/app/assets/javascripts/highcharts/themes/gray.js +14 -10
  55. data/app/assets/javascripts/highcharts/themes/grid-light.js +6 -6
  56. data/app/assets/javascripts/highcharts/themes/grid.js +7 -5
  57. data/app/assets/javascripts/highcharts/themes/sand-signika.js +8 -7
  58. data/app/assets/javascripts/highcharts/themes/skies.js +15 -9
  59. data/app/assets/javascripts/highcharts/themes/sunset.js +53 -0
  60. data/app/assets/stylesheets/highcharts/highcharts.css +802 -0
  61. data/app/assets/stylesheets/highcharts/highcharts.scss +665 -0
  62. data/lib/highcharts/version.rb +1 -1
  63. metadata +31 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v5.0.14 (2017-07-28)
2
+ * @license Highcharts JS v6.0.0 (2017-10-04)
3
3
  * GridAxis
4
4
  *
5
5
  * (c) 2016 Lars A. V. Cabrera
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v5.0.14 (2017-07-28)
2
+ * @license Highcharts JS v6.0.0 (2017-10-04)
3
3
  *
4
4
  * (c) 2009-2017 Torstein Honsi
5
5
  *
@@ -41,14 +41,120 @@
41
41
  };
42
42
  extend(ColorAxis.prototype, Axis.prototype);
43
43
  extend(ColorAxis.prototype, {
44
- /**
44
+ /**
45
+ * A color axis for choropleth maps and heat maps. Visually, the color axis
46
+ * will appear as a gradient or as separate items inside the legend,
47
+ * depending on whether the axis is scalar or based on data classes.
48
+ *
49
+ * For supported color formats, see the
50
+ * [docs article about colors](http://www.highcharts.com/docs/chart-design-and-style/colors).
51
+ *
52
+ * A scalar color axis is represented by a gradient. The colors either range
53
+ * between the [minColor](#colorAxis.minColor) and the [maxColor](#colorAxis.maxColor),
54
+ * or for more fine grained control the colors can be
55
+ * defined in [stops](#colorAxis.stops). Often times, the color axis needs
56
+ * to be adjusted to get the right color spread for the data. In addition to
57
+ * stops, consider using a logarithmic [axis type](#colorAxis.type), or
58
+ * setting [min](#colorAxis.min) and [max](#colorAxis.max) to avoid the
59
+ * colors being determined by outliers.
60
+ *
61
+ * When [dataClasses](#colorAxis.dataClasses) are used, the ranges are
62
+ * subdivided into separate classes like categories based on their values.
63
+ * This can be used for ranges between two values, but also for a true
64
+ * category. However, when your data is categorized, it may be as convenient
65
+ * to add each category to a separate series.
66
+ *
67
+ * See [the Axis object](#Axis) for programmatic access to the axis.
45
68
  * @extends {xAxis}
69
+ * @excluding allowDecimals,alternateGridColor,breaks,categories,crosshair,
70
+ * dateTimeLabelFormats,lineWidth,linkedTo,maxZoom,minRange,
71
+ * minTickInterval,offset,opposite,plotBands,plotLines,showEmpty,
72
+ * title
73
+ * @product highcharts highmaps
46
74
  * @optionparent colorAxis
47
75
  */
48
76
  defaultColorAxisOptions: {
49
77
 
50
78
  /**
79
+ * Whether to allow decimals on the color axis.
80
+ * @type {Boolean}
81
+ * @default true
82
+ * @product highcharts highmaps
83
+ * @apioption colorAxis.allowDecimals
84
+ */
85
+
86
+ /**
87
+ * Determines how to set each data class' color if no individual color
88
+ * is set. The default value, `tween`, computes intermediate colors
89
+ * between `minColor` and `maxColor`. The other possible value, `category`,
90
+ * pulls colors from the global or chart specific [colors](#colors)
91
+ * array.
92
+ *
93
+ * @validvalue ["tween", "category"]
94
+ * @type {String}
95
+ * @sample {highmaps} maps/coloraxis/dataclasscolor/ Category colors
96
+ * @default tween
97
+ * @product highcharts highmaps
98
+ * @apioption colorAxis.dataClassColor
99
+ */
100
+
101
+ /**
102
+ * An array of data classes or ranges for the choropleth map. If none
103
+ * given, the color axis is scalar and values are distributed as a gradient
104
+ * between the minimum and maximum colors.
105
+ *
106
+ * @type {Array<Object>}
107
+ * @sample {highmaps} maps/demo/data-class-ranges/ Multiple ranges
108
+ * @sample {highmaps} maps/demo/data-class-two-ranges/ Two ranges
109
+ * @product highcharts highmaps
110
+ * @apioption colorAxis.dataClasses
111
+ */
112
+
113
+ /**
114
+ * The color of each data class. If not set, the color is pulled from
115
+ * the global or chart-specific [colors](#colors) array. In
116
+ * styled mode, this option is ignored. Instead, use colors defined in
117
+ * CSS.
118
+ *
119
+ * @type {Color}
120
+ * @sample {highmaps} maps/demo/data-class-two-ranges/ Explicit colors
121
+ * @product highcharts highmaps
122
+ * @apioption colorAxis.dataClasses.color
51
123
  */
124
+
125
+ /**
126
+ * The start of the value range that the data class represents, relating
127
+ * to the point value.
128
+ *
129
+ * @type {Number}
130
+ * @product highcharts highmaps
131
+ * @apioption colorAxis.dataClasses.from
132
+ */
133
+
134
+ /**
135
+ * The name of the data class as it appears in the legend. If no name
136
+ * is given, it is automatically created based on the `from` and `to`
137
+ * values. For full programmatic control, [legend.labelFormatter](#legend.
138
+ * labelFormatter) can be used. In the formatter, `this.from` and `this.
139
+ * to` can be accessed.
140
+ *
141
+ * @type {String}
142
+ * @sample {highmaps} maps/coloraxis/dataclasses-name/ Named data classes
143
+ * @sample {highmaps} maps/coloraxis/dataclasses-labelformatter/ Formatted data classes
144
+ * @product highcharts highmaps
145
+ * @apioption colorAxis.dataClasses.name
146
+ */
147
+
148
+ /**
149
+ * The end of the value range that the data class represents, relating
150
+ * to the point value.
151
+ *
152
+ * @type {Number}
153
+ * @product highcharts highmaps
154
+ * @apioption colorAxis.dataClasses.to
155
+ */
156
+
157
+ /** @ignore */
52
158
  lineWidth: 0,
53
159
 
54
160
  /**
@@ -56,19 +162,53 @@
56
162
  * padding of 0.05 will make a 100px axis 5px longer.
57
163
  *
58
164
  * @type {Number}
59
- * @product highmaps
165
+ * @product highcharts highmaps
60
166
  */
61
167
  minPadding: 0,
62
168
 
169
+ /**
170
+ * The maximum value of the axis in terms of map point values. If `null`,
171
+ * the max value is automatically calculated. If the `endOnTick` option
172
+ * is true, the max value might be rounded up.
173
+ *
174
+ * @type {Number}
175
+ * @sample {highmaps} maps/coloraxis/gridlines/
176
+ * Explicit min and max to reduce the effect of outliers
177
+ * @product highcharts highmaps
178
+ * @apioption colorAxis.max
179
+ */
180
+
181
+ /**
182
+ * The minimum value of the axis in terms of map point values. If `null`,
183
+ * the min value is automatically calculated. If the `startOnTick`
184
+ * option is true, the min value might be rounded down.
185
+ *
186
+ * @type {Number}
187
+ * @sample {highmaps} maps/coloraxis/gridlines/
188
+ * Explicit min and max to reduce the effect of outliers
189
+ * @product highcharts highmaps
190
+ * @apioption colorAxis.min
191
+ */
192
+
63
193
  /**
64
194
  * Padding of the max value relative to the length of the axis. A
65
195
  * padding of 0.05 will make a 100px axis 5px longer.
66
196
  *
67
197
  * @type {Number}
68
- * @product highmaps
198
+ * @product highcharts highmaps
69
199
  */
70
200
  maxPadding: 0,
71
201
 
202
+ /**
203
+ * Color of the grid lines extending from the axis across the gradient.
204
+ *
205
+ * @type {Color}
206
+ * @sample {highmaps} maps/coloraxis/gridlines/ Grid lines demonstrated
207
+ * @default #e6e6e6
208
+ * @product highcharts highmaps
209
+ * @apioption colorAxis.gridLineColor
210
+ */
211
+
72
212
  /**
73
213
  * The width of the grid lines extending from the axis across the
74
214
  * gradient of a scalar color axis.
@@ -76,17 +216,26 @@
76
216
  * @type {Number}
77
217
  * @sample {highmaps} maps/coloraxis/gridlines/ Grid lines demonstrated
78
218
  * @default 1
79
- * @product highmaps
219
+ * @product highcharts highmaps
80
220
  */
81
221
  gridLineWidth: 1,
82
222
 
223
+ /**
224
+ * The interval of the tick marks in axis units. When `null`, the tick
225
+ * interval is computed to approximately follow the `tickPixelInterval`.
226
+ *
227
+ * @type {Number}
228
+ * @product highcharts highmaps
229
+ * @apioption colorAxis.tickInterval
230
+ */
231
+
83
232
  /**
84
233
  * If [tickInterval](#colorAxis.tickInterval) is `null` this option
85
234
  * sets the approximate pixel interval of the tick marks.
86
235
  *
87
236
  * @type {Number}
88
237
  * @default 72
89
- * @product highmaps
238
+ * @product highcharts highmaps
90
239
  */
91
240
  tickPixelInterval: 72,
92
241
 
@@ -96,7 +245,7 @@
96
245
  *
97
246
  * @type {Boolean}
98
247
  * @default true
99
- * @product highmaps
248
+ * @product highcharts highmaps
100
249
  */
101
250
  startOnTick: true,
102
251
 
@@ -107,12 +256,11 @@
107
256
  *
108
257
  * @type {Boolean}
109
258
  * @default true
110
- * @product highmaps
259
+ * @product highcharts highmaps
111
260
  */
112
261
  endOnTick: true,
113
262
 
114
- /**
115
- */
263
+ /** @ignore */
116
264
  offset: 0,
117
265
 
118
266
  /**
@@ -122,7 +270,7 @@
122
270
  *
123
271
  * @type {Object}
124
272
  * @sample {highmaps} maps/coloraxis/marker/ Black marker
125
- * @product highmaps
273
+ * @product highcharts highmaps
126
274
  */
127
275
  marker: {
128
276
 
@@ -131,17 +279,13 @@
131
279
  * to disable animation. Defaults to `{ duration: 50 }`.
132
280
  *
133
281
  * @type {Object|Boolean}
134
- * @product highmaps
282
+ * @product highcharts highmaps
135
283
  */
136
284
  animation: {
137
-
138
- /**
139
- */
140
285
  duration: 50
141
286
  },
142
287
 
143
- /**
144
- */
288
+ /** @ignore */
145
289
  width: 0.01,
146
290
 
147
291
 
@@ -150,7 +294,7 @@
150
294
  *
151
295
  * @type {Color}
152
296
  * @default #999999
153
- * @product highmaps
297
+ * @product highcharts highmaps
154
298
  */
155
299
  color: '#999999'
156
300
 
@@ -164,25 +308,23 @@
164
308
  *
165
309
  * @type {Object}
166
310
  * @extends xAxis.labels
167
- * @product highmaps
311
+ * @product highcharts highmaps
168
312
  */
169
313
  labels: {
170
314
 
171
315
  /**
172
- * How to handle overflowing labels on horizontal axis. Can be undefined
173
- * or "justify". If "justify", labels will not render outside the
174
- * plot area. If there is room to move it, it will be aligned to
175
- * the edge, else it will be removed.
316
+ * How to handle overflowing labels on horizontal color axis. Can be
317
+ * undefined or "justify". If "justify", labels will not render
318
+ * outside the legend area. If there is room to move it, it will be
319
+ * aligned to the edge, else it will be removed.
176
320
  *
177
321
  * @validvalue [null, "justify"]
178
322
  * @type {String}
179
323
  * @default justify
180
- * @product highmaps
324
+ * @product highcharts highmaps
181
325
  */
182
326
  overflow: 'justify',
183
327
 
184
- /**
185
- */
186
328
  rotation: 0
187
329
  },
188
330
 
@@ -199,7 +341,7 @@
199
341
  * @sample {highmaps} maps/coloraxis/mincolor-maxcolor/ Min and max colors on scalar (gradient) axis
200
342
  * @sample {highmaps} maps/coloraxis/mincolor-maxcolor-dataclasses/ On data classes
201
343
  * @default #e6ebf5
202
- * @product highmaps
344
+ * @product highcharts highmaps
203
345
  */
204
346
  minColor: '#e6ebf5',
205
347
 
@@ -216,22 +358,57 @@
216
358
  * @sample {highmaps} maps/coloraxis/mincolor-maxcolor/ Min and max colors on scalar (gradient) axis
217
359
  * @sample {highmaps} maps/coloraxis/mincolor-maxcolor-dataclasses/ On data classes
218
360
  * @default #003399
219
- * @product highmaps
361
+ * @product highcharts highmaps
220
362
  */
221
363
  maxColor: '#003399',
222
364
 
223
365
  /**
366
+ * Color stops for the gradient of a scalar color axis. Use this in
367
+ * cases where a linear gradient between a `minColor` and `maxColor`
368
+ * is not sufficient. The stops is an array of tuples, where the first
369
+ * item is a float between 0 and 1 assigning the relative position in
370
+ * the gradient, and the second item is the color.
371
+ *
372
+ * @type {Array<Array>}
373
+ * @sample {highmaps} maps/demo/heatmap/ Heatmap with three color stops
374
+ * @product highcharts highmaps
375
+ * @apioption colorAxis.stops
376
+ */
377
+
378
+ /**
379
+ * The pixel length of the main tick marks on the color axis.
224
380
  */
225
381
  tickLength: 5,
226
382
 
383
+ /**
384
+ * The type of interpolation to use for the color axis. Can be `linear`
385
+ * or `logarithmic`.
386
+ *
387
+ * @validvalue ["linear", "logarithmic"]
388
+ * @type {String}
389
+ * @default linear
390
+ * @product highcharts highmaps
391
+ * @apioption colorAxis.type
392
+ */
393
+
394
+ /**
395
+ * Whether to reverse the axis so that the highest number is closest
396
+ * to the origin. Defaults to `false` in a horizontal legend and `true`
397
+ * in a vertical legend, where the smallest value starts on top.
398
+ *
399
+ * @type {Boolean}
400
+ * @product highcharts highmaps
401
+ * @apioption colorAxis.reversed
402
+ */
403
+
227
404
  /**
228
405
  * Whether to display the colorAxis in the legend.
229
406
  *
230
407
  * @type {Boolean}
231
- * @see [heatmap.showInLegend](#series<heatmap>.showInLegend)
408
+ * @see [heatmap.showInLegend](#series.heatmap.showInLegend)
232
409
  * @default true
233
410
  * @since 4.2.7
234
- * @product highmaps
411
+ * @product highcharts highmaps
235
412
  */
236
413
  showInLegend: true
237
414
  },
@@ -920,102 +1097,123 @@
920
1097
  seriesType = H.seriesType,
921
1098
  seriesTypes = H.seriesTypes;
922
1099
 
923
- // The Heatmap series type
924
1100
 
925
1101
  /**
1102
+ * A heatmap is a graphical representation of data where the individual values
1103
+ * contained in a matrix are represented as colors.
1104
+ *
1105
+ * @sample highcharts/demo/heatmap/
1106
+ * Simple heatmap
1107
+ * @sample highcharts/demo/heatmap-canvas/
1108
+ * Heavy heatmap
926
1109
  * @extends {plotOptions.scatter}
1110
+ * @excluding marker,pointRange
1111
+ * @product highcharts highmaps
927
1112
  * @optionparent plotOptions.heatmap
928
1113
  */
929
1114
  seriesType('heatmap', 'scatter', {
930
1115
 
931
1116
  /**
1117
+ * Animation is disabled by default on the heatmap series.
932
1118
  */
933
1119
  animation: false,
934
1120
 
935
1121
  /**
1122
+ * The border width for each heat map item.
936
1123
  */
937
1124
  borderWidth: 0,
938
1125
 
1126
+ /**
1127
+ * Padding between the points in the heatmap.
1128
+ *
1129
+ * @type {Number}
1130
+ * @default 0
1131
+ * @since 6.0
1132
+ * @apioption plotOptions.heatmap.pointPadding
1133
+ */
939
1134
 
940
1135
  /**
1136
+ * The main color of the series. In heat maps this color is rarely used,
1137
+ * as we mostly use the color to denote the value of each point. Unless
1138
+ * options are set in the [colorAxis](#colorAxis), the default value
1139
+ * is pulled from the [options.colors](#colors) array.
1140
+ *
1141
+ * @type {Color}
1142
+ * @default null
1143
+ * @since 4.0
1144
+ * @product highcharts
1145
+ * @apioption plotOptions.heatmap.color
941
1146
  */
942
- nullColor: '#f7f7f7',
1147
+
1148
+ /**
1149
+ * The column size - how many X axis units each column in the heatmap
1150
+ * should span.
1151
+ *
1152
+ * @type {Number}
1153
+ * @sample {highcharts} maps/demo/heatmap/ One day
1154
+ * @sample {highmaps} maps/demo/heatmap/ One day
1155
+ * @default 1
1156
+ * @since 4.0
1157
+ * @product highcharts highmaps
1158
+ * @apioption plotOptions.heatmap.colsize
1159
+ */
1160
+
943
1161
 
944
1162
 
945
1163
  /**
1164
+ * The color applied to null points. In styled mode, a general CSS class is
1165
+ * applied instead.
1166
+ *
1167
+ * @type {Color}
946
1168
  */
1169
+ nullColor: '#f7f7f7',
1170
+
1171
+
947
1172
  dataLabels: {
948
1173
 
949
- /**
950
- */
951
1174
  formatter: function() { // #2945
952
1175
  return this.point.value;
953
1176
  },
954
-
955
- /**
956
- */
957
1177
  inside: true,
958
-
959
- /**
960
- */
961
1178
  verticalAlign: 'middle',
962
-
963
- /**
964
- */
965
1179
  crop: false,
966
-
967
- /**
968
- */
969
1180
  overflow: false,
970
-
971
- /**
972
- */
973
1181
  padding: 0 // #3837
974
1182
  },
975
1183
 
976
- /**
977
- */
1184
+ /** @ignore */
978
1185
  marker: null,
979
1186
 
980
- /**
981
- */
1187
+ /** @ignore */
982
1188
  pointRange: null, // dynamically set to colsize by default
983
1189
 
984
- /**
985
- */
986
1190
  tooltip: {
987
-
988
- /**
989
- */
990
1191
  pointFormat: '{point.x}, {point.y}: {point.value}<br/>'
991
1192
  },
992
1193
 
993
- /**
994
- */
995
1194
  states: {
996
1195
 
997
- /**
998
- */
999
1196
  normal: {
1000
-
1001
- /**
1002
- */
1003
1197
  animation: true
1004
1198
  },
1005
1199
 
1006
- /**
1007
- */
1008
1200
  hover: {
1009
-
1010
- /**
1011
- */
1012
- halo: false, // #3406, halo is not required on heatmaps
1013
-
1014
- /**
1015
- */
1201
+ halo: false, // #3406, halo is disabled on heatmaps by default
1016
1202
  brightness: 0.2
1017
1203
  }
1018
1204
  }
1205
+ /**
1206
+ * The row size - how many Y axis units each heatmap row should span.
1207
+ *
1208
+ * @type {Number}
1209
+ * @sample {highcharts} maps/demo/heatmap/ 1 by default
1210
+ * @sample {highmaps} maps/demo/heatmap/ 1 by default
1211
+ * @default 1
1212
+ * @since 4.0
1213
+ * @product highcharts highmaps
1214
+ * @apioption plotOptions.heatmap.rowsize
1215
+ */
1216
+
1019
1217
  }, merge(colorSeriesMixin, {
1020
1218
  pointArrayMap: ['y', 'value'],
1021
1219
  hasPointSpecificOptions: true,
@@ -1039,6 +1237,7 @@
1039
1237
  options = series.options,
1040
1238
  xAxis = series.xAxis,
1041
1239
  yAxis = series.yAxis,
1240
+ seriesPointPadding = options.pointPadding || 0,
1042
1241
  between = function(x, a, b) {
1043
1242
  return Math.min(Math.max(a, x), b);
1044
1243
  };
@@ -1065,7 +1264,8 @@
1065
1264
  ),
1066
1265
  y2 = between(
1067
1266
  Math.round(yAxis.translate(point.y + yPad, 0, 1, 0, 1)), -yAxis.len, 2 * yAxis.len
1068
- );
1267
+ ),
1268
+ pointPadding = pick(point.pointPadding, seriesPointPadding);
1069
1269
 
1070
1270
  // Set plotX and plotY for use in K-D-Tree and more
1071
1271
  point.plotX = point.clientX = (x1 + x2) / 2;
@@ -1073,10 +1273,10 @@
1073
1273
 
1074
1274
  point.shapeType = 'rect';
1075
1275
  point.shapeArgs = {
1076
- x: Math.min(x1, x2),
1077
- y: Math.min(y1, y2),
1078
- width: Math.abs(x2 - x1),
1079
- height: Math.abs(y2 - y1)
1276
+ x: Math.min(x1, x2) + pointPadding,
1277
+ y: Math.min(y1, y2) + pointPadding,
1278
+ width: Math.abs(x2 - x1) - pointPadding * 2,
1279
+ height: Math.abs(y2 - y1) - pointPadding * 2
1080
1280
  };
1081
1281
  });
1082
1282
 
@@ -1105,7 +1305,133 @@
1105
1305
  Series.prototype.getExtremes.call(this);
1106
1306
  }
1107
1307
 
1108
- }), colorPointMixin);
1308
+ }), H.extend({
1309
+ haloPath: function(size) {
1310
+ if (!size) {
1311
+ return [];
1312
+ }
1313
+ var rect = this.shapeArgs;
1314
+ return [
1315
+ 'M', rect.x - size, rect.y - size,
1316
+ 'L', rect.x - size, rect.y + rect.height + size,
1317
+ rect.x + rect.width + size, rect.y + rect.height + size,
1318
+ rect.x + rect.width + size, rect.y - size,
1319
+ 'Z'
1320
+ ];
1321
+ }
1322
+ }, colorPointMixin));
1323
+ /**
1324
+ * A `heatmap` series. If the [type](#series.heatmap.type) option is
1325
+ * not specified, it is inherited from [chart.type](#chart.type).
1326
+ *
1327
+ * For options that apply to multiple series, it is recommended to add
1328
+ * them to the [plotOptions.series](#plotOptions.series) options structure.
1329
+ * To apply to all series of this specific type, apply it to [plotOptions.
1330
+ * heatmap](#plotOptions.heatmap).
1331
+ *
1332
+ * @type {Object}
1333
+ * @extends series,plotOptions.heatmap
1334
+ * @excluding dataParser,dataURL,stack
1335
+ * @product highcharts highmaps
1336
+ * @apioption series.heatmap
1337
+ */
1338
+
1339
+ /**
1340
+ * An array of data points for the series. For the `heatmap` series
1341
+ * type, points can be given in the following ways:
1342
+ *
1343
+ * 1. An array of arrays with 3 or 2 values. In this case, the values
1344
+ * correspond to `x,y,value`. If the first value is a string, it is
1345
+ * applied as the name of the point, and the `x` value is inferred.
1346
+ * The `x` value can also be omitted, in which case the inner arrays
1347
+ * should be of length 2\. Then the `x` value is automatically calculated,
1348
+ * either starting at 0 and incremented by 1, or from `pointStart`
1349
+ * and `pointInterval` given in the series options.
1350
+ *
1351
+ * ```js
1352
+ * data: [
1353
+ * [0, 9, 7],
1354
+ * [1, 10, 4],
1355
+ * [2, 6, 3]
1356
+ * ]
1357
+ * ```
1358
+ *
1359
+ * 2. An array of objects with named values. The objects are point
1360
+ * configuration objects as seen below. If the total number of data
1361
+ * points exceeds the series' [turboThreshold](#series.heatmap.turboThreshold),
1362
+ * this option is not available.
1363
+ *
1364
+ * ```js
1365
+ * data: [{
1366
+ * x: 1,
1367
+ * y: 3,
1368
+ * value: 10,
1369
+ * name: "Point2",
1370
+ * color: "#00FF00"
1371
+ * }, {
1372
+ * x: 1,
1373
+ * y: 7,
1374
+ * value: 10,
1375
+ * name: "Point1",
1376
+ * color: "#FF00FF"
1377
+ * }]
1378
+ * ```
1379
+ *
1380
+ * @type {Array<Object|Array>}
1381
+ * @extends series.line.data
1382
+ * @excluding marker
1383
+ * @sample {highcharts} highcharts/chart/reflow-true/ Numerical values
1384
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/ Arrays of numeric x and y
1385
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/ Arrays of datetime x and y
1386
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/ Arrays of point.name and y
1387
+ * @sample {highcharts} highcharts/series/data-array-of-objects/ Config objects
1388
+ * @product highcharts highmaps
1389
+ * @apioption series.heatmap.data
1390
+ */
1391
+
1392
+ /**
1393
+ * The color of the point. In heat maps the point color is rarely set
1394
+ * explicitly, as we use the color to denote the `value`. Options for
1395
+ * this are set in the [colorAxis](#colorAxis) configuration.
1396
+ *
1397
+ * @type {Color}
1398
+ * @product highcharts highmaps
1399
+ * @apioption series.heatmap.data.color
1400
+ */
1401
+
1402
+ /**
1403
+ * The value of the point, resulting in a color controled by options
1404
+ * as set in the [colorAxis](#colorAxis) configuration.
1405
+ *
1406
+ * @type {Number}
1407
+ * @product highcharts highmaps
1408
+ * @apioption series.heatmap.data.value
1409
+ */
1410
+
1411
+ /**
1412
+ * The x coordinate of the point.
1413
+ *
1414
+ * @type {Number}
1415
+ * @product highmaps
1416
+ * @apioption series.heatmap.data.x
1417
+ */
1418
+
1419
+ /**
1420
+ * The y coordinate of the point.
1421
+ *
1422
+ * @type {Number}
1423
+ * @product highmaps
1424
+ * @apioption series.heatmap.data.y
1425
+ */
1426
+
1427
+ /**
1428
+ * Point padding for a single point.
1429
+ *
1430
+ * @type {Number}
1431
+ * @sample maps/plotoptions/tilemap-pointpadding Point padding on tiles
1432
+ * @apioption series.heatmap.data.pointPadding
1433
+ */
1434
+
1109
1435
 
1110
1436
  }(Highcharts));
1111
1437
  }));