English | 简体中文
Chart Knowledge Base (CKB)
AVA/knowledgeChart 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',
},
...
}
Features
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.
Installation
$ npm install @antv/ckb
Usage
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);
Documentation
- For more usages, please check the Quick API
// ../../docs/api/knowledge.md does not exist
- Detailed API Reference
- User Guide
Contribution
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.
License
MIT
Links
ChartCube - Online chart making tool based on G2Plot.