数据可视化大屏的出现,掀起一番又一番的浪潮,众多企业纷纷想要打造属于自己的“酷炫吊炸天”的霸道总裁大屏驾驶舱。

之前小伙伴们建议我出一些视频课程来学习Echarts,这样可以更快上手,所以我就追星赶月的录制了《Echarts - 0基础入门课程》 ,希望可以帮到有需要的小伙伴。

传送门

YYDatav的数据可视化大屏《精彩案例汇总》(Java SpringBoot&Echarts源码)_YYDataV的博客-CSDN博客

2【源码】数据可视化:基于Echarts+JavaSpringBoot实现的动态实时大屏范例-物流大数据-企业管理文档类资源-CSDN下载

效果展示

一、 确定需求方案

1、确定产品上线部署的屏幕LED分辨率

1920px*1080px,15:9屏宽比,F11全屏后占满整屏且无滚动条。

2、部署方式 

基于免安装可执行程序:支持Windows、Linux、Mac等各种操作系统;将程序复制到服务器上即可,无需其它环境依赖;

观看方式:既可在服务器上直接观看程序界面,也可在远程用浏览器打开播放,例如Chrome浏览器、360浏览器等。

二、整体架构设计

  1. 前端基于Echarts开源库设计,使用WebStorm编辑器;
  2. 后端基于Java Web实现,使用 IDEA 编辑器;
  3. 数据传输格式:JSON;
  4. 数据源类型:目前采用JSON文件方式,自行添加Mybatis可支持PostgreSQL、MySQL、Oracle、Microsoft SQL Server、SQLite,自行添加POI可支持Excel表格等,还可以定制HTTP API接口方式。
  5. 数据更新方式:采用http get 轮询方式 。在实际应用中,也可以视情况选择监测后端数据实时更新,实时推送到前端的方式;

三、编码实现 (关键代码)

1、前端html代码


<div class="loading"><div class="loadbox"><img src="picture/loading.gif"> 页面加载中...</div>
</div>
<div class="head"><h1>案例 - 物流大数据服务平台</h1><div class="weather"><!--<img src="picture/weather.png"><span>多云转小雨</span>--><span id="showTime"></span></div><script>var t = null;t = setTimeout(time, 1000);//开始运行function time() {clearTimeout(t);//清除定时器dt = new Date();var y = dt.getFullYear();var mt = dt.getMonth() + 1;var day = dt.getDate();var h = dt.getHours();//获取时var m = dt.getMinutes();//获取分var s = dt.getSeconds();//获取秒document.getElementById("showTime").innerHTML = y + "年" + mt + "月" + day + "-" + h + "时" + m + "分" + s + "秒";//async_data();t = setTimeout(time, 1000); //设定定时器,循环运行}</script>
</div>
<div class="mainbox"><ul class="clearfix"><li><div class="boxall" style="height: 3.1rem"><div class="main_title"><img alt="" src="img/t_1.png">湖南货物收入</div><div class="allnav" id="echart_1"></div><div class="boxfoot"></div></div><div class="boxall" style="height: 3.15rem"><div class="main_title">湖南省地图<img alt="" src="img/t_2.png"></div><div class="allnav" id="echart_2"></div><div class="boxfoot"></div></div><div class="boxall" style="height: 3.1rem" ><div class="main_title"><img alt="" src="img/t_7.png">湖南省交通</div><div class="main_table t_btn8"><table id="table_1"><thead><tr><th>运营数(辆)</th><th>线路总长度(公里)</th><th>客运总量(万人次)</th><th>日期</th></tr></thead><tbody><tr><td>21059</td><td>26497</td><td>184448</td><td>2018年</td></tr><tr><td>18777</td><td>21140</td><td>188808</td><td>2017年</td></tr><tr><td>15757</td><td>20225</td><td>201143</td><td>2016年</td></tr><tr><td>17458</td><td>19567</td><td>202446</td><td>2015年</td></tr><tr><td>11323</td><td>14562</td><td>279854</td><td>2014年</td></tr></tbody></table></div><div class="boxfoot"></div></div></li><li><div  class="boxall"  style="height: 6.5rem"><div class="main_title">全国地图<img alt="" src="img/t_map.png"></div><div class="map4" id="echart_map" ></div><div class="boxfoot"></div></div><div class="boxall"  style="height: 3.1rem" ><div class="main_title" ><img alt="" src="img/t_7.png">湖南省业务量</div><div class="main_table t_btn8"><table id="table_2"><thead><tr><th>运营数(辆)</th><th>线路总长度(公里)</th><th>客运总量(万人次)</th><th>日期</th></tr></thead><tbody><tr><td>21059</td><td>26497</td><td>184448</td><td>2018年</td></tr><tr><td>18777</td><td>21140</td><td>188808</td><td>2017年</td></tr><tr><td>15757</td><td>20225</td><td>201143</td><td>2016年</td></tr><tr><td>17458</td><td>19567</td><td>202446</td><td>2015年</td></tr><tr><td>11323</td><td>14562</td><td>279854</td><td>2014年</td></tr></tbody></table></div><div class="boxfoot"></div></div></li><li><div class="boxall" style="height:3.1rem"><div class="main_title"><img alt="" src="img/t_4.png">货物周转量</div><div class="allnav" id="echart_3"></div><div class="boxfoot"></div></div><div class="boxall" style="height: 3.15rem"><div class="main_title"> <img alt="" src="img/t_5.png">湖南高速公路</div><div class="allnav" id="echart_4"></div><div class="boxfoot"></div></div><div class="boxall" style="height: 3.1rem"><div class="main_title"><img alt="" src="img/t_6.png">湖南省飞机场</div><div class="allnav" id="echart_5"></div><div class="boxfoot"></div></div></li></ul>
</div>
<div class="back"></div>

