项目介绍
柱状图可视化是一款基于Electron开发的数据可视化应用,专为鸿蒙PC平台优化。该应用提供了直观、交互性强的柱状图展示功能,支持多种数据导入、自定义样式、动态交互和实时更新,帮助用户更有效地分析和展示数据。

功能特点
- 多种柱状图类型(基础柱状图、堆叠柱状图、分组柱状图、水平柱状图等)
- 支持CSV、JSON、TXT格式数据导入
- 实时数据更新和动态渲染
- 交互式图表操作(缩放、平移、悬停提示)
- 自定义颜色主题和样式
- 图表导出功能(PNG、JPG、SVG、PDF)
- 数据筛选和排序
- 多图表对比展示
- 响应式设计,适配不同屏幕尺寸
- 为鸿蒙PC平台优化的性能体验
技术栈
- Electron:跨平台桌面应用开发框架
- JavaScript:应用核心逻辑
- HTML5/CSS3:界面设计与布局
- Chart.js:图表渲染引擎
- Node.js:运行时环境
- fs-extra:文件系统操作
- csv-parser:CSV数据解析
- 响应式设计:适配不同设备
项目结构
src/
├── index.html # 应用主界面
├── renderer.js # 渲染进程逻辑
├── main.js # Electron主进程
├── preload.js # 预加载脚本
├── chart.js # 图表渲染模块
├── dataParser.js # 数据解析模块
├── export.js # 导出功能模块
└── style.css # 样式文件
README.md # 项目说明文档
package.json # 项目配置和依赖
sample_data/ # 示例数据文件
核心功能模块
1. 应用初始化
- 初始化Electron主进程和渲染进程
- 设置窗口属性和事件处理
- 加载应用资源和配置
- 初始化用户界面元素
2. 数据导入与解析
- 支持多种格式数据导入(CSV、JSON、TXT)
- 实现数据解析和格式化
- 处理异常数据和错误提示
- 提供数据预览和验证
3. 图表渲染系统
- 创建和配置柱状图实例
- 实现多种柱状图类型切换
- 设置图表样式和主题
- 处理数据绑定和更新
4. 交互控制系统
- 实现图表缩放和平移功能
- 添加数据悬停提示
- 支持点击选择数据元素
- 实现图表动画效果
5. 样式自定义
- 提供主题切换功能
- 支持自定义颜色方案
- 允许调整图表尺寸和布局
- 配置坐标轴和图例样式
6. 导出功能
- 支持多种格式导出(PNG、JPG、SVG、PDF)
- 配置导出质量和尺寸
- 实现文件保存对话框
- 处理导出进度和错误
安装与运行
-
克隆项目到本地
-
安装依赖:
bashnpm install -
启动应用:
bashnpm start
使用说明
-
数据导入:
- 点击"导入数据"按钮选择文件
- 支持拖拽文件到应用窗口
- 选择数据格式并解析
-
图表配置:
- 在侧边栏选择图表类型
- 配置数据映射(X轴、Y轴)
- 调整颜色主题和样式
-
交互操作:
- 鼠标滚轮:缩放图表
- 鼠标拖拽:平移图表
- 悬停在柱状图上:查看详细数据
- 点击柱状图:选择数据点
-
导出图表:
- 点击"导出"按钮
- 选择导出格式和质量
- 设置保存路径
设计思路
本项目设计注重数据可视化的直观性和交互性。采用Chart.js作为图表渲染引擎,提供丰富的图表类型和交互功能。界面设计采用简洁明了的布局,将数据导入、图表配置和展示区域清晰分离,使用户能够轻松操作。
应用支持多种数据格式导入,满足不同用户的数据需求。通过实时数据更新和动态渲染,确保图表展示的数据始终与源数据保持同步。自定义主题和样式功能,让用户能够根据自己的喜好或场景需求调整图表外观。
鸿蒙PC平台适配
- 针对鸿蒙PC平台进行了性能优化
- 适配鸿蒙PC的显示分辨率和DPI设置
- 确保在鸿蒙PC平台上的稳定运行和良好体验
- 遵循鸿蒙PC平台的设计规范和交互习惯
- 优化键盘和鼠标操作体验
- 调整图表渲染参数,确保流畅显示
- 适配鸿蒙PC的文件系统和权限管理
扩展与优化方向
- 添加更多图表类型(折线图、饼图、散点图等)
- 实现实时数据监控功能
- 提供数据编辑和分析工具
- 增加数据可视化模板
- 实现多图表联动分析
- 优化大数据集的渲染性能
- 添加云数据同步功能
鸿蒙PC适配改造指南
1. 环境准备
-
系统要求:Windows 10/11、8GB RAM以上、20GB可用空间
-
工具安装 :
DevEco Studio 5.0+(安装鸿蒙SDK API 20+)
-
Node.js 18.x+
2. 获取Electron鸿蒙编译产物
-
下载Electron 34+版本的Release包(.zip格式)
-
解压到项目目录,确认
electron/libs/arm64-v8a/下包含核心.so库
3. 部署应用代码
将Electron应用代码按以下目录结构放置:

plaintext
web_engine/src/main/resources/resfile/resources/app/
├── main.js
├── package.json
└── src/
├── index.html
├── preload.js
├── renderer.js
└── style.css
4. 配置与运行
-
打开项目:在DevEco Studio中打开ohos_hap目录
-
配置签名 :
进入File → Project Structure → Signing Configs
-
自动生成调试签名或导入已有签名
-
连接设备 :
启用鸿蒙设备开发者模式和USB调试
-
通过USB Type-C连接电脑
-
编译运行:点击Run按钮或按Shift+F10
5. 验证检查项
-
✅ 应用窗口正常显示
-
✅ 窗口大小可调整,响应式布局生效
-
✅ 控制台无"SysCap不匹配"或"找不到.so文件"错误
-
✅ 动画效果正常播放
跨平台兼容性
| 平台 | 适配策略 | 特殊处理 |
|---|---|---|
| Windows | 标准Electron运行 | 无特殊配置 |
| macOS | 标准Electron运行 | 保留dock图标激活逻辑 |
| Linux | 标准Electron运行 | 确保系统依赖库完整 |
| 鸿蒙PC | 通过Electron鸿蒙适配层 | 禁用硬件加速,使用特定目录结构 |
鸿蒙开发调试技巧
1. 日志查看
在DevEco Studio的Log面板中过滤"Electron"关键词,查看应用运行日志和错误信息。
2. 常见问题解决
-
"SysCap不匹配"错误:检查module.json5中的reqSysCapabilities,只保留必要系统能力
-
"找不到.so文件"错误:确认arm64-v8a目录下四个核心库文件完整
-
窗口不显示:在main.js中添加app.disableHardwareAcceleration()
-
动画卡顿:简化CSS动画效果,减少重绘频率