码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【定制项目】【M14 监测预警平台】百度地图区域绘制(时间轴)/柱状图/仪表图 - 关键技术 python flask + echarts


    一、项目需求

    项目名称:【某监测预警平台】。

    项目需求:气候数据:雨量,温湿度,PM,雷达回波,雷电预报等展示到可视化大屏。

    项目工期:10个工作日。

    二、项目架构

    • 运行环境支持Windows,Linux类系统。
    • B/S架构,支持Chrome,IE,QQ等主流浏览器。
    • http服务器:Python Flask 框架;
    • 数据可视化:Echarts + BootStrap 库;

    三、项目分析

    1、http服务器:Python Flask 框架;

    http 代码

    1. # 主程序在这里
    2. if __name__ == "__main__":
    3. # 开启线程,触发动态数据
    4. a = threading.Thread(target=daping.loop)
    5. a.start()
    6. # 开启 flask 服务
    7. app.run(host='0.0.0.0', port=80, debug=True)

    接口解析

    1. 前端调用: datas
    2. 数据请求方式:GET或POST
    3. 数据响应:JSON

    2、数据可视化: BootStrap + Echarts 库;

    BootStrap布局

    1. <body id="container_body" style="background-image: url(img/bg.png);
    2. background-repeat: no;
    3. background-size: 100%;">
    4. <div class="container_fluid" id="vue_app">
    5. <div class="row"
    6. style="height:6%; margin:0;background-image: url(img/title.png); background-repeat: no; background-size: 100% 90%; margin-bottom: 6px;">
    7. <div class="col">
    8. <h4 id="container_h"
    9. style="text-align: center; color: white; font-weight:bolder; margin-top: 10px; ">
    10. 监测预报预警平台</h4>
    11. </div>
    12. </div>
    13. <div class="row" style="height:90%;">
    14. .......
    15. </div>
    16. <div class="row" style="height:3%;">
    17. .......
    18. </div>
    19. </div>
    20. </body>

    Echarts 仪表盘图形

     

    1. function init_echart_gauge_prec(container) {
    2. var chartDom = document.getElementById(container);
    3. var myChart = echarts.init(chartDom);
    4. option = {
    5. title: {
    6. text: "24小时雨量",
    7. top: "5%",
    8. left: "2%",
    9. textStyle: {
    10. color: "RGBA(63,242,235,1)",
    11. fontSize: "12",
    12. },
    13. },
    14. series: [
    15. {
    16. type: "gauge",
    17. center: ["50%", "70%"],
    18. startAngle: 200,
    19. endAngle: -20,
    20. min: 0,
    21. max: 300,
    22. splitNumber: 6,
    23. // 标尺为红色
    24. itemStyle: {
    25. color: "red",
    26. },
    27. progress: {
    28. show: true,
    29. },
    30. pointer: {
    31. show: false,
    32. },
    33. // 小刻度与坐标轴的距离
    34. axisTick: {
    35. distance: -25,
    36. splitNumber: 5,
    37. },
    38. // 分割线与坐标轴的距离
    39. splitLine: {
    40. distance: -30,
    41. },
    42. // 刻度标签
    43. axisLabel: {
    44. distance: -30,
    45. color: "#999",
    46. },
    47. detail: {
    48. valueAnimation: true,
    49. width: "60%",
    50. lineHeight: 30,
    51. borderRadius: 8,
    52. offsetCenter: [0, "-5%"],
    53. // 表盘中间字体大小
    54. fontSize: 20,
    55. fontWeight: "bolder",
    56. formatter: "{value} mm",
    57. color: "orange",
    58. },
    59. data: [
    60. {
    61. value: 20,
    62. },
    63. ],
    64. },
    65. ],
    66. };
    67. window.addEventListener("resize", function () {
    68. myChart.resize();
    69. });
    70. myChart.setOption(option);
    71. }

    Echarts 柱状图

     

    1. function init_echart_line_area_chart(container) {
    2. var chartDom = document.getElementById(container);
    3. var myChart = echarts.init(chartDom);
    4. var option;
    5. option = {
    6. title: {
    7. text: "短时降雨预报",
    8. top: "5%",
    9. left: "2%",
    10. textStyle: {
    11. color: "RGBA(63,242,235,1)",
    12. fontSize: "12",
    13. },
    14. },
    15. grid: {
    16. left: "8%",
    17. right: "8%",
    18. top: "30%",
    19. bottom: "10%",
    20. containLabel: true,
    21. },
    22. tooltip: {
    23. trigger: "axis",
    24. formatter: "时间: {b}
      {a}: {c}mm"
      ,
    25. },
    26. xAxis: {
    27. type: "category",
    28. axisLabel: {
    29. textStyle: {
    30. color: "#999",
    31. fontSize: 14,
    32. },
    33. },
    34. axisLine: {
    35. lineStyle: {
    36. color: "#999",
    37. },
    38. },
    39. splitLine: {
    40. lineStyle: {
    41. color: "#999",
    42. },
    43. },
    44. },
    45. yAxis: {
    46. name: "mm",
    47. type: "value",
    48. axisLabel: {
    49. textStyle: {
    50. color: "#999",
    51. fontSize: 14,
    52. },
    53. },
    54. axisLine: {
    55. lineStyle: {
    56. color: "#999",
    57. },
    58. },
    59. splitLine: {
    60. lineStyle: {
    61. color: "#999",
    62. },
    63. },
    64. },
    65. series: {
    66. name: "雨量",
    67. type: "bar",
    68. areaStyle: {},
    69. },
    70. };
    71. option && myChart.setOption(option);
    72. window.addEventListener("resize", function () {
    73. myChart.resize();
    74. });
    75. }

    Echarts 百度地图 + 时间轴

    注:这个实现有些技术难度,很多小伙伴问我要如何实现,参考我的另一篇专题:地图可视化:基于 Echarts + 百度地图bmap + 时间轴timeline + 多边形(multi)polygon + 点scatter 的可视化案例_YYDataV数据可视化的博客-CSDN博客_echarts在地图上绘制多边形

     

    四、更多案例

    YYDatav的数据可视化《精彩案例汇总》_YYDataV的博客-CSDN博客❤️数据可视化❤️:基于 Echarts + Vue 实现的大屏范例【14】_小魔怪的博客-CSDN博客_echarts数据可视化❤️数据可视化❤️:基于 Echarts + Python 实现的大屏范例【13】国庆黄金周旅游监测㙍㙍㙍来了~_小魔怪的博客-CSDN博客❤️数据可视化❤️:基于 Echarts + Python 实现的大屏范例【12】(你想要的酷炫世界地图在这里了!)_小魔怪的博客-CSDN博客数据可视化:基于 Echarts + Python 实现的动态实时大屏范例【十一】https://yydatav.blog.csdn.net/article/details/120705616本次分享结束,欢迎多多交流 微信 6550523,商务合作请私聊。

  • 相关阅读:
    java.util.ConcurrentModificationException: null(已解决)
    微服务实战系列之Nacos
    Python项目维护不了?可能是测试没到位。Django的单元测试和集成测试初探
    @ 代码随想录算法训练营第8周(C语言)|Day56(动态规划)
    华为GAUSSDB集成
    能让你薪资翻倍的性能优化大全,大厂必问的性能调优其实很简单
    【子网,超网和掩码】
    《计算机操作系统-第三章》之中断与系统调用
    java毕业生设计宠物管理系统计算机源码+系统+mysql+调试部署+lw
    PreScan快速入门到精通第二十八讲PreScan中常用传感器之TIS传感器
  • 原文地址:https://blog.csdn.net/lildkdkdkjf/article/details/126647413
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号