大家好,我是爱撸码的开源大叔。
数据可视化大屏可以帮助人们更加直观地了解数据,让数据更容易被人们所接受,比如双十一实时展示的成交额。
今天给大家推荐一个基于 Vue、datav、Echart 框架的大数据可视化(大屏展示)模板。提供数据动态渲染、屏幕自适应、内部图表自由替换等功能。
项目简介
通过 Vue 组件实现数据动态刷新渲染,内部图表可实现自由替换。部分图表使用 DataV 自带组件,可进行更改。
项目环境:vue-cli-3.0、webpack-4.0、npm-6.13、node-v12.16、DataV-2.7.3、Echarts-4.6.0
项目使用
启动项目
首先安装nodejs、yarn
1 | 拉取依赖包 |
渲染图表
ECharts 图表是基于 common/echart/index.vue
封装组件创建的,可以动态渲染图表数据。默认的 ECharts 图表样式,文件地址:common/echart/theme.json
。
参数名称 | 类型 | 作用/功能 |
---|---|---|
id | String | 唯一 id,渲染图表的节点(非必填,使用了 $el) |
className | String | class样式名称 |
options | Object | ECharts 配置 |
height | String | 图表高度 |
width | String | 图表宽度 |
动态渲染图表是components
目录下的图表组件,index 文件负责数据获取和处理,chart 文件负责监听和数据渲染。
比如drawPie()是渲染函数,echartData是需要动态渲染的数据,当外界通过props传入新数据,可以使用watch()方法去监听,数据变化就调用 this.drawPie() 并触发内部的.setOption函数,重新渲染一次图表。
1 | props: ["listData"], |
更换图表
components/echart
下的文件修改成需要的 echarts 样式。
请求数据
在 main.js 文件全局配置,在 views/xx.vue 文件里进行前后端数据请求。
1 | import axios from "axios"; |
在 vue 页面中调用 axios 方法并通过 props 传给 echarts 图表子组件
1 | export default { |
项目案例
项目地址
1 | https://gitee.com/MTrun/big-screen-vue-datav |
总结
big-screen-vue-datav 是一个不错的大屏可视化项目,目前也有 React 版本,图表使用 DataV 组件,可进行更改,感兴趣的小伙伴赶快去试试吧~