chartjs在网格上绘制日期时间值和时间偏移

时间:2019-08-25 05:10:04

标签: chart.js chartjs-2.6.0

我有一个ChartJS折线图,显示了Datetime个值。

每个值都准确地显示在图表上XAxis日标签所在的垂直线上。

我需要根据当天的时间绘制数据。例如,如果我有两个数据点:

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

我应该看到的是,第一个数据点将从日网格垂直线稍微显示offset,而第二个数据点将显示画在第一点的右边。

与下一张图片类似:

enter image description here

  

这可能吗?

1 个答案:

答案 0 :(得分:0)

这应该是time axis的默认行为,假设其配置正确。我在您的集合中添加了两个数据点,以便在下面的代码段中进行说明。

此外,我看到您已将问题标记为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>