diff --git a/packages/vchart/src/component/axis/cartesian/interface/spec.ts b/packages/vchart/src/component/axis/cartesian/interface/spec.ts index bbf5fdf222..5eba9266aa 100644 --- a/packages/vchart/src/component/axis/cartesian/interface/spec.ts +++ b/packages/vchart/src/component/axis/cartesian/interface/spec.ts @@ -24,7 +24,13 @@ export type ICartesianVertical = { * @since 1.8.10 */ innerOffset?: { + /** + * 顶部留白 + */ top?: ILayoutNumber; + /** + * 底部留白 + */ bottom?: ILayoutNumber; }; }; @@ -35,7 +41,13 @@ export type ICartesianHorizontal = { * @since 1.8.10 */ innerOffset?: { + /** + * 左侧留白 + */ left?: ILayoutNumber; + /** + * 右侧留白 + */ right?: ILayoutNumber; }; }; diff --git a/packages/vchart/src/component/axis/interface/spec.ts b/packages/vchart/src/component/axis/interface/spec.ts index 7157d653e7..fd5ae488c6 100644 --- a/packages/vchart/src/component/axis/interface/spec.ts +++ b/packages/vchart/src/component/axis/interface/spec.ts @@ -364,10 +364,9 @@ export interface ITitle extends IAxisItem { * */ type?: 'text' | 'rich'; /** - * 轴标题内容格式化函数 - * @param text 原始标签文本值 - * @param datum 图形数据 - * @returns 格式化后的文本 + * 轴标题内容,支持多种格式 + * - 字符串或者数值 + * - 字符串或者数值数组 */ text?: ITextMarkSpec['text'] | ReturnType>; /** diff --git a/packages/vchart/src/component/crosshair/interface/spec.ts b/packages/vchart/src/component/crosshair/interface/spec.ts index 9e53116a13..04062b638e 100644 --- a/packages/vchart/src/component/crosshair/interface/spec.ts +++ b/packages/vchart/src/component/crosshair/interface/spec.ts @@ -103,7 +103,13 @@ export type ICrosshairLineStyle = Pick< export type ICrosshairRectStyle = ICrosshairLineStyle & Pick; export interface ICrosshairLineSpec { + /** + * 是否显示 + */ visible?: boolean; + /** + * 辅助图形的类型 + */ type?: 'line'; /** * 线宽 @@ -112,6 +118,9 @@ export interface ICrosshairLineSpec { width?: number; /** 极坐标系下是否平滑 */ smooth?: boolean; + /** + * 辅助图形的样式配置 + */ style?: ICrosshairLineStyle; } diff --git a/packages/vchart/src/component/data-zoom/data-zoom/interface.ts b/packages/vchart/src/component/data-zoom/data-zoom/interface.ts index dbf2bde4bb..6e1069e85b 100644 --- a/packages/vchart/src/component/data-zoom/data-zoom/interface.ts +++ b/packages/vchart/src/component/data-zoom/data-zoom/interface.ts @@ -19,33 +19,95 @@ export interface IDataZoomStyle { * @default 'auto' 鼠标hover在选中区域时才显示startText和endText */ showDetail?: 'auto' | boolean; - + /** + * 中间手柄样式 + */ middleHandler?: { + /** + * 中间手柄是否可见 + */ visible?: boolean; + /** + * 中间手柄的中点图标 + */ icon?: ISymbolMarkSpec; + /** + * 中间手柄的背景矩形 + */ background?: { + /** + * 中间手柄背景矩形的尺寸(当缩略轴为横向时,该尺寸代表高度;同理,当缩略轴为纵向时,该尺寸代表宽度)。 + */ size?: number; } & IRectMarkSpec; }; + /** + * 缩略轴的背景矩形 + */ background?: { + /** + * 缩略轴背景矩形的尺寸(当缩略轴为横向时,该尺寸代表高度;同理,当缩略轴为纵向时,该尺寸代表宽度) + */ size?: number; } & IRectMarkSpec; + /** + * 缩略轴的起点手柄 + */ startHandler?: ISymbolMarkSpec; + /** + * 缩略轴的终点手柄 + */ endHandler?: ISymbolMarkSpec; + /** + * 起点文字样式配置 + */ startText?: { + /** + * 起点文字外边距配置 + */ padding?: number; } & ITextMarkSpec; + /** + * 终点文字样式配置 + */ endText?: { + /** + * 终点文字外边距配置 + */ padding?: number; } & ITextMarkSpec; + /** + * 缩略轴的拖拽轨迹图元 + */ dragMask?: IRectMarkSpec; + /** + * 缩略轴的选中部分对应的矩形样式配置 + */ selectedBackground?: IRectMarkSpec; + /** + * 缩略轴的预览图表 + */ backgroundChart?: { + /** + * 缩略轴的预览图表,line 样式配置 + */ line?: ILineMarkSpec; + /** + * 缩略轴的预览图表,area 样式配置 + */ area?: IAreaMarkSpec; }; + /** + * 缩略轴的选中部分预览图表样式配置 + */ selectedBackgroundChart?: { + /** + * 缩略轴的选中部分,line 样式配置 + */ line?: ILineMarkSpec; + /** + * 缩略轴的选中部分,area 样式配置 + */ area?: IAreaMarkSpec; }; } @@ -72,8 +134,17 @@ export interface IDataZoomSpec extends IDataZoomStyle, IDataFilterComponentSpec * 起始点文字标签format格式配置 */ startText?: { + /** + * 起点文字外边距配置 + */ padding?: number; + /** + * 起点文字文本样式配置 + */ style?: IMarkSpec; + /** + * 起点文字格式化配置,使用回调函数的形式配置。 + */ formatMethod?: (text: string | number) => string | string[]; /** * 格式化模板 @@ -83,9 +154,24 @@ export interface IDataZoomSpec extends IDataZoomStyle, IDataFilterComponentSpec formatter?: string | string[]; }; endText?: { + /** + * 终点文字外边距配置 + */ padding?: number; + /** + * 终点文字文本样式配置 + */ style?: IMarkSpec; + /** + * + * 终点文字格式化配置, 使用回调函数的形式配置 + */ formatMethod?: (text: string | number) => string | string[]; + /** + * 格式化模板 + * @description 可以通过类似 `{value:.2f}%` 的形式对指定数据字段进行格式化 + * @since 1.10.0 + */ formatter?: string | string[]; }; /** diff --git a/packages/vchart/src/component/label/interface.ts b/packages/vchart/src/component/label/interface.ts index e392983a76..40f65072ff 100644 --- a/packages/vchart/src/component/label/interface.ts +++ b/packages/vchart/src/component/label/interface.ts @@ -22,6 +22,9 @@ export interface ILabelFormatMethodContext { series?: ISeries; } +/** + * 系列图元标签配置,一般用于展示数据项 + */ export interface ILabelSpec extends IComponentSpec, ILabelAnimationSpec { /** 默认不显示标签 */ visible?: boolean; @@ -98,9 +101,21 @@ export type ILabelAnimationSpec = Pick< export type IMultiLabelSpec> = T | T[]; type LabelStateStyle = { + /** + * 标签hover状态样式配置 + */ hover?: T; + /** + * 标签hover_reverse状态样式配置 + */ hover_reverse?: T; + /** + * 标签选中状态样式配置 + */ selected?: T; + /** + * 标签未选中状态样式配置 + */ selected_reverse?: T; }; diff --git a/packages/vchart/src/component/marker/interface.ts b/packages/vchart/src/component/marker/interface.ts index afcdcb3b93..5c473325bd 100644 --- a/packages/vchart/src/component/marker/interface.ts +++ b/packages/vchart/src/component/marker/interface.ts @@ -65,9 +65,12 @@ export type IDataPointSpec = { */ [key: string]: IDataPos | IDataPosCallback; /** - * 具体某个数据元素关联的series(仅在标注目标:数据元素下有效) + * 具体某个数据元素关联的series序号(仅在标注目标:数据元素下有效) */ refRelativeSeriesIndex?: number; + /** + * 具体某个数据元素关联的series 的id(仅在标注目标:数据元素下有效) + */ refRelativeSeriesId?: StringOrNumber; /** * 指定使用 xField 上的那个维度索引,因为 xField 字段有可能会包含多个维度,比如分组场景 @@ -268,9 +271,12 @@ export interface IMarkerCrossSeriesSpec { export type IMarkerSpec = IComponentSpec & { /** - * 标注数据关联的series + * 标注数据关联的series序号 */ relativeSeriesIndex?: number; + /** + * 标注数据关联系列对应的id + */ relativeSeriesId?: number | string; /** * marker组件是否可见 diff --git a/packages/vchart/src/component/marker/mark-area/interface/spec.ts b/packages/vchart/src/component/marker/mark-area/interface/spec.ts index 4406874c7d..4af446b976 100644 --- a/packages/vchart/src/component/marker/mark-area/interface/spec.ts +++ b/packages/vchart/src/component/marker/mark-area/interface/spec.ts @@ -17,6 +17,9 @@ export type IMarkArea = IComponent; export type IRegressType = 'regression'; +/** + * 面积标注、区块标注、辅助区块相关配置 + */ export type IMarkAreaSpec = IMarkerSpec & /** * 标注目标:笛卡尔坐标系坐标空间 diff --git a/packages/vchart/src/component/marker/mark-line/interface/spec.ts b/packages/vchart/src/component/marker/mark-line/interface/spec.ts index 97389d4896..e14c48e248 100644 --- a/packages/vchart/src/component/marker/mark-line/interface/spec.ts +++ b/packages/vchart/src/component/marker/mark-line/interface/spec.ts @@ -20,6 +20,9 @@ import type { BaseMarkerAnimation, MarkCommonLineAnimationType } from '@visactor export type IMarkLine = IComponent; +/** + * 辅助线配置,一般用于展示图表的趋势线、平均线等 + */ export type IMarkLineSpec = | (IMarkerSpec & /** @@ -250,8 +253,13 @@ export type IStepMarkLineSpec = IMarkerSpec & { * string 类型为百分比,相对于 region 区域宽度/高度的百分比,如 '30%' */ expandDistance?: number | string; - + /** + * 标注线的标签样式 + */ label?: IMarkerLabelSpec; + /** + * 标注线的线配置 + */ line?: { /** * 是否对 points 进行多段处理,默认为 false,即直接将所有的点连接成线。 diff --git a/packages/vchart/src/component/marker/mark-line/interface/theme.ts b/packages/vchart/src/component/marker/mark-line/interface/theme.ts index c93e0e5652..54688f2e1e 100644 --- a/packages/vchart/src/component/marker/mark-line/interface/theme.ts +++ b/packages/vchart/src/component/marker/mark-line/interface/theme.ts @@ -3,8 +3,13 @@ import type { IArcMarkSpec, ILineMarkSpec } from '../../../../typings'; import type { IMarkerLabelSpec, IMarkerState, IMarkerSymbol } from '../../interface'; export interface IMarkLineTheme { + /** + * 标注线的线样式 + */ line?: Partial>; - + /** + * 标注线的标签样式 + */ label?: { /** * label整体 - 相对line的位置 @@ -12,7 +17,12 @@ export interface IMarkLineTheme { position?: keyof typeof IMarkLineLabelPosition | IMarkCommonArcLabelPosition; } & IMarkerLabelSpec; + /** + * 线标注起点symbol样式 + */ startSymbol?: IMarkerSymbol; - + /** + * 线标注终点symbol样式 + */ endSymbol?: IMarkerSymbol; } diff --git a/packages/vchart/src/component/marker/mark-point/interface/spec.ts b/packages/vchart/src/component/marker/mark-point/interface/spec.ts index 5e70c36b12..fac5a12760 100644 --- a/packages/vchart/src/component/marker/mark-point/interface/spec.ts +++ b/packages/vchart/src/component/marker/mark-point/interface/spec.ts @@ -14,7 +14,9 @@ import type { IMarkPointTheme } from './theme'; import type { BaseMarkerAnimation, MarkPointAnimationType } from '@visactor/vrender-components'; export type IMarkPoint = IComponent; - +/** + * 辅助点、点标注相关配置 + */ export type IMarkPointSpec = IMarkerSpec & // 标注目标: 笛卡尔坐标系 (| IMarkPointXYSpec diff --git a/packages/vchart/src/interaction/interface.ts b/packages/vchart/src/interaction/interface.ts index a0bbb4f631..ac635f29c4 100644 --- a/packages/vchart/src/interaction/interface.ts +++ b/packages/vchart/src/interaction/interface.ts @@ -61,51 +61,110 @@ export interface IBaseInteractionSpec { type Trigger = EventType | EventType[]; +/** + * hover 交互详细配置内容 + */ export interface IHoverSpec extends IBaseInteractionSpec { + /** + * hover 交互开关,默认开启 + */ enable?: boolean; + /** + * hover 交互的触发事件配置 + */ trigger?: Trigger; + /** + * hover 交互的终止事件配置 + */ triggerOff?: Trigger; } +/** + * select 交互详细配置内容 + */ export interface ISelectSpec extends IBaseInteractionSpec { + /** + * select 交互开关,默认开启。 + */ enable?: boolean; + /** + * 选中模式配置,默认 single 单选 + */ mode?: 'single' | 'multiple'; + /** + * select 交互的触发事件配置 + */ trigger?: Trigger; + /** + * select 交互的终止事件配置 + */ triggerOff?: Trigger | number; } -export interface ITriggerSpec { - hover?: IHoverSpec | boolean; - select?: ISelectSpec | boolean; -} - +/** + * 将触发元素的状态设置为激活状态,当开启这个交互的时候,可以在系列图元通过 `state.active` 设置激活状态下的视觉编码 + */ export type IElementActiveSpec = IBaseInteractionSpec & Pick; +/** + * 图元选中相关交互,当开启这个交互的时候, + * 可以在系列图元通过 `state.selected` 设置激活状态下的视觉编码 + * 可以在系列图元通过 `state.selected_reverse` 设置非激活状态下的视觉编码 + */ export type IElementSelectSpec = IBaseInteractionSpec & Pick; +/** + * 图元高亮交互配置,当开启这个交互的时候, + * 可以在系列图元通过 `state.highlight` 设置激活状态下的视觉编码 + * 可以在系列图元通过 `state.blur` 设置非激活状态下的视觉编码 + */ export type IElementHighlightSpec = IBaseInteractionSpec & Pick; - +/** + * 将触发元素以及和触发元素具有相同key的元素状态设置为高亮状态,其他元素的状态设置为失焦状态;一般需要配合系列的dataKey 配置使用 + */ export type IElementHighlightByKeySpec = IBaseInteractionSpec & Pick; - +/** + * 将触发元素以及和触发元素具有相同分组值(groupKey)的元素状态设置为高亮状态,其他元素的状态设置为失焦状态 + */ export type IElementHighlightByGroup = IBaseInteractionSpec & Pick; - +/** + * 根据图例激活图元,默认触发事件为图例的 `legendItemHover`和`legendItemUnHover`事件 + */ export type IElementActiveByLegend = IBaseInteractionSpec & Pick; - +/** + * 根据图例高亮图元,默认触发事件为图例的 `legendItemHover`和`legendItemUnHover`事件 + */ export type IElementHighlightByLegend = IBaseInteractionSpec & Pick; - +/** + * 根据图例高亮图元,默认触发事件为图例的 `legendItemHover`和`legendItemUnHover`事件 + */ export type IElementHighlightByName = IBaseInteractionSpec & Pick; +/** + * 元素选中交互,将所有相同名称的元素的状态设置为选中状态;注意该交互不建议和默认的select交互同时使用(象形图除外) + */ export interface ICustomInteraction extends IBaseInteractionSpec { type: string; } +/** + * 交互相关配置,目前支持的交互类型包括: + * - 元素激活 + * - 元素选中 + * - 元素高亮 + * - 根据key值高亮元素 + * - 根据group值高亮元素 + * - 根据legend值激活元素 + * - 根据legend值高亮元素 + * - 根据图元名称高亮元素 + */ export type IInteractionItemSpec = | IElementActiveSpec | IElementSelectSpec @@ -116,8 +175,22 @@ export type IInteractionItemSpec = | IElementHighlightByLegend | IElementHighlightByName; +/** + * 申明图表交互相关配置 + */ export interface IInteractionSpec { + /** + * 图表hover相关交互配置,当值为boolean类型时,表示开启或者关闭该交互 + * 也支持更详细的交互配置 + */ hover?: IHoverSpec | boolean; + /** + * 图表选中相关交互配置,当值为boolean类型时,表示开启或者关闭该交互 + * 也支持更详细的交互配置 + */ select?: ISelectSpec | boolean; + /** + * 其他需要按需注册的类型交互 + */ interactions?: IInteractionItemSpec[]; } diff --git a/packages/vchart/src/series/mosaic/interface.ts b/packages/vchart/src/series/mosaic/interface.ts index db76554f1c..9c5cdb005d 100644 --- a/packages/vchart/src/series/mosaic/interface.ts +++ b/packages/vchart/src/series/mosaic/interface.ts @@ -8,6 +8,9 @@ export interface IMosaicSeriesSpec extends Omit & { + /** + * 是否根据分组字段过滤标签 + */ filterByGroup?: { field: string; type?: 'min' | 'max'; diff --git a/packages/vchart/src/typings/layout.ts b/packages/vchart/src/typings/layout.ts index a31b60230c..e2e3cc10c4 100644 --- a/packages/vchart/src/typings/layout.ts +++ b/packages/vchart/src/typings/layout.ts @@ -1,3 +1,10 @@ +/** + * 布局特定方向的大小配置,支持四种格式: + * * 数值类型 + * * 以%结束的百分比字符串 + * * 返回类型为数值的函数 + * * 格式为{percent: number, offset: number}的对象 + */ export type ILayoutNumber = number | IPercent | ((layoutRect: ILayoutRect) => number) | IPercentOffset; export interface ILayoutPoint { @@ -30,10 +37,25 @@ export type ILayoutType = | 'absolute' | 'normal-inline'; +/** + * 布局各个方向的padding配置 + */ export type ILayoutOrientPadding = { + /** + * 左侧边距配置 + */ left?: ILayoutNumber; + /** + * 右侧边距配置 + */ right?: ILayoutNumber; + /** + * 顶部边距配置 + */ top?: ILayoutNumber; + /** + * 底部边距配置 + */ bottom?: ILayoutNumber; }; diff --git a/packages/vchart/src/typings/space.ts b/packages/vchart/src/typings/space.ts index 5979fac860..821373acab 100644 --- a/packages/vchart/src/typings/space.ts +++ b/packages/vchart/src/typings/space.ts @@ -9,10 +9,25 @@ export type IOrientType = 'left' | 'top' | 'right' | 'bottom' | 'z'; export type IPolarOrientType = 'radius' | 'angle'; +/** + * 内边距配置 + */ export interface IPadding { + /** + * 顶部边距 + */ top?: number; + /** + * 底部边距 + */ bottom?: number; + /** + * 左侧边距 + */ left?: number; + /** + * 右侧边距 + */ right?: number; } diff --git a/packages/vchart/src/typings/visual.ts b/packages/vchart/src/typings/visual.ts index 95796f7b24..f27b8e0af9 100644 --- a/packages/vchart/src/typings/visual.ts +++ b/packages/vchart/src/typings/visual.ts @@ -107,37 +107,100 @@ export type ConvertToMarkStyleSpec> = { * border */ export interface IBorder { + /** + * 边框离图形边缘的距离 + */ distance: number | string; + /** + * 边框的颜色 + */ stroke?: string | IGradient; + /** + * 边框的透明度 + */ strokeOpacity?: number; + /** + * 边框线的宽度 + */ lineWidth?: number; + /** + * 给边框配置虚线模式。它使用一组值来指定描述模式的线和间隙的交替长度 + */ lineDash?: number[]; + /** + * 设置边框的虚线偏移量 + */ lineDashOffset?: number; } export interface ICommonSpec { + /** + * 图形是否可见 + */ visible?: boolean; + /** + * 图形的x坐标 + */ x?: number; + /** + * 图形的y坐标 + */ y?: number; + /** + * 图形的z坐标,仅适用于3D图表 + */ z?: number; /** + * 图形的描边颜色。 + * 支持使用 'rgb(255,255,255)','rgba(255,255,255,1)','#fff' 等方式设置为纯色,也支持设置为渐变色描边 * @todo 隔离主题和 spec 配置 * IColorKey 类型只适用于主题 */ stroke?: string | IGradient | false | (number | boolean)[] | IColorKey; + /** + * 描边透明度 + */ strokeOpacity?: number; + /** + * 图形的透明度,既影响描边也影响填充 + */ opacity?: number; + /** + * 图形的描边宽度 + */ lineWidth?: number; + /** + * 给描边配置虚线模式。它使用一组值来指定描述模式的线和间隙的交替长度 + */ lineDash?: number[]; + /** + * 设置虚线偏移量的属性 + */ lineDashOffset?: number; - + /** + * 设置图形的鼠标样式 + */ cursor?: Cursor; + /** + * 设置图形的层级,主意这个是相对层级,图形引擎绘制的时候,会对相同group下的所有图形根据zIndex进行排序,然后从小到大进行渲染 + */ zIndex?: number; + /** + * 图形的旋转角度 + */ angle?: number; + /** + * 基于AABB的锚点位置,用于简单的定位某些path的位置 + */ anchor?: [number, number]; - // 缩放属性 + /** + * x方向的缩放比例,默认为1,即不进行缩放 + */ scaleX?: number; + /** + * y方向的缩放比例,默认为1,即不进行缩放 + */ scaleY?: number; /** * 图形缩放中心 @@ -147,14 +210,26 @@ export interface ICommonSpec { scaleCenter?: [number | string, number | string]; // 3d旋转的属性 - beta?: number; + /** + * x方向的旋转角度 + */ alpha?: number; + /** + * y方向的旋转角度 + */ + beta?: number; + /** + * 3d的锚点位置 + */ anchor3d?: [number, number]; /** * 选择模式,精确模式,粗糙模式(包围盒模式),自定义模式 */ pickMode?: 'accurate' | 'imprecise' | 'custom'; + /** + * bounds的计算模式 + */ boundsMode?: 'accurate' | 'imprecise'; /** @@ -183,11 +258,11 @@ export interface ICommonSpec { texturePadding?: number; /** - * 外边框 + * 外边框,外描边,描边位于图形外侧 */ outerBorder?: IBorder; /** - * 内边框 + * 内边框,内描边,描边位于图形内侧 */ innerBorder?: IBorder; /** @@ -202,28 +277,51 @@ export interface ICommonSpec { export interface IFillMarkSpec extends ICommonSpec { /** + * 图形的填充颜色 * @todo 隔离主题和 spec 配置 * IColorKey 类型只适用于主题 */ fill?: VisualType | IGradient | false | IColorKey; + /** + * 填充的透明度 + */ fillOpacity?: number; - // TODO:waite VRender support this api - // backgroundMode: number; // 填充模式(与具体图元有关) - // can coexist with fill + + /** + * 图形的背景色,支持纯色、image元素、canvas元素 + */ background?: IColor | HTMLImageElement | HTMLCanvasElement | null; } export type IMarkHtmlSpec = Partial; export interface ISymbolMarkSpec extends IFillMarkSpec { + /** + * x方向的偏移量 + */ dx?: number; + /** + * y方向的偏移量 + */ dy?: number; + /** + * 大小,相当于外接圆的半径 + */ size?: number | number[]; /** 对外声明使用shape,vrender图形属性对应的是shape */ shape?: ShapeType | string; - /** FIXME: vrender Symbol接收的图形属性,暂时都申明一下 */ + /** + * 标记的类型 + * FIXME: vrender Symbol接收的图形属性,暂时都申明一下 + * */ symbolType?: ShapeType | string; + /** + * x方向的缩放比例,默认为1,即不进行缩放 + */ scaleX?: number; + /** + * y方向的缩放比例,默认为1,即不进行缩放 + */ scaleY?: number; } @@ -234,21 +332,49 @@ export interface ILineLikeMarkSpec extends IFillMarkSpec { } export interface IAreaMarkSpec extends ILineLikeMarkSpec { + /** + * 面积的x1值 + */ x1?: number; + /** + * 面积的y1值 + */ y1?: number; - + /** + * 面积图元的方向, + * horizontal - 水平方向 + * vertical - 垂直方向 + */ orient?: 'horizontal' | 'vertical'; } export interface ILineMarkSpec extends ILineLikeMarkSpec { + /** + * 指定如何绘制每一条线段末端的属性。有 3 个可能的值,分别是:'butt', 'round' and 'square'。默认值是 butt。 + */ lineCap?: LineStrokeCap; + /** + * 用来设置 2 个长度不为 0 的相连部分(线段、圆弧、曲线)如何连接在一起的属性(长度为 0 的变形部分,其指定的末端和控制点在同一位置,会被忽略)。此属性有 3 个值: 'round', 'bevel' and 'miter'。默认值是 'miter' + */ lineJoin?: LineStrokeJoin; + /** + * 设置斜接面限制比例的属性。当获取属性值时,会返回当前的值(默认值是 10.0 )。当给属性赋值时,0、负数、 Infinity 和 NaN 都会被忽略;除此之外都会被赋予一个新值。 + */ miterLimit?: number; + /** + * stroke 的有界缓冲区 + */ strokeBoundsBuffer?: number; } export interface IRuleMarkSpec extends ILineMarkSpec { + /** + * 终点x坐标 + */ x1?: number; + /** + * 终点y坐标 + */ y1?: number; } @@ -344,14 +470,30 @@ export interface IRectMarkSpec extends IFillMarkSpec { * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左] */ cornerRadius?: number | number[]; + /** + * 宽度 + */ width?: number; + /** + * 高度 + */ height?: number; + /** + * x方向终点坐标 + */ x1?: number; + /** + * y方向终点坐标 + */ + y1?: number; } // 3d rect,支持length表示长宽高中的长属性(深度属性) export interface IRect3dMarkSpec extends IRectMarkSpec { + /** + * 3d柱子的深度 + */ length?: number; } @@ -416,9 +558,13 @@ export interface ILiquidOutlineSpec extends ISymbolMarkSpec { } export interface IOutlierMarkSpec { - //异常点填充颜色 + /** + * 异常点填充颜色 + */ fill?: string; - //异常点大小 + /** + * 异常点大小 + */ size?: number; } @@ -448,16 +594,40 @@ export interface ILinkPathMarkSpec extends IFillMarkSpec { direction?: 'horizontal' | 'vertical' | 'LR' | 'RL' | 'TB' | 'BL' | 'radial'; } +/** + * arc图元的视觉通道配置 + */ export interface IArcMarkSpec extends IFillMarkSpec { + /** + * 圆弧的开始角度 + */ startAngle?: number; + /** + * 圆弧的结束角度 + */ endAngle?: number; + /** + * 间隙角度;间隔角度会转换为一个在两个相邻的弧之间的确定的线性距离,定义为 padRadius * | padAngle | + * 这个距离在弧的开始和结束处都是相等的; + * 间隔角度通常只应用于环形扇区(即当内半径大于 0) + */ padAngle?: number; + /** + * 外径,既外半径 + */ outerRadius?: number; + /** + * 内径,既内半径 + */ innerRadius?: number; + /** + * 圆角 + */ cornerRadius?: number; - + /* 内边距 */ innerPadding?: number; + /* 外边距 */ outerPadding?: number; /** arc的中心点偏移距离 */ @@ -471,16 +641,31 @@ export interface IArcMarkSpec extends IFillMarkSpec { // 3d arc,有高度配置 export interface IArc3dMarkSpec extends IArcMarkSpec { + /** + * 3d圆弧的高度 + */ height?: number; } export interface ICellMarkSpec extends ISymbolMarkSpec { + /** + * 内边距 + */ padding?: number | number[] | IPadding; } export interface IGroupMarkSpec extends IFillMarkSpec { + /** + * 是否开启裁剪 + */ clip?: boolean; + /** + * 宽度 + */ width?: number; + /** + * 高度 + */ height?: number; /** * 圆角配置。 @@ -491,12 +676,21 @@ export interface IGroupMarkSpec extends IFillMarkSpec { } export interface IPolygonMarkSpec extends ICommonSpec, IFillMarkSpec { + /** + * 顶点坐标 + */ points?: IPoint[]; /** * 圆角配置,支持数组配置,数组的顺序同组成 polygon 的顺序对应 */ cornerRadius?: number | number[]; + /** + * x方向的缩放比例,默认为1,即不进行缩放 + */ scaleX?: number; + /** + * y方向的缩放比例,默认为1,即不进行缩放 + */ scaleY?: number; }