# sc-datav **Repository Path**: soft-open-learning/sc-datav ## Basic Information - **Project Name**: sc-datav - **Description**: sc-datav 是一个专注于数据可视化的开源项目,提供丰富的图表组件和灵活的配置选项,帮助开发者快速构建美观、交互性强的数据展示应用。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 2 - **Created**: 2026-06-10 - **Last Updated**: 2026-09-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

数据可视化大屏

基于 Three.js + React 19 + ECharts 的 3D 地图可视化大屏项目

包含 3D 地图渲染、轮廓飞线、侧边扫光、多图表联动等丰富功能

PRs Welcome React Three.js TypeScript GitHub stars GitHub forks

## 预览 | [预览地址](https://knight-l.github.io/sc-datav/#/demo0) | [预览地址](https://knight-l.github.io/sc-datav/#/demo1) | | ------------------------------------------------------- | ------------------------------------------------------- | | ![demo1](./public/demo_0.jpg) | ![demo2](./public/demo_1.jpg) | | [预览地址](https://knight-l.github.io/sc-datav/#/demo2) | [预览地址](https://knight-l.github.io/sc-datav/#/demo3) | | ------------------------------------------------------- | ------------------------------------------------------- | | ![demo3](./public/demo_2.jpg) | ![demo4](./public/demo_3.jpg) | ## 地图轮廓贴图下载工具 [https://github.com/knight-L/sat-hunter](https://github.com/knight-L/sat-hunter) ## 功能特性 1. **3D 地图可视化**: 基于 Three.js 的 3D 地图渲染,轮廓飞线动画效果,侧边扫光视觉效果 2. **省级地图展示**: 四川省地理轮廓精确呈现 3. **多图表联动**: 柱状图、折线图等多种数据可视化形式 4. **响应式设计**: 支持多种屏幕尺寸自适应 5. **实时调试面板**: 使用 Leva 实现参数实时调整 ## 技术栈 本项目是一个基于现代 Web 技术的数据可视化大屏应用,主要技术栈包括: - **核心框架**: React 19 + TypeScript - **构建工具**: Vite (Rolldown 版本) - **3D 可视化**: Three.js + @react-three/fiber + @react-three/drei - **数据可视化**: ECharts - **地理数据处理**: D3-geo - **动画库**: GSAP - **样式库**: Styled-components - **调试工具**: Leva - **自适应布局**: autofit.js ## 目录结构 ``` src/ ├── assets/ # 静态资源文件 │ ├── sc.json # 四川省地理数据 │ └── sc_outline.json # 四川省轮廓数据 ├── components/ # 通用组件 │ ├── chart.tsx # 图表组件 │ └── seamVirtualScroll.tsx # 虚拟滚动组件 ├── hooks/ # 自定义Hooks ├── pages/SCDataV/ # 数据大屏页面 │ ├── index.tsx # 页面入口 │ ├── scMap.tsx # 地图组件 │ ├── flyLine.tsx # 飞线动画组件 │ ├── chart1.tsx # 图表1 │ ├── chart2.tsx # 图表2 │ ├── chart3.tsx # 图表3 │ └── content.tsx # 内容布局组件 └── App.tsx # 应用根组件 ``` ## 开发指南 ### 环境要求 - Node.js >= 18 - PNPM >= 8 ### 安装依赖 ```bash pnpm install ``` ### 开发运行 ```bash # 启动开发服务器 pnpm dev ``` ### 构建部署 ```bash # 构建生产版本 pnpm build # 预览构建结果 pnpm preview ```