chartjs отображает значение даты и времени со смещением времени в сетке

У меня есть ChartJS линейная диаграмма, отображающая Datetime значения.

Каждое значение отображается на графике точно в вертикальной линии, где находится метка XAxis дня.

Мне нужно построить данные на основе времени этого дня. Так, например, если у меня есть две точки данных:

{ t: '2019-08-15T09:00:00Z', y: 0.3 },
{ t: '2019-08-15T17:00:00Z', y: 0.3 }

Я должен увидеть, что первая точка данных будет отображаться немного offset от вертикальной линии дневной сетки, а вторая точка данных будет расположена справа от первой. точка.

Что-то похожее на следующее изображение:

введите здесь описание изображения

Это возможно?


person VAAA    schedule 25.08.2019    source источник


Ответы (1)


Это должно быть поведением по умолчанию для time оси, предполагая он настроен правильно. Я добавил пару точек данных в ваш набор, чтобы проиллюстрировать это во фрагменте ниже.

Кроме того, я вижу, что вы пометили свой вопрос как chartjs-2.6.0. Обработка осей была значительно улучшена в более поздних выпусках, так что обновите, если можете.

new Chart(document.getElementById("chart"), {
  type: "line",
  data: {
    datasets: [{
      data: [{
          t: '2019-08-14T09:00:00Z',
          y: 0.1
        },
        {
          t: '2019-08-15T09:00:00Z',
          y: 0.3
        },
        {
          t: '2019-08-15T17:00:00Z',
          y: 0.3
        },
        {
          t: '2019-08-16T09:00:00Z',
          y: 0.5
        }
      ]
    }]
  },
  options: {
    scales: {
      xAxes: [{
        type: "time",
        time: {
          unit: "day"
        }
      }]
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.bundle.min.js"></script>
<canvas id="chart"></canvas>

person timclutton    schedule 28.08.2019