Chartjs - Как получить последние 7 дней на метках оси X? - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь получить последние семь дней на оси х моего линейного графика (используя chartjs). Каков наилучший способ сделать это?

Спасибо

Ответы [ 3 ]

1 голос
/ 07 октября 2019

Вы можете создать график за последние семь дней с помощью следующего кода:

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>

Арифметика даты работает из-за объекта даты, автоматически корректирующего себя , когда значение недопустимо для установленного месяца.

Вам нужно будет указать свои значения как x (или t) & y свойств, , как указано в документации .

0 голосов
/ 07 октября 2019

Вы можете получить его с помощью:

const dataArray = yourChart.data.datasets[0].data
console.log(dataArray.slice(Math.max(dataArray.length - 7, 1)))
0 голосов
/ 07 октября 2019

Вы должны поставить их на ось самостоятельно. Смотрите это . Конечно, вам нужно получить информацию о оси Y от вашего бэкэнда. Как вы это сделаете, зависит от того, как структурированы ваши данные

...