基于Vue 3 + ECharts / ECharts-GL / echarts-wordcloud 的数据可视化大屏——地形与产业数据可视化大屏

地形与产业数据可视化大屏

基于 Vue 3 + ECharts / ECharts-GL / echarts-wordcloud 的数据可视化大屏,支持三种数据源切换:

数据源 说明
数据表格 本地 JSON 文件 server/data/tables.json
SQLite 本地数据库 server/data/dashboard.db
MySQL 可配置连接,启动时自动建库建表并灌入示例数据

图表

  • 河南省地图 :ECharts mapsrc/geo/henan.js

  • 折线图:月度访问趋势

  • 堆叠柱状图:农业 / 工业 / 服务业 / 文旅

  • 玫瑰饼图:区域资源分布(南丁格尔图)

  • 词云图:热点关键词

快速启动

bash 复制代码
npm install
npm run dev

首次启动会自动生成:

  • server/data/tables.json(数据表格)

  • server/data/dashboard.db(SQLite)

连接 MySQL(可选)

  1. 复制环境变量并填写密码:
复制代码
copy .env.example .env
  1. 确保本机 MySQL 已启动,然后 npm run dev。服务会:
  • 创建数据库 viz_dashboard(可用环境变量修改)

  • 创建图表相关表并写入与 JSON / SQLite 一致的示例数据

  1. 若启动时 MySQL 未就绪,可在大屏右上角点击「重连 MySQL」,或:
复制代码
curl -X POST http://localhost:3001/api/sources/mysql/reconnect

也可手动执行 SQL:data/mysql_init.sql(地形网格建议仍由服务自动写入)。

前端数据管理

大屏右上角点击 数据管理

  • 数据编辑:切换数据源与数据集,在线查看 / 增删改 / 保存

  • 连接字段:配置 MySQL 的 host/port/user/password/database,以及各表字段映射

API

  • GET /api/sources --- 数据源状态与字段映射

  • GET /api/data?source=table|sqlite|mysql&chart=all --- 拉取全部图表数据

  • GET /api/data/:chart?source=... --- 单图表(terrain|line|stacked|rose|wordcloud|kpi

  • PUT /api/data/:chart?source=... --- 保存某数据集到指定数据源

  • PUT /api/config/mysql --- 保存 MySQL 连接并尝试连接

  • PUT /api/config/field-maps --- 保存表名 / 字段映射

  • POST /api/sources/mysql/reconnect --- 按已保存配置重连

项目结构

├── data/mysql_init.sql # MySQL 手动初始化脚本

├── server/

│ ├── index.js # Express API

│ ├── data/seedData.js # 统一示例数据源

│ └── db/ # table / sqlite / mysql 适配

└── src/

├── App.vue # 大屏布局

└── components/charts/ # 各类 ECharts 组件

结果展示:

zhangsansh/Vue-3-ECharts-ECharts-GL-echarts-wordcloud: # 地形与产业数据可视化大屏:基于Vue 3 + ECharts / ECharts-GL / echarts-wordcloud的数据可视化大屏,支持三种数据源切换:https://github.com/zhangsansh/Vue-3-ECharts-ECharts-GL-echarts-wordcloud

相关推荐
尾善爱看海10 小时前
Vue 面试收官篇:SSR、性能优化落地、30 道高频面试题精讲(附标准答案)
前端·javascript·vue.js·面试·vue
weixin_BYSJ198710 小时前
【计算机毕设】基于SpringBoot与Vue的文物保护档案管理系统08621
vue.js·spring boot·spring cloud·微服务·架构·django·课程设计
Bs_MoneyMagnet11 小时前
基于springboot+vue的个人健康管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·vue3·springboot3·计算机毕业设计
Bs_MoneyMagnet13 小时前
基于springboot+vue的心理咨询预约与随访平台的设计与实现 源码+文档
vue.js·spring boot·后端·spring·毕业设计·旅游·计算机毕业设计
行者全栈架构师16 小时前
Spring Boot 接入 MaxKey 单点登录:6 个内部系统,一次登录全通行
java·vue.js·后端
万敏16 小时前
Vue3 全栈实战第九周:Node.js + Express 后端从零搭建实战记录
vue.js·node.js·全栈
雪芽蓝域zzs16 小时前
第四十七节:驾驶舱大屏 ECharts 图表集成
前端·javascript·vue.js
白雾茫茫丶18 小时前
Vibecoding 一个主题切换动画库:13 种揭幕方式
前端·vue.js·react.js
雪芽蓝域zzs18 小时前
第四十九节:TagsView 右键菜单(带三角箭头)给每个 tag 增加**鼠标右键菜单**(右键标签弹出:关闭、关闭其他、关闭全部)
前端·javascript·vue.js
数据智研19 小时前
【数据分享】300个城市-5G试点城市DID数据(2014-2025)
大数据·运维·人工智能·信息可视化·数据分析