[Open-source] Rich types, high performance, modular, extensible, and supports theme customization, cross-platform chart library
![[Open-source] Rich types, high performance, modular, extensible, and supports theme customization, cross-platform chart library](https://yy123.ink/api/img/1781065137304-uk8zux.jpg)
1. Project Overview
UCharts - Cross-platform visualization chart library
UCharts is a cross-platform chart library implemented in TypeScript, with rich types, high performance, modularity, extensibility, and customizable themes. The underlying rendering logic is implemented in TypeScript, and the upper layer is adapted to different platforms through an adapter layer (adapters), including HarmonyOS, WeChat mini program, uniapp, etc., truly achieving "one core, multiple ends reuse".
2. Open Source License
Licensed under Apache-2.0
3. Screenshots
Chart Example
The following is a partial rendering effect of some chart types on the HarmonyOS platform:
-
Bar Chart


-
Area Chart


-
Mountain Chart


-
Scatter Chart

-
Bubble Chart

-
Pie Chart

-
Rose Chart

-
Radar Chart

-
Word Cloud Chart


-
Progress Bar


-
Dashboard


-
Funnel Chart


-
K Line Chart

(More types and styles can be referred to the docs directory)
4. Feature Overview
Features
- Cross-platform
Supports mainstream platforms such as HarmonyOS, WeChat mini program, and uniapp - Modular design
Decoupling of underlying rendering and platform adaptation, easy to extend and maintain -
️ Full support for TypeScript: Type safety, excellent development experience - Rich chart types
Bar chart, column chart, line chart, area chart, mountain chart, etc. -
⚡ High-performance rendering: Underlying optimization, smooth animation - Easy to Extend
Support for custom chart types and platform adaptation - Customizable styles
Support for theme customization
Supported chart types
- Bar Chart (column)
- Column Chart (bar)
- Line Chart (line)
- Area Chart (area)
- Mountain Chart (mount)
- Scatter Chart (scatter)
- Bubble Chart (bubble)
- Mixed Chart (mix)
- Pie Chart (pie)
- Ring Chart (ring)
- Rose Chart (rose)
- Radar Chart (radar)
- Word Cloud Chart (word)
- Arcbar Chart (arcbar)
- Gauge Dashboard (gauge)
- Funnel Chart (funnel)
- Candlestick Chart (candle)
- Map (map)
- More types are being developed continuously...
5. Tech Stack
Download and Install
For HarmonyOS, please refer to the README.md file in the corresponding directory; for other platforms, you can download from GitHub
Quick Start
For specific platform context acquisition methods, please refer to the corresponding adaptation layer documents.
Directory Structure
Performance Optimization
- Low-level rendering optimization
Implemented in TypeScript, facilitating multi-end compilation and optimization - Animation and event separation
Animation and event systems are independent, improving smoothness - On-demand loading
Only load the required chart types and adaptation layers
Compatibility
- HarmonyOS system
Supports HarmonyOS 5.0 and above - Browser
Supports browser and other H5 runtime environments - WeChat Mini-Program
Supports mainstream mini-program platforms (under adaptation...) - uniapp
Supports mainstream uniapp runtime environments (under adaptation...)