Skip to content

Repository files navigation

Deep-Viz

Deep-Viz

A React chart library: concise, consistent and good-looking charts built on ECharts, Canvas, SVG, WebGL and Chinese e-maps — distilled from years of commercial data-visualisation practice.

npm version npm downloads bundle size types included
license GitHub stars PRs welcome react >= 16.8 echarts 5

Component gallery · npm · Changelog · Contributing · 中文文档


Most chart libraries hand you the whole configuration surface of the engine underneath and leave the design decisions to you. Deep-Viz takes the opposite position: 44 components, each with the options that actually vary in practice, already styled to one visual system. Where you do need the engine's full power, every ECharts-backed component still takes raw option fragments.

Features

  • 44 components across six rendering backends: ECharts, Baidu / AMap e-maps, Canvas, SVG, WebGL and plain DOM pictograms.
  • Short configuration. A handful of lines produces a complete, consistent chart; roughly 90% of the remaining cases are covered by passing option fragments straight through.
  • One visual system. Colours, type scale, grid and tooltip styling are shared across every component, so a dashboard looks designed rather than assembled.
  • TypeScript declarations for the whole public API, hand-written to match the runtime propTypes.
  • Tree-shakeable — import a single component and nothing else comes with it.

Requirements

React >= 16.8
ECharts 5.x (bundled as a dependency)
Browsers Anything with Canvas; WebGL components additionally need WebGL
Node >= 22 for development

Install

pnpm add deep-viz
# or
npm install deep-viz --save

Quick start

import { LineChart } from 'deep-viz';

const config = {
  x: { data: lineData.date },
  y: [
    {
      data: [lineData.y1, lineData.y2],
      legend: ['legend1', 'legend2'],
      name: 'yAxisName/unit',
    },
  ],
};

<LineChart config={config} />;

Import a single component when you do not want the rest of the library:

import LineChart from 'deep-viz/lib/Echarts/LineChart';

Every component and its options are shown in the gallery.

Components

Backend Components
ECharts — cartesian LineChart LineBarChart BarChartBasic BarHorizontal KLineChart HeatmapCartesian ScatterCartesian ScatterNet
ECharts — other PieChart RadarChart FunnelChart GraphChart WordCloud
ECharts — geo ShadeMap MapScatter ShadeMapScatter
Baidu maps BaiduMapPoint BaiduMapPolygon BaiduMapPolygonWithPoint BaiduMapHeatMap BaiduMapHeatMapWithPoint BaiduMapCrossCurve
AMap AMapCluster AMapIndoor AMapDistrictCluster
Canvas Gauge GaugePan CircleAnimate RainbowRain PillarList ScatterCurveMap ScratchOff RadarSpan HotWords DataScatter
SVG PieChartSvg BallMove CirclePan
WebGL BarChart3D GlobePointLine ThreeModel
Pictogram ImageBar ImagePercent ProgressBar

The map components expect the Baidu or AMap JavaScript SDK to be loaded by the host page; they read it off window.

TypeScript

Types ship with the package — no @types/deep-viz needed.

import { LineChart, type LineChartProps } from 'deep-viz';

Development

pnpm install
pnpm build       # compiles src/ to lib/, including LESS and the declarations
pnpm test        # vitest
pnpm lint        # eslint
pnpm typecheck   # tsc --noEmit

Contributions are welcome — see CONTRIBUTING.md for the fork → pull request flow.

Credits

The library deliberately builds on existing work rather than reinventing it. Thanks to:

The first version was built by the big-data front-end and design team, whose work this library still rests on.

License

MIT

About

React chart library — 44 components across ECharts, Canvas, SVG, WebGL and Baidu/AMap e-maps, with TypeScript types and one shared visual system. 数据可视化组件库

Topics

Resources

Contributing

Stars

64 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages