gpt4 book ai didi

javascript - Chartjs实时图形x轴移动

转载 作者:行者123 更新时间:2023-11-28 04:18:12 25 4
gpt4 key购买 nike

我想用 Chartjs 显示一个图表,它显示实时数据并沿着 x 轴缓慢滚动,我在这里用 js fiddle 尝试过,它只是疯狂地上下跳跃:https://jsfiddle.net/rsnufpq7/

如果没有此动画,图表应该移动到左侧,旧点不在 View 中,如第二个示例所示:https://bost.ocks.org/mike/path/

var canvas = document.getElementById('myChart');
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
label: "My First dataset",
fill: false,
lineTension: 0.0,
backgroundColor: "rgba(75,192,192,0.4)",
borderColor: "rgba(75,192,192,1)",
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: "rgba(75,192,192,1)",
pointBackgroundColor: "#fff",
pointBorderWidth: 1,
pointHoverRadius: 5,
pointHoverBackgroundColor: "rgba(75,192,192,1)",
pointHoverBorderColor: "rgba(220,220,220,1)",
pointHoverBorderWidth: 2,
pointRadius: 5,
pointHitRadius: 10,
data: [65, 59, 80, 0, 56, 55, 40],
}
]
};

var zero = 7;
function adddata(){

var value = Math.floor((Math.random() * 10) + 1);;
myLineChart.data.labels.push(zero);
myLineChart.data.labels.splice(0, 1);
myLineChart.data.datasets[0].data.splice(0, 1);
myLineChart.data.datasets[0].data.push(value);


myLineChart.update();
zero++;
}



setInterval(function(){
adddata();
},1000);

var option = {
showLines: true
};
var myLineChart = Chart.Line(canvas,{
data:data,
options:option
});

最佳答案

您的代码按预期工作,唯一缺少的是您的 y 轴没有定义范围并且正在动态调整。

为了实现这一目标,我已将您的选项扩展为如下所示。

var option = {
showLines: true,
scales: {
yAxes: [{
display: true,
ticks: {
beginAtZero:true,
min: 0,
max: 100
}
}]
}
};

我已经定义了 y 轴的最小值和最大值,它不再跳跃。

这是一个工作 fiddle

关于javascript - Chartjs实时图形x轴移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45664149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com