Высокие графики корректируют первый и последний тик по оси X для прямых значений

Моя текущая ось 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;
}
Другие вопросы по тегам