【发布时间】:2019-10-07 09:15:32
【问题描述】:
我试图在我的折线图的 x 轴上获取最后 7 天(使用 chartjs)。最好的方法是什么?
谢谢
【问题讨论】:
标签: javascript jquery time chart.js linechart
我试图在我的折线图的 x 轴上获取最后 7 天(使用 chartjs)。最好的方法是什么?
谢谢
【问题讨论】:
标签: javascript jquery time chart.js linechart
您可以使用以下代码实例化过去 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。
【讨论】:
?days=7 或 ?start=20190101&end=20190107.
您必须自己将它们放在轴上。见this。 当然,您需要从后端获取 y 轴上的信息。你如何做到这一点取决于你的数据的结构
【讨论】:
您可以通过以下方式获得它:
const dataArray = yourChart.data.datasets[0].data
console.log(dataArray.slice(Math.max(dataArray.length - 7, 1)))
【讨论】: