Серия
имеет два свойства для управления диапазоном и расположением точек: pointRange
& pointPlacement
.Они работают для точек всех серий и, к сожалению, не могут применяться к отдельным столбцам.
Обходной путь
Отключить grouping
и сбросить pointPadding
& groupPadding
:
plotOptions: {
series: {
grouping: false,
pointPadding: 0,
groupPadding: 0
}
},
Создайте отдельные серии для каждой точки и примените к ним соответствующие pointRange
& pointPadding
.Затем свяжите их, используя свойство linkedTo
, чтобы имитировать исходную структуру серии:
series: [{
name: 'First series',
color: '#bada55',
data: [
[0, 2]
],
pointRange: 0.4,
pointPlacement: -0.5
}, {
data: [
[1, 7]
],
linkedTo: ':previous',
color: '#bada55',
pointRange: 0.4,
pointPlacement: -0.5
}, {
data: [
[2, 5]
],
linkedTo: ':previous',
color: '#bada55',
//pointRange: 1, // by default
//pointPlacement: 0 // by default
}, {
data: [
[3, 4]
],
linkedTo: ':previous',
color: '#bada55',
pointRange: 0.4,
pointPlacement: -0.5
}, {
name: 'Second series',
data: [
[0, 1]
],
color: '#c0ffee',
pointRange: 0.4,
pointPlacement: 0.5
}, {
data: [
[1, 2]
],
linkedTo: ':previous',
color: '#c0ffee',
pointRange: 0.4,
pointPlacement: 0.5
}, {
data: [
[3, 2]
],
linkedTo: ':previous',
color: '#c0ffee',
pointRange: 0.4,
pointPlacement: 0.5
}]
Демонстрационная версия: http://jsfiddle.net/BlackLabel/q7j4m8eb/
Недостаток этого подхода заключается в том, что вы должныопределите цвет для каждой точки (серии) явно, и структура данных выглядит немного сложной.
Все перечисленные выше опции можно найти в API: https://api.highcharts.com/highcharts/