2、前端JS代码

    //echart_1湖南货物收入function echart_1() {// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('echart_1'));option = {//鼠标缩放和平移roam: true,tooltip: {trigger: 'item',formatter: "{a} <br/>{b} : {c}万元"},legend: {x: 'center',y: '15%',data: ['张家口', '承德', '衡水', '邢台', '邯郸', '保定', '秦皇岛', '石家庄', '唐山'],icon: 'circle',textStyle: {color: '#fff',}},calculable: true,series: [{name: '',type: 'pie',//起始角度,支持范围[0, 360]startAngle: 0,//饼图的半径,数组的第一项是内半径,第二项是外半径radius: [41, 100.75],//支持设置成百分比,设置成百分比时第一项是相对于容器宽度,第二项是相对于容器高度center: ['50%', '40%'],//是否展示成南丁格尔图,通过半径区分数据大小。可选择两种模式:// 'radius' 面积展现数据的百分比,半径展现数据的大小。//  'area' 所有扇区面积相同,仅通过半径展现数据大小roseType: 'area',//是否启用防止标签重叠策略,默认开启,圆环图这个例子中需要强制所有标签放在中心位置,可以将该值设为 false。avoidLabelOverlap: false,label: {normal: {show: true,formatter: '{c}万元'},emphasis: {show: true}},labelLine: {normal: {show: true,length2: 1,},emphasis: {show: true}},data: chart_1_data}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);window.addEventListener("resize", function () {myChart.resize();});}

3、后端Java代码

@RestController
@RequestMapping("/json")
public class Process {@RequestMapping("/{filename}")public String json(@PathVariable("filename") String filename) throws Exception {System.out.println(filename);ChangeJSON(filename);String jsonStr = readJSON(filename);System.out.println(jsonStr);return jsonStr;}

4、数据通信 JSON

[{"value": 285,"name": "张家口","itemStyle": {"normal": {"color": "#f845f1"}}},{"value": 662,"name": "承德","itemStyle": {"normal": {"color": "#ad46f3"}}},{"value": 2826,"name": "衡水","itemStyle": {"normal": {"color": "#5045f6"}}},{"value": 599,"name": "邢台","itemStyle": {"normal": {"color": "#4777f5"}}},{"value": 2502,"name": "邯郸","itemStyle": {"normal": {"color": "#44aff0"}}},{"value": 984,"name": "保定","itemStyle": {"normal": {"color": "#45dbf7"}}},{"value": 582,"name": "秦皇岛","itemStyle": {"normal": {"color": "#f6d54a"}}},{"value": 2324,"name": "石家庄","itemStyle": {"normal": {"color": "#f69846"}}},{"value": 2060,"name": "唐山","itemStyle": {"normal": {"color": "#ff4343"}}},{"value": 893,"name": "","itemStyle": {"normal": {"color": "transparent"}},"label": {"show": false},"labelLine": {"show": false}}
]

四、开发配置&代码结构说明

数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏【Java开发环境搭建】

五、更多资源

YYDatav的数据可视化大屏《精彩案例汇总》(Python&Echarts源码)_YYDataV的博客-CSDN博客

《工厂订单出入库信息管理系统》完整案例详解(含演示网址账号)(Go&Vue源码)_YYDataV的博客-CSDN博客

本次分享结束,欢迎讨论!QQ微信同号: 6550523

2【源码】数据可视化:基于 Echarts + Java SpringBoot 实现的动态实时大屏范例-物流大数据相关推荐

  1. 1【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏范例-互联网企业数据分析

    目录 效果展示 1.首先看动态效果图 2.再看实时分片数据图 一. 需求确认 1.确定产品上线部署的屏幕LED分辨率 2.功能模块 3.部署方式 二.整体架构设计 三.开发环境搭建 1.Java开发环 ...

  2. 12【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏范例 - 供应链

