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。
我试图在我的折线图的 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。