gpt4 book ai didi

angular - Chartjs错误: time scale: "time.format" is deprecated.请改用 "time.parser"

转载 作者:行者123 更新时间:2023-12-04 15:30:38 24 4
gpt4 key购买 nike

我正在为我的项目使用 Chartjs。我使用的不同版本是:ChartJS 2.9.3、Chartjs-plugin-streaming 1.8.0、moment.js 2.24.0、chartjs-adapter-moment 0.1.1。我绘制了一个实时图表,并且每秒都会收到此警告,这会非常快地填满内存。

time scale: "time.format" is deprecated. Please use "time.parser" instead

我的代码是:

    private chartPlotting() {
this.Linecap.push(new Chart('canvas', {
type: 'line',
data: {
datasets: [{
label: 'Flow',
lineTension: 0,
data: [],
borderColor: '#3cb371',
fill: false
},
{
label: 'Height',
lineTension: 0,
data: [],
borderColor: '#FF0000',
fill: false
}
]
},
options: {
responsive: true,
scales: {
xAxes: [{
type: 'realtime',
time: {
parser: 'false'
},
display: true
}],
yAxes: [{
display: true,
ticks: {
beginAtZero: true,
maxTicksLimit: 10,
stepSize: 5,
max: 500
}
}],
},
plugins: {
streaming: {
duration: 300000,
refresh: 1000,
delay: 2000,
pause: false,
ttl: undefined,
frameRate: 48,

onRefresh: function (Linecap) {
///var data = []
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onload = function () {
var data = JSON.parse(xhr.responseText);
Linecap.data.datasets[0].data.push({
x: Date.now(),
y: data[0]["yrData"]
});
Linecap.data.datasets[1].data.push({
x: Date.now(),
y: data[0]["Height"]
});
};
}
}
}
}
}));
}

我试图找出原因,后来知道可能会在下一个版本的 chartJS 中,即 3.0.0 这个问题将被删除。在 2.9.3 中是否有解决此错误的方法?

最佳答案

问题是由于您使用的不同库的版本不兼容。

chartjs-plugin-streaming 的文档例如声明如下:

Version 1.8 requires Chart.js 2.7.x or 2.8.x.

要解决这个问题,您有两个选择。

  1. 摆脱 chartjs-plugin-streaming
  2. 将 Chart.js 2.9.3 降级到 2.8.0

更新

对于 Angular 8,我建议使用 ng2-charts ,它基于 Chart.js。此外,您应该摆脱 chartjs-plugin-streaming 并自己实现相关功能。

请看下面StackBlitz

关于angular - Chartjs错误: time scale: "time.format" is deprecated.请改用 "time.parser",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61296145/

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