Chartjs - 如何在 x 轴标签上获取最近 7 天?

Chartjs - How to get last 7 days on x-axis labels?

我试图在我的折线图的 x 轴上获取最近 7 天(使用 chartjs)。执行此操作的最佳方法是什么?

谢谢

你必须自己把它们放在轴上。参见 this。 当然,您需要从后端获取 y 轴上的信息。如何执行此操作取决于数据的结构

您可以通过以下方式获得它:

const dataArray = yourChart.data.datasets[0].data
console.log(dataArray.slice(Math.max(dataArray.length - 7, 1)))

您可以使用以下代码实例化最近 7 天的图表:

let start = new Date(),
  end = new Date();

start.setDate(start.getDate() - 7); // set to 'now' minus 7 days.
start.setHours(0, 0, 0, 0); // set to midnight.

new Chart(document.getElementById("chart"), {
  type: "line",
  options: {
    scales: {
      xAxes: [{
        type: "time",
        time: {
          min: start,
          max: end,
          unit: "day"
        }
      }]
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.bundle.min.js"></script>
<canvas id="chart"></canvas>

当值对于设置的月份无效时,由于 Date object auto correcting itself 日期算法有效。

您需要提供您的值作为 x(或 t)和 y 属性,as specified in the documentation