Skip to content

Commit 2a591b1

Browse files
authored
docs: update data type: inline, fetch (#6702)
* docs: update data type fetch * docs: update data type inline
1 parent 5dd94a6 commit 2a591b1

File tree

2 files changed

+80
-28
lines changed

2 files changed

+80
-28
lines changed

site/docs/manual/core/data/fetch.zh.md

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,31 @@ title: fetch
33
order: 2
44
---
55

6-
根据 `value` 指定的 `url` 获取远程的数据。可以通过 `format` 去指定数据类型,G2 默认会根据 `value` 指定的文件后缀名去推断数据类型。
6+
## 概述
7+
8+
G2 的数据源来源有两种,一种是 `inline`,即直接传入具体的数据,这种是 G2 默认的数据源类型;另外一种数据源类型是 `fetch`,即从远程接口获取数据。
9+
10+
G2 的 `fetch` 支持从远程接口获得数据,让数据源具备一定的动态性,支持 JSON、CSV 等格式解析,适配多场景数据集成,提升大屏、监控等应用的开发效率与交互体验。配置上,根据 `value` 指定的 `url` 获取远程的数据。可以通过 `format` 去指定数据类型,G2 默认会根据 `value` 指定的文件后缀名去推断数据类型,记得保证远程的地址没有设置鉴权。
11+
12+
### 使用方式
13+
14+
直接在设置数据得时候,传入一个对象,并设置类型 type 为 `fetch`
715

816
```js
917
// Spec
1018
chart.options({
1119
type: 'point',
1220
data: {
13-
type: 'fetch',
14-
value: 'https://gw.alipayobjects.com/os/antvdemo/assets/data/scatter.json',
15-
},
16-
});
17-
```
18-
19-
```js
20-
// API
21-
chart.data({
22-
type: 'point',
23-
data: {
24-
type: 'fetch',
25-
value: 'https://gw.alipayobjects.com/os/antvdemo/assets/data/scatter.json',
21+
type: 'fetch', // 指定 fetch 类型
22+
value: 'https://gw.alipayobjects.com/os/antvdemo/assets/data/scatter.json', // 远程地址
2623
},
2724
});
2825
```
2926

3027
## 开始使用
3128

29+
举一个例子如下:
30+
3231
```js | ob
3332
(() => {
3433
const chart = new G2.Chart();
@@ -51,12 +50,14 @@ chart.data({
5150
})();
5251
```
5352

54-
## 选项
53+
## 配置项
5554

56-
| 属性 | 描述 | 类型 | 默认值 |
55+
| 属性 | 描述 | 类型 | 默认值 |
5756
| --------- | ------------------------------------------------- | ----------------- | ------ |
58-
| value | fetch 请求的网络地址 | `string` | `[]` |
59-
| format | 远程文件的数据格式类型,决定用什么方式解析 | `'json' \| 'csv'` | `json` |
60-
| delimiter | 如果是 csv 文件,解析的时候分割符 | `string` | `,` |
61-
| autoType | 如果是 csv 文件,解析的时候是否自动判断列数据类型 | `boolean` | `true` |
62-
| transform | 对加载后的数据进行变换操作 | `DataTransform` | `[]` |
57+
| value | fetch 请求的网络地址 | `string` | `[]` |
58+
| format | 远程文件的数据格式类型,决定用什么方式解析 | `'json' \| 'csv'` | `json` |
59+
| delimiter | 如果是 csv 文件,解析的时候分割符 | `string` | `,` |
60+
| autoType | 如果是 csv 文件,解析的时候是否自动判断列数据类型 | `boolean` | `true` |
61+
| transform | 对加载后的数据进行变换操作 | `DataTransform` | `[]` |
62+
63+
`fetch` 实现上,如果 format 为 `json`,则使用 JavaScript 的 `fetch` API 然后将返回值转成 JSON Object;如果 format 为 `csv`,则调用 `d3-dsv` 去解析接口返回值。

site/docs/manual/core/data/inline.zh.md

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@ title: inline
33
order: 2
44
---
55

6-
使用内联数据。
6+
## 概述
77

8-
## 开始使用
8+
G2 的数据源来源有两种,一种是 `inline`,即直接传入具体的数据,这种是 G2 默认的数据源类型;另外一种数据源类型是 `fetch`,即从远程接口获取数据。
9+
10+
### 使用方式
11+
12+
显式的指定 `type``inline`,完整的写法如下:
913

1014
```js
11-
// 完整写法
1215
chart.data({
1316
type: 'inline',
1417
value: [
@@ -19,8 +22,11 @@ chart.data({
1922
{ genre: 'Other', sold: 150 },
2023
],
2124
});
25+
```
26+
27+
因为 G2 默认的数据类型就是 `inline`,所以也可以简写为如下:
2228

23-
// 语法糖
29+
```js
2430
chart.data([
2531
{ genre: 'Sports', sold: 275 },
2632
{ genre: 'Strategy', sold: 115 },
@@ -30,9 +36,54 @@ chart.data([
3036
]);
3137
```
3238

33-
## 选项
39+
## 开始使用
40+
41+
举一个例子如下:
42+
43+
```js | ob
44+
(() => {
45+
const chart = new G2.Chart();
46+
47+
chart.options({
48+
type: 'interval',
49+
data: [
50+
{ genre: 'Sports', sold: 275 },
51+
{ genre: 'Strategy', sold: 115 },
52+
{ genre: 'Action', sold: 120 },
53+
{ genre: 'Shooter', sold: 350 },
54+
{ genre: 'Other', sold: 150 },
55+
],
56+
encode: {
57+
x: 'genre',
58+
y: 'sold',
59+
},
60+
});
61+
62+
return chart.render().then((chart) => chart.getContainer());
63+
})();
64+
```
65+
66+
## 配置项
3467

3568
| 属性 | 描述 | 类型 | 默认值 |
3669
| --------- | ---------------------------- | --------------- | ------ |
37-
| value | 具体的 object 数组数据 | `object[]` | `[]` |
38-
| transform | 针对数据 inline 数据进行变换 | `DataTransform` | `[]` |
70+
| value | 具体的 object 数组数据 | `object[]` | `[]` |
71+
| transform | 针对数据 inline 数据进行变换 | `DataTransform` | `[]` |
72+
73+
这个数据源比较简单,相当于传入的数据,直接作为数据源进行 transform 处理加工,然后走渲染逻辑。
74+
75+
⚠️ G2 支持了一些关系图的数据结构,这些数据结构是一个 JavaScript 的 Object 类型,所以使用简写传入的时候,可能会导致 G2 识别出错,所以建议如果图表的数据是 Object 对象,使用完整的写法传入数据。
76+
77+
```js
78+
const graphData = {
79+
nodes: [/** */],
80+
edges: [/** */],
81+
};
82+
83+
chart.data(graphData); // ❌ 不建议这么写,G2 在处理的时候可能识别出错
84+
85+
chart.data({ // ✅ 建议完整写法,语义更明确,不会因为歧义带来识别错误
86+
type: 'inline',
87+
value: graphData
88+
})
89+
```

0 commit comments

Comments
 (0)