Chart Knowledge Base
npm install @antv/ckb English | 简体中文
Chart Knowledge Base (CKB)
A knowledge base stores the wiki for every type of visualization.


Chart Knowledge Base (CKB) is a library offers knowledge base for chart wikis in a JSON format. The JSON is like this:
``js
{
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',
},
...
}
`
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.
With AVA/CKB, you can quickly build your chart dictionary product like this: ChartCube

You can easily build a chart type recommendation system with this knowledge base and your customized rules.
`bash`
$ npm install @antv/ckb
`js
import { CKBJson } from '@antv/ckb';
// Knowledage base for all charts in English.
const knowledgeBase = CKBJson();
// Knowledage base for completed charts in Chinese.
const zhCompletedKB = CKBJson('zh-CN', true);
`
* For more usages, please check the Quick API
`js``
// ../../docs/api/knowledge.md does not exist
* Detailed API Reference
* User Guide
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.
MIT
ChartCube - Online chart making tool based on G2Plot.