Javascript 使用react和chartjs绘制实时数据流
我想用它来实时传输数据。但目前,我的图表显示相同的数据集,并保持静态。尽管我遵循下面的示例,但我使用了以下代码:Javascript 使用react和chartjs绘制实时数据流,javascript,reactjs,chart.js,frontend,Javascript,Reactjs,Chart.js,Frontend,我想用它来实时传输数据。但目前,我的图表显示相同的数据集,并保持静态。尽管我遵循下面的示例,但我使用了以下代码: 从“React”导入React; 从'react-chartjs-2'导入{Line}; 导入“chartjs插件流”; var createReactClass=require('create-react-class'); 常数数据={ 标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”], 数据集:[ { 标签:“价格”, 填充:假, 线张力:0.1,
从“React”导入React;
从'react-chartjs-2'导入{Line};
导入“chartjs插件流”;
var createReactClass=require('create-react-class');
常数数据={
标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”],
数据集:[
{
标签:“价格”,
填充:假,
线张力:0.1,
背景颜色:“rgba(75192192,0.4)”,
边框颜色:“rgba(75192192,1)”,
borderCapStyle:“butt”,
borderDash:[],
borderDashOffset:0.0,
borderJoinStyle:'斜接',
pointBorderColor:'rgba(75192192,1)',
pointBackgroundColor:“#fff”,
点边界宽度:1,
点半径:5,
pointHoverBackgroundColor:'rgba(75192192,1)',
pointHoverBorderColor:'rgba(2201,1)',
pointHoverBorderWidth:2,
点半径:1,
点半径:10,
数据:[65,59,80,81,56,55,40]
}
]
};
导出默认createReactClass({
displayName:'LineExample',
render(){
返回(
);
}
});代码>如果没有代码片段,我想问题就在这里
onRefresh: function(chart) {
data.dataset.data.push({
x: Date.now(),
y: Math.random()
});
}
您已将新数据推送到初始数据集,但您可能需要将其推送到图表本身。请看下面的示例:
看起来您应该直接将数据传递到图表
chart.config.data.datasets.forEach(function(dataset) {
dataset.data.push({
x: Date.now(),
y: randomScalingFactor()
});
});
或者,如果您在stackblitz之类的地方设置了mvp,我/某人可以更新此答案
onRefresh: function(chart) {
chart.dataset.data.push({
x: Date.now(),
y: Math.random()
});
}
您提供的数据格式错误,您正在尝试
data.dataset.data.push
但您提供的数据只有X值。您需要重新格式化它,数据的格式应该如下:{x:$(value),y:${value}}
在中打开下面的代码段
从“React”导入React;
从“react-chartjs-2”导入{Line};
导入“chartjs插件流”;
var createReactClass=require(“创建ReactClass”);
常数数据={
数据集:[
{
标签:“数据集1”,
边框颜色:“rgb(255、99、132)”,
背景颜色:“rgba(255,99,132,0.5)”,
线张力:0,
borderDash:[8,4],
数据:[]
}
]
};
常量选项={
比例:{
xAxes:[
{
键入:“实时”,
实时:{
onRefresh:function(){
data.dataset[0].data.push({
x:Date.now(),
y:Math.random()*100
});
},
延迟:2000
}
}
]
}
};
导出默认createReactClass({
displayName:“LineExample”,
render(){
返回(
);
}
});
图表
未定义,因为它从未在React中定义过
以下是React的一个示例:
onRefresh: function(chart) {
chart.dataset.data.push({
x: Date.now(),
y: Math.random()
});
}