javascript - 使用动态数据更新 chartJS
问题描述
我的计划是使用 chartJS 显示温度图,当您查看当地天气时,它看起来有点像 google 的。我正在使用来自 openweathermap 的数据,并希望每 3 小时更新一次图表。
不幸的是,我无法找到一种解决方案,可以将我从 openweathermaps 获得的数据传递到图表数组并对其进行更新。
在文档中提到了更新功能(http://www.chartjs.org/docs/latest/developers/updates.html),但我认为我是一个血腥的初学者,无法真正理解如何在这种情况下应用它.
这就是我用来绘制带有静态数字的图表的代码:
let myChart = document.getElementById('myChart').getContext('2d');
var WeatherChart = new Chart(myChart, {
type:'line',
data:{
labels:['3h', '6h', '9h', '12h',],
datasets:[{data:[12, 16, 16, 8],}]
},
options:{}
});
我将如何使用来自变量或数组的数据来更新图表?
解决方案
该答案将取决于您尝试更新信息的方式。假设您完全按照您提供的方式使用,您将每 3 小时设置一个计时器并运行此功能:
function updateWeatherChart(){
WeatherChart.data.datasets[0].data = [1, 2, 3, 4];
WeatherChart.update();
}
您可以拥有一些东西,就像文档中所说的那样,遍历数据并首先将其删除。或者,您可以使用要更新现有图表的新信息重新分配它。
请记住,[1, 2, 3, 4]
您必须先运行代码才能获取新信息并用您自己的数组替换数组。[1, 2, 3, 4]
只是一个测试用例。
推荐阅读
- c# - 从另一个源 url 获取执行的 url
- javascript - 在cordova和python服务器之间进行通信
- python - Collatz 来自自动化无聊的东西
- postgresql - 如何使用 Anorm 将 JSON 插入到 postgres 表中?
- vb.net - 仅将鼠标悬停在数据网格上时出现奇怪的错误
- python - 如何处理数据帧中的余弦相似度结果?
- javascript - 涉及括号的 Javascript setTimeout() 问题
- python - 使用已使用 PyMinifier 缩小的 Python3.8.1 核心 py 文件是否安全
- javascript - 如何在javascript中从正则表达式的开头拆分字符串
- swift - 检查对象是否是 Swift 中的泛型类型