ChartPipeline / docs /02_input_data_format.md
Ray1ee01's picture
Upload folder using huggingface_hub
1569336 verified
|
Raw
History Blame Contribute Delete
4.88 kB
# 输入数据格式规范
ChartPipeline 框架接受结构化的 JSON 数据作为输入。正确的数据格式对于框架的正常运行至关重要。本文档详细介绍了 ChartPipeline 的标准输入格式。
## 基本结构
输入 JSON 由两个主要部分组成:`metadata``data`
```json
{
"metadata": { ... },
"data": { ... }
}
```
## 元数据 (metadata)
`metadata` 部分包含关于数据集的描述性信息:
```json
"metadata": {
"title": "The United States of Emergency",
"description": "Number of national emergencies declared in the United States since 1976, by current status",
"main_insight": "The number of national emergencies declared in the US has generally increased over time, with a significant number of those declared since 2000 still active."
}
```
| 字段 | 类型 | 描述 | 必填 |
|------|------|------|------|
| `title` | 字符串 | 图表的主标题 | 是 |
| `description` | 字符串 | 对数据的简要描述 | 是 |
| `main_insight` | 字符串 | 数据揭示的主要洞察 | 是 |
## 数据 (data)
`data` 部分包含实际的数据和列元数据:
```json
"data": {
"columns": [ ... ],
"data": [ ... ]
}
```
### 列定义 (columns)
`columns` 数组定义了数据集中每一列的属性:
```json
"columns": [
{
"name": "Time Period",
"importance": "primary",
"description": "Time periods of national emergencies declared",
"unit": "none",
"data_type": "temporal",
"role": "x"
},
// 更多列定义...
]
```
每个列定义应包含以下字段:
| 字段 | 类型 | 描述 | 必填 | 可选值 |
|------|------|------|------|--------|
| `name` | 字符串 | 列名称,在数据中用作键 | 是 | |
| `importance` | 字符串 | 列的重要性级别 | 是 | `primary`, `secondary` |
| `description` | 字符串 | 对列内容的描述 | 是 | |
| `unit` | 字符串 | 数据的度量单位 | 是 | `none`, `percent`, `currency`, 等 |
| `data_type` | 字符串 | 数据类型 | 是 | `temporal`, `numerical`, `categorical` |
| `role` | 字符串 | 在可视化中的作用 | 是 | `x`, `y`, `group`, `size`, `color` |
### 数据记录 (data)
`data` 数组包含实际的数据记录,每条记录是一个包含列名与值映射的对象:
```json
"data": [
{
"Time Period": "'76-'79",
"Binary": 1,
"Status": "Still active"
},
{
"Time Period": "'80-'89",
"Binary": 7,
"Status": "Ended"
},
// 更多数据记录...
]
```
## 完整示例
以下是一个符合规范的完整输入数据示例:
```json
{
"metadata": {
"title": "The United States of Emergency",
"description": "Number of national emergencies declared in the United States since 1976, by current status",
"main_insight": "The number of national emergencies declared in the US has generally increased over time, with a significant number of those declared since 2000 still active."
},
"data": {
"columns": [
{
"name": "Time Period",
"importance": "primary",
"description": "Time periods of national emergencies declared",
"unit": "none",
"data_type": "temporal",
"role": "x"
},
{
"name": "Binary",
"importance": "primary",
"description": "Binary for the corresponding status",
"unit": "none",
"data_type": "numerical",
"role": "y"
},
{
"name": "Status",
"importance": "primary",
"description": "The status of the data point",
"unit": "none",
"data_type": "categorical",
"role": "group"
}
],
"data": [
{
"Time Period": "'76-'79",
"Binary": 1,
"Status": "Still active"
},
{
"Time Period": "'80-'89",
"Binary": 7,
"Status": "Ended"
},
{
"Time Period": "'90-'99",
"Binary": 6,
"Status": "Still active"
},
{
"Time Period": "'90-'99",
"Binary": 14,
"Status": "Ended"
},
{
"Time Period": "'00-'09",
"Binary": 11,
"Status": "Still active"
},
{
"Time Period": "'00-'09",
"Binary": 5,
"Status": "Ended"
},
{
"Time Period": "'10-'19",
"Binary": 15,
"Status": "Still active"
},
{
"Time Period": "'10-'19",
"Binary": 3,
"Status": "Ended"
},
{
"Time Period": "'20-'22",
"Binary": 8,
"Status": "Still active"
},
{
"Time Period": "'20-'22",
"Binary": 1,
"Status": "Ended"
}
]
}
}
```
## 数据验证
框架在处理输入数据之前会执行验证,确保数据符合上述格式要求。如果发现格式问题,框架将输出详细的错误消息指明问题所在。