前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据可视化(大屏展示)解决方案

大数据可视化(大屏展示)解决方案

作者头像
永恒君
发布2022-12-07 16:59:17
4.9K0
发布2022-12-07 16:59:17
举报
文章被收录于专栏:开源小分队开源小分队

大家好,我是爱撸码的开源大叔。

数据可视化大屏可以帮助人们更加直观地了解数据,让数据更容易被人们所接受,比如双十一实时展示的成交额。

今天给大家推荐一个基于 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

代码语言:javascript
复制
# 拉取依赖包
npm/cnpm install
# 启动项目
npm run serve

渲染图表

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函数,重新渲染一次图表。

代码语言:javascript
复制
props: ["listData"],
watch: {
  listData(newValue) {
     this.echartData= newValue;
     this.drawPie();
   },
  },
methods: {
  drawPie() {
  	.....
  	'渲染节点名称'.setOption(option);
  }
 }

更换图表

components/echart 下的文件修改成需要的 echarts 样式。

请求数据

在 main.js 文件全局配置,在 views/xx.vue 文件里进行前后端数据请求。

代码语言:javascript
复制
import axios from "axios";


//把方法放到vue的原型上,这样就可以全局使用了
Vue.prototype.$http = axios.create({
  //设置20秒超时时间
  timeout: 20000,
  baseURL: "http://127.0.0.1:80080", // 后端地址
});

在 vue 页面中调用 axios 方法并通过 props 传给 echarts 图表子组件

代码语言:javascript
复制
export default {
  data() {
   ListDataSelf:[]
  },
  mounted() {
   this.fetchList(); //获取数据
  },
  methods: {
 async fetchList(){
   const { code,listData }= await this.$http.get("xx/xx/xx"x);
   if(code === 200){
   this.ListDataSelf= listData;
   }
 }
  }
 }

项目案例

项目地址

代码语言:javascript
复制
https://gitee.com/MTrun/big-screen-vue-datav
# DataV 官方文档
http://datav.jiaminghi.com/guide/
# echarts 文档
https://echarts.apache.org/examples/zh/index.html

总结

big-screen-vue-datav 是一个不错的大屏可视化项目,目前也有 React 版本,图表使用 DataV 组件,可进行更改,感兴趣的小伙伴赶快去试试吧~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源小分队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目简介
  • 项目使用
    • 启动项目
      • 渲染图表
        • 更换图表
          • 请求数据
          • 项目案例
          • 项目地址
          • 总结
          相关产品与服务
          大数据可视交互系统
          RayData 是基于独有的渲染技术,结合云计算、AI、IoT,将大规模多样化的数据融合呈现,实现云数据实时可视化、场景化以及交互的管理方式,从而节省管理成本,提升数据辅助决策的效率。多年来丰富的大型项目交付经验辅以行业卓越的生态能力,使得 RayData 拥有远超行业水准的产品服务。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档