annotationPoint

selector

value point

1export const AnnotationPointValue = memo(() => {
2  const vseed: VSeed = {
3    chartType: 'column',
4    dataset: [
5      { date: '2019', profit: 10, sales: 20, count: 50 },
6      { date: '2020', profit: 30, sales: 60, count: 50 },
7      { date: '2021', profit: 30, sales: 60, count: 50 },
8      { date: '2022', profit: 50, sales: 100, count: 50 },
9      { date: '2023', profit: 40, sales: 80, count: 50 },
10    ],
11    annotationPoint: {
12      selector: 10,
13      text: '最小值',
14      textFontWeight: 600,
15      textBaseline: 'bottom',
16      textAlign: 'center',
17      textColor: '#fff',
18      backgroundColor: 'gray',
19      backgroundBorderRadius: 10,
20      backgroundPadding: 10,
21      offsetY: -5,
22    },
23    dimensions: [{ id: 'date', alias: '日期', location: 'dimension' }],
24    measures: [
25      { id: 'profit', alias: '利润' },
26      { id: 'sales', alias: '销售额' },
27      { id: 'count', alias: '数量' },
28    ],
29  }
30  return <VChartRender vseed={vseed} />
31})

partial datum

1export const AnnotationPointPartialDatum = memo(() => {
2  const vseed: VSeed = {
3    chartType: 'line',
4    dataset: [
5      { date: '2019', profit: 10, sales: 20, count: 50 },
6      { date: '2020', profit: 30, sales: 60, count: 50 },
7      { date: '2021', profit: 30, sales: 60, count: 50 },
8      { date: '2022', profit: 50, sales: 100, count: 50 },
9      { date: '2023', profit: 40, sales: 80, count: 50 },
10    ],
11    annotationPoint: [
12      {
13        selector: [
14          {
15            sales: 20,
16          },
17        ],
18        text: ['销售额', '最小值 20'],
19        textAlign: 'right',
20        offsetX: -15,
21      },
22      {
23        selector: [100],
24        text: ['销售额', '最大值 100'],
25        textAlign: 'right',
26        offsetY: 15,
27        offsetX: -20,
28      },
29    ],
30    dimensions: [{ id: 'date', alias: '日期', location: 'dimension' }],
31    measures: [
32      { id: 'profit', alias: '利润' },
33      { id: 'sales', alias: '销售额' },
34      { id: 'count', alias: '数量' },
35    ],
36  }
37  return <VChartRender vseed={vseed} />
38})

condition

1export const AnnotationPointCondition = memo(() => {
2  const vseed: VSeed = {
3    chartType: 'area',
4    dataset: [
5      { date: '2019', profit: 10, sales: 20, count: 50 },
6      { date: '2020', profit: 30, sales: 60, count: 50 },
7      { date: '2021', profit: 30, sales: 60, count: 50 },
8      { date: '2022', profit: 50, sales: 100, count: 50 },
9      { date: '2023', profit: 40, sales: 80, count: 50 },
10    ],
11    annotationPoint: [
12      {
13        selector: [
14          {
15            field: 'sales',
16            operator: '<=',
17            value: 80,
18          },
19        ],
20        text: '销售额<=80',
21        textAlign: 'right',
22        offsetX: -15,
23      },
24      {
25        selector: [
26          {
27            field: 'date',
28            operator: 'in',
29            value: '2023',
30          },
31        ],
32        text: '2023 年',
33        textAlign: 'left',
34        offsetX: 0,
35      },
36    ],
37    dimensions: [{ id: 'date', alias: '日期', location: 'dimension' }],
38    measures: [
39      { id: 'profit', alias: '利润' },
40      { id: 'sales', alias: '销售额' },
41      { id: 'count', alias: '数量' },
42    ],
43  }
44  return <VChartRender vseed={vseed} />
45})