charts - 如何使用 ChartJS 在同一图表中添加预测数据和实际数据?
问题描述
我想在同一张图中实时添加预测数据和实际数据以获得类似的结果:
我的代码是这样的:
xArr.push(jsonRes[i].timestamp)
yArr.push(jsonRes[i].deplacement)
yMax.push(3)
yMin.push(-3)
yPredict.push()
// draw chart
let canvas = document.getElementById("myChart");
let ctx = canvas.getContext('2d');
myChart = new Chart(ctx, {
type: 'line',
data: {
labels: xArr,
datasets: [{
label: 'Déplacement cumulé de la chaine inclinométrique (mm)', // Name the series
data: yArr, // Specify the data values array
fill: false,
borderColor: '#2196f3', // Add custom color border (Line)
backgroundColor: '#2196f3', // Add custom color background (Points and Fill)
borderWidth: 1 // Specify bar border width
}, {
label: 'Déplacement max toléré', // Name the series
data: yMax, // Specify the data values array
fill: true,
borderColor: '#b30000'
}, {
label: 'Déplacement min toléré', // Name the series
data: yMin, // Specify the data values array
fill: true,
borderColor: '#b30000'
}, {
label: 'ML', // Name the series
data: yPredict, // Specify the data values array
fill: true,
borderColor: '#b30000'
}
]
},
options: {
responsive: true, // Instruct chart js to respond nicely.
maintainAspectRatio: false, // Add to prevent default behaviour of full-width/height
}
});
我想获得一个独特的图表,其中我将实时拥有一部分实际数据和下一部分预测数据。所有这些数据都作为时间序列来自数据库。
解决方案
您可以使用插件并从您想要虚线的地方更改chartLineStlyle。
https://www.chartjs.org/docs/latest/developers/plugins.html
使用插件可用的钩子
var chart = new Chart(ctx, {
plugins: [{
beforeInit: function(chart, options) {
//..
}
}] });
推荐阅读
- next.js - 使用 ZEIT Now、Next.js 和 Gun.js 时,如何修复部署错误“OSSL_WEBCRYPTO_OR_TEXT_ENCODING_NOT_INSTALLED 未定义”?
- c# - Unity在编辑器中创建由道路部分组成的直路
- visual-studio - 查找未签入 repo 的文件
- javascript - 如何设置 document.write() 中的标签样式?
- xamarin.ios - iOS 调试在启动后直接终止(Xamarin.Forms / VS for Mac)
- reactjs - 使用 web3 和 go-ethereum 在私有以太坊区块链上打开和进行交易时未捕获(承诺)错误
- docker - 在 Ubuntu 中启动 minikube 会删除本地 docker 镜像
- reactjs - 客户挂钩中的 useReducer 不会更新 UI
- excel - 在工作簿之间复制和粘贴时出现 VBA 错误
- laravel - 从 jeremykenedy/laravel-roles 获取具有管理员角色的用户