简单介绍

一个数据展示大屏。适用于中小型项目展示,只做学习交流。

技术栈

前端:vue+echarts+axios+vue-router+less
后台:node+koa2+websocket
开发IDE:IDEA

项目展示


PS:图表使用数据均为自造数据,与任何应用或者数据均无关。
项目展示效果:
1、图表自动切换,图表不同类目切换效果
2、大屏主题切换
3、单独图表放大缩小效果

开发准备

一、前端项目的准备

1.1. vue-cli 脚手架创建项目

1.1.1 脚手架环境安装

node install -g @vue/cli

1.1.2 项目创建

vue create version

本项目中具体使用的配置:

项目搭建完成,运行项目:

cd version
npm run serve

1.2 项目的基本配置

在项目根目录下创建 vue.config.js 文件
在文件中增加代码

// 使用vue-cli创建出来的vue工程, Webpack的配置是被隐藏起来了的// 如果想覆盖Webpack中的默认配置,需要在项目的根路径下增加vue.config.js文件
module.exports = {devServer: {port: 8999, // 端口号的配置open: true // 自动打开浏览器}
}

1.3.全局echarts 对象

1.3.1.引入 echarts 包
a、将插件,地图相关数据 static 目录复制到 public 目录之下

b、在 public/index.html 文件中引入 echarts.min.js 文件

1.3.2.挂载到 Vue 原型上
在 src/main.js 文件中挂载
由于在 index.html 中已经通过script标签引入了 echarts.js 文件夹, 故在 window 全局对象中是
存在 echarts 全局对象, 将其挂载到 Vue 的原型对象上

// 将全局echarts对象挂载到Vue的原型对象上
// 将全局的echarts对象挂载到Vue的原型对象上
// 别的组件中 this.$echarts
Vue.prototype.$echarts = window.echarts

1.3.3.使用全局 echarts 对象
在其他组件中使用

this.$echarts

PS::echarts API传送门

1.4. axios 的处理

1.4.1.安装 axios 包

npm install axi

1.4.2.封装 axios 对象
在 src/main.js 文件中配置 axios 并且挂载到Vue的原型对象上

import axios from 'axios'
axios.defaults.baseURL = 'http://127.0.0.1:8888/api/'
// 将axios挂载到Vue的原型对象上
Vue.prototype.$http = axios
......

1.4.3.使用 axios 对象
在其他组件中使用

this.$http

2.图表组件的开发

在项目的初期, 先开发每一个单独的图表,在最后将所有的图表合并到一个界面,目前项目已基本搭建完成,只展示部分项目截图,想要了解的同学可以直接下载学习。
代码已添加相关注释,大家有不理解的可以一起在评论区探讨。
前端项目代码:前端代码传送门
后台代码:后台项目传送门
代码开发学习笔记:学习笔记
以下以seller.vue为例:
2.1、组件结构设计
在 src/components/ 目录下建立 Seller.vue , 这个组件是真实展示图表的组件
给外层div增加类样式 com-container
建立一个显示图表的div元素
给新增的这个div增加类样式 com-chart

<!-- 商家销量统计的横向柱状图 -->
<template><div class="com-container">
<!--    ref vue绑定DOM元素 --><div class="com-chart" ref="seller_ref"></div></div>
</template>
<style lang="less" scoped></style>

2.2、图表 Seller.vue 基本功能的实现
1.在mounted生命周期中初始化 echartsInstance 对象

mounted () {this.initChart()},

2.在mounted中获取服务器的数据

mounted () {this.initChart()// this.getData()this.$socket.send({action: 'getData',socketType: 'sellerData',chartName: 'seller',value: ''})window.addEventListener('resize', this.screenAdapter)// 界面加载完成,主动适应屏幕this.screenAdapter()},

3.将获取到的数据设置到图表上

//  更新数据updateChart () {const start = (this.currentPage - 1) * 5 // 0const end = this.currentPage * 5// slice 包含start 不包含endconst showData = this.allData.slice(start, end)const sellerNames = showData.map((item) => {return item.name})const sellerValues = showData.map((item) => {return item.value})// 抽离样式optionconst dataOption = {yAxis: {data: sellerNames},series: [{data: sellerValues}]}this.chartInstance.setOption(dataOption)}

4、数据的处理, 每5个元素显示一页


更多项目资料,如果感兴趣,大家可以直接传送门去取资料了解
前端项目代码:前端代码传送门
后台代码:后台项目传送门
代码开发学习笔记:学习笔记

vue+echarts实现数据展示大屏相关推荐

  1. 【echarts画数据可视化大屏】

    目录 前言 一.数据清洗 1.去除重复值 2.处理缺失值 3.处理异常值 二.数据处理(将数据打包成绘制需要的格式) 1.条形图数据处理 2.折线图数据处理 3.玫瑰图数据处理 4.柱状图数据处理 5 ...

  2. 基于js+echarts实现数据可视化大屏展示

    vue+echarts大屏数据可视化展示点击进入 写在前面: 本项目中使用的是echarts图表库,ECharts 提供了常规的折线图.柱状图.散点图.饼图.K线图,用于统计的盒形图,用于地理数据可视 ...

  3. 前端使用echarts实现数据可视化大屏展示

    1.vue中如何使用echarts完成大屏展示:移步到这里 2.原生js项目中如何使用echarts完成大屏展示:移步到这里

  4. vue+echarts+3D地图 制作大屏

    基于3d地图做的一些效果,首先看下效果图 ​​​​​​​ 准备工作:下载echarts 和3d地图需要用到的依赖包,版本随意就行 ​​​​​​​ 下载依赖之后,在页面引入,引入网上下载的地图json文 ...

  5. vue+echarts+自适应 实现可视化大屏展示效果

    展示效果: 一.分辨率按照1920px*1080px,16:9展示效果最佳,不同分辨率可自适应,但图像可能有拉伸. 二.全屏页面的自适应适配方案采用rem 方案实现自适应,可参考 https://ww ...

  6. Vue中如何进行数据可视化大屏展示

    Vue中如何进行数据可视化大屏展示 在现代数据驱动的应用程序中,数据可视化大屏已经成为了非常重要的一环.通过对海量数据进行可视化展示,可以帮助用户更好地理解和分析数据,从而做出更加明智的决策.在Vue ...

  7. 基于vue+echarts 数据可视化大屏展示[附源码]

    获取 ECharts 的路径有以下几种,请根据您的情况进行选择: 1) 最直接的方法是在 ECharts 的官方网站中挑选适合您的版本进行下载,不同的打包下载应用于不同的开发者功能与体积的需求,或者您 ...

  8. 数据可视化大屏电商数据展示平台开发实录(Echarts柱图曲线图、mysql筛选统计语句、时间计算、大数据量统计)

    数据可视化大屏电商数据展示平台 一.前言 二.项目介绍 三.项目展示 四.项目经验分享 4.1 翻牌器 4.1.1 翻牌器-今日实时交易 4.1.2.翻牌器后端统计SUM函数的使用 4.2 不同时间指 ...

  9. 使用Vue实现数据可视化大屏功能(二)

    引入数据大屏相关组件   用Datav插件做大屏可视化的组件,官网地址 http://datav.jiaminghi.com/ ,整个组件库都是基于Vue React版本实现,主要用于构建大屏数据可视 ...

最新文章

  1. Java基础知识强化之IO流笔记42:IO流总结(图解)
  2. nyoj 947 Max Xor(字典树)
  3. php 编写mysql,自己写的MySQL类
  4. HDinsight 系列-使用证书登陆中国区Azure
  5. 【高并发】JUC中的Executor框架详解1
  6. MySQL(三)表记录的更新操作
  7. hadoop之 Zookeeper 分布式应用程序协调服务
  8. java2048设计说明,Html5中的本地存储设计理念
  9. MapReduce 支持的部分数据挖掘算法
  10. [zencart数据采集]第二课 火车头采集简单系统配置
  11. 小米盒子服务器无信号,小米小盒子连接HDMI无信号怎么办?
  12. 浅谈分子动力学(MD)模拟及其势文件
  13. c语言调用win10麦克风,Win10系统麦克风如何开启?Win10系统开启麦克风的方法
  14. 爬虫实战-爬取豆瓣读书书籍信息
  15. UML——顺序图、协作图
  16. 基于知识图谱的智能问答方案
  17. 选择文库系统的时候需要重点注意和对比哪些东西?
  18. SOA成功案例—中远集运全球EDI平台建设
  19. VPX显示计算机学习资料第711篇:飞腾1500A-4+8860 6UVPX显示计算机
  20. mac 和华为手机互传文件

热门文章

  1. 【信息技术】【2007】遮挡与杂乱环境中的车辆跟踪研究
  2. 怎么样获取桌面图标句柄,并用VC完成随意移动桌面图标地位置?
  3. redis未授权漏洞的事前、事中、事后、特征信息
  4. 学习路之JavaScript----JS字符串拼接的几种方式及其性能比较
  5. 告别嘈杂传达真心!酷狗跨品牌合作邀你一起“把话说清楚
  6. MindNote 思维导图笔记本
  7. 仿写小米网站首页 产品导航栏
  8. Word宋体引号变成了Times New Roman,如何批量改为宋体?
  9. 【Android】图片资源的加载、简单处理
  10. 明明是粉色,为毛叫玫瑰金