数据可视化中经常需要动态更新数据,而且在用户访问进程期间,页面保留历史状态,本文记录项目中使用
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