MCPcopy Index your code
hub / github.com/VisActor/VChart

github.com/VisActor/VChart @v2.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.1.1 ↗ · + Follow
10,678 symbols 25,514 edges 3,097 files 1,610 documented · 15% 5 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

VisActor Logo VisActor Logo

VChart

VChart,不只是开箱即用的多端图表库,更是生动灵活的数据故事讲述者。

简介Demo教程API跨端

npm Version npm Download PRs Welcome

license

English | 简体中文 | 日本語

(演示视频)

简介

VChart 是 VisActor 可视化体系中的图表组件库,基于可视化语法库VGrammar 进行图表逻辑封装,基于可视化渲染引擎 VRender 进行组件封装。核心能力如下:

  1. 一码多端:自动适配桌面、H5、多个小程序环境
  2. 面向叙事:综合应用标注、动画、流程控制、叙事模板等一系列增强功能进行叙事可视化创作。
  3. 场景沉淀:面向最终用户沉淀可视化能力,解放开发者生产力

仓库简介

本仓库包含如下包:

  1. vchart:核心包,VChart 图表
  2. react-vchart:基于 React 封装的 VChart 图表组件
  3. taro-vchart:基于 Taro 封装的 VChart 图表组件
  4. lark-vchart:基于 飞书小程序 封装的 VChart 图表组件
  5. block-vchart:基于 飞书小组件 封装的 VChart 图表组件
  6. wx-vchart:基于 微信小程序 封装的 VChart 图表组件
  7. docs: VChart 站点源码,同时也包含站点所有的中英文文档、图表示例代码等内容。

🔨 使用

📦 安装

# npm
$ npm install @visactor/vchart

# yarn
$ yarn add @visactor/vchart

📊 一个简单的图表

import VChart from '@visactor/vchart';

const spec = {
  type: 'bar',
  data: [
    {
      id: 'barData',
      values: [
        { month: 'Monday', sales: 22 },
        { month: 'Tuesday', sales: 13 },
        { month: 'Wednesday', sales: 25 },
        { month: 'Thursday', sales: 29 },
        { month: 'Friday', sales: 38 }
      ]
    }
  ],
  xField: 'month',
  yField: 'sales',
  crosshair: {
    xField: { visible: true }
  }
};

// 'chart' 是图表 dom 容器的 id,比如 

</chart>
const vchart = new VChart(spec, { dom: 'chart' });
vchart.renderAsync();

⌨️ 开发

首先,全局安装 @microsoft/rush

$ npm i --global @microsoft/rush

接着将代码 clone 至本地:

# clone
$ git clone git@github.com:VisActor/VChart.git
$ cd VChart
# 安装依赖
$ rush update
# 开始 vchart 的本地开发
$ rush start
# 开始 react-vchart 的本地开发
$ rush react
# 开始站点的本地开发
$ rush docs

📖 Documents

After installation & clone & update, run docs to preview VTable documents locally.

# start vtable document server. execute in file path: ./
$ rush update
$ rush build
$ rush docs

如果有依赖问题

$ rush purge
$ rush update

🔗 相关链接

💫 生态

项目 介绍
React-VChart 适用于 @VisActor/VChart 的 React 组件
OpenInula-VChart OpenInula 的 VChart 组件
OMI Web 组件框架
基于 vchart 和 Next.js 构建的 Vercel 模板 一个使用 vchart 和 Next.js 构建的现代仪表盘模板,拥有美观的用户界面和丰富的数据可视化组件。

💖 Thanks

VisActor Logo VisActor Logo

感谢 semi 提供主题可视化定制解决方案

🤝 参与贡献 PRs Welcome

如想参与贡献,请先阅读行为准则贡献指南

细流成河,终成大海!

Extension points exported contracts — how you extend this code

ISeriesTooltipHelper (Interface)
(no doc) [16 implementers]
packages/vchart-types/types/series/interface/tooltip-helper.d.ts
ISeriesTooltipHelper (Interface)
(no doc) [13 implementers]
packages/vchart/src/series/interface/tooltip-helper.ts
BaseEvent (Interface)
基础事件参数
packages/wx-vchart/typings/types/wx/lib.wx.event.d.ts
ITTCanvas (Interface)
(no doc) [1 implementers]
packages/taro-vchart/src/utils/tt-canvas/index.ts
Definition (Interface)
(no doc)
tools/typescript-json-schema/typescript-json-schema.ts
Data (Interface)
(no doc)
tools/bugserver-trigger/scripts/trigger-test.ts
IAnimationTask (Interface)
(no doc)
tools/story-player/src/page/interface.ts
CLIArgs (Interface)
(no doc)
tools/bundler/src/logic/config.ts

Core symbols most depended-on inside this repo

push
called by 698
packages/wx-vchart/typings/types/wx/lib.wx.cloud.d.ts
forEach
called by 660
packages/vchart/src/mark/mark-set/index.ts
map
called by 406
tools/story-player/src/common/model-set.ts
forEach
called by 354
packages/vchart/src/core/instance-manager.ts
renderSync
called by 276
packages/vchart/src/core/vchart.ts
filter
called by 250
tools/story-player/src/common/model-set.ts
includes
called by 247
packages/vchart/src/mark/mark-set/index.ts
release
called by 225
packages/vchart/src/event/event.ts

Shape

Method 3,881
Function 2,799
Interface 2,371
Class 1,536
Enum 91

Languages

TypeScript100%
Python1%

Modules by API surface

packages/wx-vchart/typings/types/wx/lib.wx.api.d.ts1,814 symbols
packages/wx-vchart/typings/types/wx/lib.wx.cloud.d.ts143 symbols
packages/vchart/src/core/vchart.ts135 symbols
packages/vchart/src/mark/base/base-mark.ts125 symbols
packages/vchart/src/series/base/base-series.ts116 symbols
packages/vchart/src/chart/base/base-chart.ts112 symbols
packages/vchart/__tests__/unit/core/update-effects.test.ts103 symbols
docs/assets/demos/qixi/lib/anime.es.js92 symbols
docs/assets/demos/chart-history/lib/anime.es.js92 symbols
packages/vchart/src/series/cartesian/cartesian.ts63 symbols
packages/vchart/__tests__/unit/animation/manual-ticker.test.ts58 symbols
packages/vchart/src/series/funnel/funnel.ts50 symbols

For agents

$ claude mcp add VChart \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact