当前位置:   article > 正文

10【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏范例 - 运动健康_dv-decoration-5 dur got string with value

dv-decoration-5 dur got string with value

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

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

传送门

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

10【源码】数据可视化:基于Echarts+JavaSpringBoot实现的动态实时大屏范例-运动健康.zip-Java文档类资源-CSDN下载

效果图展示

 

一、 确定需求方案

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

本案例基于16: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代码 - 页面布局layout&样式style

  1. <body style="background-color:rgba(10, 2, 39, 0.796)">
  2. <div class="container_fluid">
  3. <div class="row_fluid" id="vue_app">
  4. <div class="col-xs-12 col-md-12" style="padding:0 0;">
  5. <h3 style="color:rgba(11, 240, 125, 0.796); text-align: center" id="container_0">
  6. <strong></strong>
  7. </h3>
  8. <dv-decoration-5 style="width=100%;height:4%;">
  9. </dv-decoration-5>
  10. </div>
  11. <div class="col-xs-12 col-md-3" style="padding:0 0;">
  12. <div style="height:15%; padding:0%;">
  13. <dv-border-box-7>
  14. <p style='padding:2%; color:rgba(11, 240, 125, 0.796); font-size: 12; font-weight: bolder;'>实时步数
  15. <img src="myimg/1.png" style="height: 25%; ">
  16. </p>
  17. <p id="container_1"
  18. style='padding:0%; color:rgba(255,255,255,.5); font-size: 28; font-weight: bolder; text-align: center;'>
  19. 112222</p>
  20. </dv-border-box-7>
  21. </div>
  22. </div>
  23. <div class="col-xs-12 col-md-3" style="padding:0 0;">
  24. <div style="height:15%; padding:1%;">
  25. <dv-border-box-7>
  26. <p style='padding:2%; color:rgba(11, 240, 125, 0.796); font-size: 12; font-weight: bolder;'>心率
  27. <img src="myimg/2.png" style="height: 25%; ">
  28. </p>
  29. <p id="container_2"
  30. style='padding:0%; color:rgba(255,255,255,.5); font-size: 28; font-weight: bolder; text-align: center;'>
  31. 112222</p>
  32. </dv-border-box-7>
  33. </div>
  34. </div>
  35. <div class="col-xs-12 col-md-3" style="padding:0 0;">
  36. <div style="height:15%; padding:1%;">
  37. <dv-border-box-7>
  38. <p style='padding:2%; color:rgba(11, 240, 125, 0.796); font-size: 12; font-weight: bolder;'>
  39. 血氧饱和度
  40. <img src="myimg/3.png" style="height: 25%; ">
  41. </p>
  42. <p id="container_3"
  43. style='padding:0%; color:rgba(255,255,255,.5); font-size: 28; font-weight: bolder; text-align: center;'>
  44. 112222</p>
  45. </dv-border-box-7>
  46. </div>
  47. </div>
  48. <div class="col-xs-12 col-md-3" style="padding:0 0;">
  49. <div style="height:15%; padding:1%;">
  50. <dv-border-box-7>
  51. <p style='padding:2%; color:rgba(11, 240, 125, 0.796); font-size: 12; font-weight: bolder;'>压力
  52. <img src="myimg/4.png" style="height: 25%; ">
  53. </p>
  54. <p id="container_4"
  55. style='padding:0%; color:rgba(255,255,255,.5); font-size: 28; font-weight: bolder; text-align: center;'>
  56. 112222</p>
  57. </dv-border-box-7>
  58. </div>
  59. </div>
  60. <div class="col-xs-12 col-md-5" style="padding:0 0;">
  61. <div style="height:75%;" id="container_5"></div>
  62. </div>
  63. <div class="col-xs-12 col-md-4" style="padding:0 0.3%;height:25%;">
  64. <dv-border-box-6>
  65. <div style="padding:3%; height:100%" id="container_6">
  66. </div>
  67. </dv-border-box-6>
  68. </div>
  69. <div class="col-xs-12 col-md-3" style="padding:0 0.3%;height:25%;">
  70. <dv-border-box-6>
  71. <div style="padding:3%; height:100%" id="container_7">
  72. </div>
  73. </dv-border-box-6>
  74. </div>
  75. <div class="col-xs-12 col-md-4" style="padding:0 0.3%;height:25%;">
  76. <dv-border-box-6>
  77. <div style="padding:3%; height:100%" id="container_8">
  78. </div>
  79. </dv-border-box-6>
  80. </div>
  81. <div class="col-xs-12 col-md-3" style="padding:0 0.3%;height:25%;">
  82. <dv-border-box-6>
  83. <div style="padding:3%; height:100%" id="container_9">
  84. </div>
  85. </dv-border-box-6>
  86. </div>
  87. <div class="col-xs-12 col-md-4" style="padding:0 0.3%;height:25%;">
  88. <dv-border-box-6>
  89. <div style="padding:3%; height:100%" id="container_10">
  90. </div>
  91. </dv-border-box-6>
  92. </div>
  93. <div class="col-xs-12 col-md-3" style="padding:0 0.3%;height:25%;">
  94. <dv-border-box-6>
  95. <div style="padding:3%; height:100%" id="container_11">
  96. </div>
  97. </dv-border-box-6>
  98. </div>
  99. </div>
  100. </div>
  101. </body>

2、前端JS代码 - 各个echarts图表

  1. var idContainer_5 = "container_5";
  2. var chartDom = document.getElementById(idContainer_5);
  3. var myChart = echarts.init(chartDom, gTheme);
  4. option = {
  5. title: {
  6. text: "运动卡路里等级",
  7. left: "left",
  8. textStyle: {
  9. color: "rgba(11, 240, 125, 0.796)",
  10. fontSize: "12",
  11. },
  12. },
  13. series: {
  14. type: "sunburst",
  15. data: [],
  16. radius: [3, "90%"],
  17. itemStyle: {
  18. borderRadius: 15,
  19. borderWidth: 1,
  20. borderColor: "rgba(255,255,255,.1)",
  21. },
  22. label: {
  23. textStyle:{
  24. color: "rgba(0,0,0,.8)",
  25. }
  26. },
  27. },
  28. };
  29. // 使用刚指定的配置项和数据显示图表。
  30. myChart.setOption(option);
  31. window.addEventListener("resize", function () {
  32. myChart.resize();
  33. });
  34. function asyncData_5() {
  35. $.getJSON("json/sunburst.json").done(function (data) {
  36. var myChart = echarts.init(document.getElementById(idContainer_5));
  37. myChart.setOption({
  38. series: [{ data: data }],
  39. });
  40. }); //end $.getJSON
  41. }
  42. asyncData_5();

3、后端Java代码

  1. @RestController
  2. @RequestMapping("/json")
  3. public class Process {
  4. @RequestMapping("/{filename}")
  5. public String json(@PathVariable("filename") String filename) throws Exception {
  6. System.out.println(filename);
  7. ChangeJSON(filename);
  8. String jsonStr = readJSON(filename);
  9. System.out.println(jsonStr);
  10. return jsonStr;
  11. }

4、数据通信 JSON

 [{"name": "有氧", "children": [{"name": "球类", "children": [{"name": "羽毛球", "value": 32}, {"name": "乒乓球", "value": 39}, {"name": "篮球", "value": 40}, {"name": "足球", "value": 48}, {"name": "网球", "value": 42}, {"name": "排球", "value": 46}, {"name": "冰球", "value": 24}, {"name": "棒球", "value": 33}, {"name": "橄榄球", "value": 12}, {"name": "板球", "value": 34}]}, {"name": "田径类", "children": [{"name": "马拉松", "value": 43}, {"name": "竞走", "value": 12}, {"name": "快跑", "value": 31}]}]}, {"name": "无氧", "children": [{"name": "竞技类", "children": [{"name": "赛跑", "value": 14}, {"name": "跳远", "value": 47}]}, {"name": "其他", "children": [{"name": "深蹲", "value": 29}, {"name": "举重", "value": 46}, {"name": "平板支撑", "value": 23}, {"name": "拔河", "value": 11}, {"name": "投掷", "value": 35}]}]}]

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

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

五、更多案例 


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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/974396
推荐阅读
相关标签
  

闽ICP备14008679号