Chart Knowledge Base

Usage no npm install needed!

<script type="module">
  import antvCkb from 'https://cdn.skypack.dev/@antv/ckb';


English | 简体中文

Chart Knowledge Base (CKB)


A knowledge base stores the wiki for every type of visualization.

Version NPM downloads

Chart Knowledge Base (CKB) is a library offers knowledge base for chart wikis in a JSON format. The JSON is like this:

  line_chart: {
    id: 'line_chart',
    name: 'Line Chart',
    alias: ['Lines'],
    family: ['LineCharts'],
    def: 'A line chart uses lines with segments to show changes in data in a ordinal dimension.',
    purpose: ['Comparison', 'Trend', 'Anomaly'],
    coord: ['Cartesian2D'],
    category: ['Statistic'],
    shape: ['Lines'],
    dataPres: [
      { minQty: 1, maxQty: 1, fieldConditions: ['Time', 'Ordinal'] },
      { minQty: 0, maxQty: 1, fieldConditions: ['Nominal'] },
      { minQty: 1, maxQty: 1, fieldConditions: ['Interval'] },
    channel: ['Position', 'Direction'],
    recRate: 'Recommended',



Consistency for Chart Taxonomy

The contribution of the whole data visualization community makes this library a standard. You don't have to struggle with different names or alias or definition of a same chart type.

To Build Chart Dictionaries in Seconds

With AVA/CKB, you can quickly build your chart dictionary product like this: ChartCube

The Base for Automatic Chart Recommendation

You can easily build a chart type recommendation system with this knowledge base and your customized rules.


$ npm install @antv/knowledge


import { CKBJson } from '@antv/knowledge';

// Knowledage base for all charts in English.
const knowledgeBase = CKBJson();

// Knowledage base for completed charts in Chinese.
const zhCompletedKB = CKBJson('zh-CN', true);



We welcome all contributions. Please read General Contribution Guide and Contribution Guide for AVA/CKB first.

You can submit any ideas as pull requests or as GitHub issues. Let's build a better AVA together.




ChartCube - Online chart making tool based on G2Plot.