Высокие графики корректируют первый и последний тик по оси X для прямых значений
Моя текущая ось X выглядит следующим образом:
Мне нужно настроить первый и последний тик на самое низкое и самое большое значение. Допустим, первый тик будет 26.4.2015 18:38:36, а последний тик будет 27.4.2015 9:07:27. Остальные тики должны рассчитываться автоматически.
$('#container').highcharts({
chart: {
zoomType: "x"
},
xAxis: {
type: "datetime",
title: {
text: "Time"
},
minPadding: 0,
maxPadding: 0,
min: 1430073516000,
tickmarkPlacement: "on",
showFirstLabel: true,
showLastLabel: true,
startOnTick: false,
endOnTick: false,
labels: {
formatter() {
if (this.isFirst || this.isLast) {
return Highcharts.dateFormat("%e.%m.%Y %H:%M:%S", this.value);
} else {
return this.axis.defaultLabelFormatter.call(this);
}
}
}
},
yAxis: {
title: {
text: "Value"
}
},
tooltip: {
shared: true
},
series: [
{
id: "First",
name: "First",
marker: {
enabled: false
},
data: [0, 0, 0, 0, 0, 0, 242, 542, 456, 422, 445, 884, 123],
pointStart: 1430073516000,
pointInterval: 60000
},
{
id: "Second",
name: "Second",
marker: {
enabled: false
},
data: [0, 0, 0, 25, 356, 427, 242, 456, 811, 422, 541, 5, 0],
pointStart: 1430073516000,
pointInterval: 60000
}
]
});
JSFiddle: http://jsfiddle.net/vy5uL2aw/1/
1 ответ
Решение было следующей функцией, добавленной к объекту xAxis.
tickPositioner() {
let tickPositions = this.tickPositions;
tickPositions[0] = this.dataMin;
tickPositions[tickPositions.length - 1] = this.dataMax;
return tickPositions;
}