https://github.com/rasrea/dataviz
这是一个基于Java和Spring Boot的可视化项目,旨在帮助(新手)开发者掌握前后端分离的开发模式。在项目中,用户可以上传数据文件,进行数据预处理,并通过前端的图表模块展示数据。项目涉及Spring Boot的API设计,数据的前后端交互,数据的处理与可视化展示,并且使用了Echarts图表进行数据展示。
https://github.com/rasrea/dataviz
data-analysis data-visualization spring-boot
Last synced: 6 months ago
JSON representation
这是一个基于Java和Spring Boot的可视化项目,旨在帮助(新手)开发者掌握前后端分离的开发模式。在项目中,用户可以上传数据文件,进行数据预处理,并通过前端的图表模块展示数据。项目涉及Spring Boot的API设计,数据的前后端交互,数据的处理与可视化展示,并且使用了Echarts图表进行数据展示。
- Host: GitHub
- URL: https://github.com/rasrea/dataviz
- Owner: Rasrea
- License: mit
- Created: 2025-03-09T05:51:36.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-04-19T09:40:40.000Z (9 months ago)
- Last Synced: 2025-04-19T15:39:08.718Z (9 months ago)
- Topics: data-analysis, data-visualization, spring-boot
- Language: Java
- Homepage:
- Size: 6.79 MB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# DataViz - 数据可视化平台
## 📌 项目简介
DataViz 是一个基于 `Spring Boot` 和`前端技术`的可视化数据平台,旨在提供用户友好的数据处理和可视化功能。用户可以上传 CSV 或 Excel 文件,对数据进行预处理,并通过交互式图表进行可视化分析。
## 🛠 技术栈
- **⚙️ 后端**:Spring Boot、Java、MySQL(8.x)
- **🎨 前端**:HTML、CSS、JavaScript(ECharts)
- **📊 数据处理**:Python(Pandas)
## 🌐 1. 网站入口
打开浏览器,输入网站地址,即可进入 DataViz 首页。首页展示了项目的主要功能和简介,帮助用户快速了解平台(“模型构建” 我打算以后学习机器学习的时候再补上😉)。

## 📂 2. 上传文件
在“上传文件”页面,用户可以选择以下方式导入数据:
### 1️⃣ 上传本地文件(CSV / Excel)
- 📎 点击 **“选择文件”** 按钮,上传本地的 `.csv` 或 `.xlsx` 文件。
- ⬆️ 在选择框中双击文件,即可完成文件上传并自动加载数据。
- ✅ 支持Excel sheetNames。
### 2️⃣ 使用系统样本数据
- 📊 若没有准备数据,可以直接选择系统内置的样本数据。
- ✅ 样本数据来源于 **Python 爬虫采集**,可参考:[爬虫项目源码](https://github.com/Rasrea/python-spider)。
### 3️⃣ 从 MySQL 数据库导入
- 🛢️ 支持通过配置数据库连接,从 MySQL 数据库中导入数据。
- ⚙️ 用户可在设置中填写数据库连接信息(地址、用户名、密码、表名等),系统将自动读取并展示目标表中的数据。

## ✏️ 3. 数据预处理(检查与描述)
在数据预处理页面,系统会自动分析你的数据列类型,并提供可视化标识:
- **📘 数字列**:以 **蓝色** 显示。
- **📗 日期列**:以 **绿色** 显示(需手动确认)。
- **🖤 文本列**:以 **黑色** 显示。
- **🔴 丢失数据**:以 **红色** 单元格显示,表示需要修复的数据。
✅ **修改与预处理**:
- 🔍 点击 **列名**,修改数据类型或进行预处理。
- 🛠 在 **“可选列类型”** 中选择系统推测的合适类型。
- 💾 进行必要调整后,点击 **“提交”** 按钮,确保修改生效。
###### 主页面

###### 🔨 处理前

###### 🔨 处理后

## 📊 4. 可视化数据
📌 可视化数据——让数据一目了然!
作为本项目的核心功能之一,我正在持续优化和拓展 数据可视化 模块,以提供更加直观、生动的数据分析体验。
🎨 目前支持的图表类型:
**📊 多数据列可视化**
✅ **折线图** :用于展示数据的趋势变化,适合时间序列数据。
✅ **散点图** :适用于数据分布和相关性分析,揭示变量之间的关系。
✅ **条形图** :清晰对比不同类别的数据,适合分类数据的比较。
**🟠 单数据列可视化**
✅ **饼图** :通过圆形扇区展示各部分占整体的比例关系。
✅ **玫瑰图** :饼图的变体,可在`饼图`的**详细优化**中查看。
✅ **词云图** :以词频大小为依据,通过字体大小直观展示关键词的重要程度。
持续更新中...

## 🏗️ 5. 项目结构
```
📂 src
├── 📂 config # ⚙️ 存放配置文件(JSON配置等)
├── 📂 controller # 🎮 处理前端请求的控制器类
├── 📂 enums # 🔢 存放枚举类(如数据列策略名)
├── 📂 interfaces # 🔌 定义文件处理相关的接口类
├── 📂 model # 🏗️ 数据模型类,定义数据结构
├── 📂 server # 🖥️ 业务逻辑处理的服务类
├── 📜 MyApplication.java # 🚀 Spring Boot 启动类
📂 resources
├── 📂 python-script # 🐍 Python 脚本,进行数据预处理与可视化
├── 📂 sampleData # 📊 系统自带的样本数据
├── 📂 static # 🎨 前端静态资源(HTML、CSS、JavaScript)
├── 📜 application.yml # ⚙️ Spring Boot 配置文件
```
## 🎯 6. 未来规划
- 🚀 **完善数据可视化功能**,增加多种图表类型。
- 🎨 **优化用户体验**,提升页面交互效果。
- 🔄 **支持更多数据格式**,如 JSON、SQL 数据库导入。
## 💻 7. 本地运行指南
### ⚙️ 环境要求
- ☕ JDK 17 及以上
- 🗄 MySQL 数据库
- 📦 Maven 进行依赖管理
- 🐍 Python 用于数据处理
### 🚀 启动步骤
1. **📥 克隆项目**
```bash
git clone https://github.com/Rasrea/DataViz.git
cd DataViz
```
2. **⚙️ 配置数据库**
如需使用数据库数据,可直接在**上传数据**页面添加配置。
3. **🔧 运行后端**
```bash
mvn spring-boot:run
```
4. **🌍 启动服务器**
进入 `com.lucky.data_visual`,使用 IDE 或 VS Code 运行 `MyApplication.java`。
5. **🌐 访问网站**
打开浏览器,访问 `http://localhost:63342/data-visual/static/DataViz.html` (因配置而异,可直接在项目中打开**DataViz.html**)。
## 🤝 8. 贡献指南
欢迎贡献代码!请提交 Pull Request,或者在 Issues 反馈 Bug 和建议。作为一名水大学生,我会尽快回复🤥。
## 📜 9. 许可证
本项目遵循 MIT 许可证,详细信息请查看 LICENSE 文件。
> *注:由于在准备考研,因此本项目暂时停更(2025-06)。*