    数据可视化大屏的出现,掀起一番又一番的浪潮,众多企业主纷纷想要打造属于自己的"酷炫吊炸天"的霸道总裁大屏驾驶舱. 之前有小伙伴们建议我出一些视频课程来学习Echarts,这样可以更 ...

  3. 3【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏范例-物联网

    数据可视化大屏的出现,掀起一番又一番的浪潮,众多企业主纷纷想要打造属于自己的"酷炫吊炸天"的霸道总裁大屏驾驶舱. 之前有小伙伴们建议我出一些视频课程来学习Echarts,这样可以更 ...

  4. 【26】地图可视化:基于 Echarts + Java SpringBoot 的动态实时地图组件 - 点气泡流向组合区域三级下钻地图

    在数据可视化大屏中,地图可视化是常用的高级图表之一. 很多小伙伴们以为地图太高大上了,那么实现起来估计也不容易,说实话,确实不那么容易,直接用echarts是要花些时间研究的,但是我们可以将其二次封装 ...

  5. 27【源码】数据可视化大屏:基于 Echarts + Python Flask 实现的32-9超宽大屏范例 - 监控指挥中心

    目录 效果展示 1. 效果动图 2. 多种主题效果 一. 确定需求方案 1. 屏幕分辨率 2. 部署方式 二. 整体架构设计 三. 编码实现 (基于篇幅及可读性考虑,此处展示部分关键代码) 1. 前端 ...

  6. 【25】数据可视化:基于 Echarts + Python Flask框架动态实时大屏范例 - 企业宣传

    目录 效果展示 多主题样式 一. 确定需求方案 1.确定产品上线部署的屏幕分辨率 2.部署方式 二.整体架构设计 三.编码实现 (基于篇幅及可读性考虑,此处展示部分关键代码) 1.前端html代码 - ...

  7. 【19】数据可视化+爬虫:基于 Echarts + Python 实现的动态实时大屏范例 - bilibili排行榜

    目录 ❤️效果展示❤️ 1.首先看动态效果图 2.丰富的主题样式 一. 确定需求方案 1.确定产品上线部署的屏幕LED分辨率 2.部署方式 二.整体架构设计 三.爬虫采集关键编码实现 1.确定爬虫目标 ...

  8. 【15】数据可视化:基于 Echarts + Vue 实现的大屏范例 - 世界人口统计大屏

    系列文章 https://blog.csdn.net/lildkdkdkjf/article/details/120705616 文末有免费福利,喜欢的小伙伴们一键三连支持下,关注收藏点赞~   目录 ...

  9. 含文档+PPT+源码等]精品基于SSM的图书管理系统[包运行成功]

     博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 含文档+PPT+源码等]精品基于SSM的图书管理系统[包运行成功] 系统介绍 & ...

最新文章

  1. 45 MySQL自增id
  2. 不含抽象方法的抽象类 java_Java:抽象类继承非抽象类,且不包含抽象方法有何负面作用吗?...
  3. Ubuntu 16.04/CentOS 6.9安装Apache压力(并发)测试工具ab
  4. 上下级平台之间数据同步方案_Alluxio与底层存储系统之间的元数据同步机制
  5. tcp socket的发送与接收缓冲区
  6. 起床困难综合症(位运算)
  7. 华为防火墙网管配置实例
  8. 【渝粤题库】国家开放大学2021春2779植物病虫害防治基础题目
  9. FFmpeg总结(十三)用ffmpeg基于nginx实现直播功能,推流拉流
  10. 页面导出excel的三种方式
  11. 技嘉服务器主板装系统,技嘉主板u盘装系统怎么进行bios设置的方法
  12. ZYNQ ADAU1761裸机音频驱动调试
  13. 粮食在计算机中的应用,计算机监控系统在粮食仓储中的应用
  14. Linux基础加实际操作演示
  15. 【karle 游戏】永劫无间太刀连招
  16. 2016年4月计算机组成原理试题答案,2019年4月江苏自考02318计算机组成原理模拟试题及答案...
  17. uniapp 自定义下拉框
  18. 从某一点出发沿任意一方向旋转矩阵计算思考与实现
  19. 关于虚函数与虚函数表
  20. Windows10如何配置java环境

热门文章

  1. 软件开发项目如何管理?
  2. 统计分析文章中英文单词出现次数及频率(C++实现)
  3. java循环播放声音代码_java-无法循环播放MP3文件
  4. Linux系统编程——alarm函数
  5. Power2Go 13安装教程
  6. Putty将公钥私钥文件改成ppk文件
  7. 设计企业任务管理系统,阿米巴效率工具,工时管理
  8. upc第五场问题 F: 素数分解
  9. 如何在ubuntu14.04上安装轻量级的Budgie桌面(v8)
  10. Budgie Desktop v8 发布,改进菜单和面板