Skip to content

Commit f4735d9

Browse files
committed
chore: update docs
1 parent 2e0aa32 commit f4735d9

File tree

1 file changed

+159
-0
lines changed

1 file changed

+159
-0
lines changed
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
# 扩展图表:蜡烛图
2+
3+
蜡烛图(K 线图)是金融领域常用的图表类型,用于展示一段时间内的价格走势,包括开盘价、最高价、最低价和收盘价四个关键价格点。
4+
5+
VChart 提供了蜡烛图扩展组件,支持灵活的样式配置和交互功能,能够满足各种金融数据可视化需求。
6+
7+
![img](https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/vchart/preview/candlestick/candlestick-basic.png)
8+
9+
## 如何使用扩展图表
10+
11+
蜡烛图需要手动注册后才能使用,注册和使用方式如下:
12+
13+
```js
14+
import VChart from '@visactor/vchart';
15+
import { registerCandlestickChart } from '@visactor/vchart-extension';
16+
17+
const spec = {
18+
type: 'candlestick'
19+
// your spec
20+
};
21+
registerCandlestickChart();
22+
23+
const vchart = new VChart(spec, { dom: 'chart' });
24+
vchart.renderSync();
25+
```
26+
27+
如果是通过 cdn 引入的方式,注册方式如下:
28+
29+
```html
30+
<script src="https://cdn.jsdelivr.net/npm/@visactor/vchart/build/index.min.js"></script>
31+
<script src="https://cdn.jsdelivr.net/npm/@visactor/vchart-extension/build/index.min.js"></script>
32+
<script>
33+
const spec = {
34+
type: 'candlestick'
35+
36+
// your spec
37+
};
38+
VChartExtension.registerCandlestickChart();
39+
40+
const vchart = new VChart.default(spec, { dom: 'chart' });
41+
vchart.renderSync();
42+
</script>
43+
```
44+
45+
## 相关配置项
46+
47+
```js
48+
export interface ICandlestickSeriesSpec
49+
extends Omit<ICartesianSeriesSpec, 'xField' | 'yField' | 'direction'>,
50+
IAnimationSpec<SeriesMarkNameEnum.boxPlot, string> {
51+
type: 'candlestick';
52+
/**
53+
* 时间轴字段
54+
*/
55+
xField: string | string[];
56+
/**
57+
* 开盘价字段
58+
*/
59+
openField?: string;
60+
/**
61+
* 最高价字段
62+
*/
63+
highField?: string;
64+
/**
65+
* 最低价字段
66+
*/
67+
lowField?: string;
68+
/**
69+
* 收盘价字段
70+
*/
71+
closeField?: string;
72+
/**
73+
* 上涨蜡烛图颜色
74+
*/
75+
rising?: IMarkSpec<ICandlestickMarkSpec>;
76+
/**
77+
* 下跌蜡烛图颜色
78+
*/
79+
falling?: IMarkSpec<ICandlestickMarkSpec>;
80+
/**
81+
* 平盘蜡烛图颜色
82+
*/
83+
doji?: IMarkSpec<ICandlestickMarkSpec>;
84+
/**
85+
* 蜡烛图标记配置
86+
*/
87+
candlestick?: IMarkSpec<ICandlestickMarkSpec>;
88+
}
89+
90+
export interface ICandlestickMarkSpec extends ICommonSpec {
91+
/**
92+
* 盒子宽度
93+
*/
94+
boxWidth?: number;
95+
/**
96+
* 盒子填充颜色,为空则不填充
97+
*/
98+
boxFill?: string | ((datum: Datum) => string);
99+
/**
100+
* 最低价
101+
*/
102+
low?: (datum: Datum) => number;
103+
/**
104+
* 收盘价
105+
*/
106+
close?: (datum: Datum) => number;
107+
/**
108+
* 开盘价
109+
*/
110+
open?: (datum: Datum) => number;
111+
/**
112+
* 最高价
113+
*/
114+
high?: (datum: Datum) => number;
115+
}
116+
```
117+
118+
## 蜡烛图示例
119+
120+
- [基础蜡烛图](/vchart/demo/candlestick-charts/candlestick-basic)
121+
- [蜡烛与均线组合用法](/vchart/demo/candlestick-charts/candlestick-with-MA)
122+
123+
## 配置详解
124+
125+
### 数据字段配置
126+
127+
蜡烛图需要配置以下数据字段:
128+
129+
- `xField`: 时间轴字段,用于展示时间维度
130+
- `openField`: 开盘价字段
131+
- `highField`: 最高价字段
132+
- `lowField`: 最低价字段
133+
- `closeField`: 收盘价字段
134+
135+
### 样式配置
136+
137+
蜡烛图支持三种状态的样式配置:
138+
139+
- `rising`: 上涨状态(收盘价 > 开盘价)的样式配置
140+
- `falling`: 下跌状态(收盘价 < 开盘价)的样式配置
141+
- `doji`: 平盘状态(收盘价 = 开盘价)的样式配置
142+
143+
每种状态都可以配置以下样式属性:
144+
145+
- `boxWidth`: 蜡烛图盒子的宽度
146+
- `boxFill`: 盒子的填充颜色
147+
- `stroke`: 边框颜色
148+
- `lineWidth`: 边框宽度
149+
150+
### 动画配置
151+
152+
蜡烛图内置了入场和出场动画,可以通过 `animation` 配置自定义动画效果。默认动画为 `candlestickScaleIn``candlestickScaleOut`
153+
154+
## 最佳实践
155+
156+
1. **数据准备**:确保数据包含完整的时间、开盘价、最高价、最低价和收盘价字段
157+
2. **颜色配置**:建议上涨使用红色、下跌使用绿色,符合国内市场习惯
158+
3. **响应式设计**:在小屏幕设备上,可以适当减小 `boxWidth` 以避免蜡烛图重叠
159+
4. **组合图表**:可以与成交量柱状图组合,提供更全面的市场分析视图

0 commit comments

Comments
 (0)