Серия Variwide не поддерживает неклассифицированную ось x. На github сообщается о проблеме: https://github.com/highcharts/highcharts/issues/7359
Обход:
Variwide можно смоделировать с помощью ряда столбцов.
Создайте отдельные серии для каждой точки и свяжите их вместе, поместив linkedTo: ':previous'
в каждую из них (кроме первой). Затем установите pointRange
для каждой серии. pointRange
является свойством серии и не может быть назначено отдельным точкам - поэтому для каждой точки должна быть составлена отдельная серия.
series: [{
data: [
[5, 99]
],
pointRange: 2
}, {
linkedTo: ':previous',
data: [
[7.5, 72]
],
pointRange: 3
}, {
linkedTo: ':previous',
data: [
[14, 111]
],
pointRange: 10
}]
x положение точки указывает на середину столбца. Так что если x
= 5 и pointRange
= 2, то столбец будет охватывать от 4 до 6.
К сожалению, Highcharts плохо обрабатывает экстремумы при использовании нескольких значений pointRange
. Установка минимальной оси x фиксирует это:
xAxis: {
min: 9, // 4 (axis' minimum) + 10 (max point range) / 2 = 9
},
Эти plotOptions
необходимы для достижения правильной ширины столбцов:
grouping: false,
groupPadding: 0,
pointPadding: 0,
Демонстрационная версия: http://jsfiddle.net/BlackLabel/27gr3wh8/
Ссылка API: https://api.highcharts.com/highcharts/