数据可视化中经常需要动态更新数据,而且在用户访问进程期间,页面保留历史状态,本文记录项目中使用 Highcharts 实时 绘制 数据的实现, 重绘 历史数据部分待优化。适用场景:一个坐标系多条竖曲线,动态从api获取更新的数据并加到曲线上,用户web浏览器在切换页面并回到曲线所在页面时重载所有历史数据,达成保持历史状态的目的。优点:实现动态更新,不占用客户端浏览器存储。 下载的文件包里面缺少一个文件(中文包),可以使用官网的这个文件: <script src="https://code. highcharts .com.cn/ highcharts -plugins/ highcharts -zh_CN.js" type="text/javascri... *boardBuildingInCommunityMap为接口返回的数据 * buildFeeArr[i] = [] 为重要步骤,清空每个图表中重复的数组 * buildFeeArr[i].push(buildFeeObj) 给每条数据假如不同的动态数据 * buildFee(buildFeeArr, boardBuildingInCommunityMap, feeItemId 1、业务需求: 1) 对22w的数据点进行 绘制 。实际采集数据是远大于22w的,后端接口在保证图形完整性会对原始采集的数据进行过滤。过滤后最多情况下有22w的数据点需要进行渲染。 2)x轴为时间范围,可对X轴进行放大,通过鼠标点击选择时间区域查看某个时间段进行更详细数据。在用户选择时间范围后 重新 请求接口获取进一步数据。(保证后端过滤数据后图形展示的不失去真实性的情况下。) 3)存储用户查阅的时间范围的历史记录,可以返回上一步查询以及重置图形。默认查询范围为单日24小时 highCharts 需要一组数组来为图表的内容赋值,但是在大多数情况下,数据是需要实时更新与请求的。这时原来的图表就需要更新。 在Vue中,数据更新会相应的触发重渲染,但是highChats并不会根据数据更新自动更新。 我们让它自动更新的思路是: *watch观察者 —触发–> 更新数据 --然后–> 重绘 先导入highChart import Highcharts , { chart, Chart } from ' highcharts /highstock'; import H