RaceLine
AnimatedLine Chart (Race Line Chart)
Suitable for showing data trends over time, connecting data points with line segments to form trend lines.
Applicable scenarios:
- Display trend changes of multiple data series over time
- Compare growth or decline patterns of different categories
- Observe data fluctuations on the time dimension
AnimatedLine Chart:
- X-axis is usually a time axis or category axis, showing dimension values
- Y-axis is a numeric axis, showing measure values
- Supports controlling the time dimension through a player, animating the extension process of the line
chartType
Type: "raceLine"
AnimatedLine Chart, suitable for showing data trends over time
dataset
Type: Record[]
Data source
dimensions
Type: ColumnDimension[] | undefined
Dimensions
id
Type: string
Field ID corresponding to the dimension
alias
Type: string | undefined
Dimension alias
timeFormat
Type: TimeFormat | undefined
Dimension date format configuration
type
Type: "year" | "quarter" | "month" | "week" | "day" | "hour" | "minute" | "second"
Time granularity, determines the date display precision
encoding
Type: "xAxis" | "color" | "detail" | "tooltip" | "label" | "row" | "column" | undefined
Channel to which the dimension is mapped
- xAxis: supports mapping multiple dimensions to the x-axis
- color: supports mapping multiple dimensions to the color channel
- detail: supports mapping multiple dimensions to the detail channel
- tooltip: supports mapping multiple dimensions to the tooltip channel
- label: supports mapping multiple dimensions to the label channel
- row: supports mapping multiple dimensions to the row channel
- column: supports mapping multiple dimensions to the column channel
measures
Type: ColumnMeasure[] | undefined
Measures
id
Type: string
Measure ID, must be unique
alias
Type: string | undefined
Measure alias, duplicates allowed; when not set, alias defaults to id
autoFormat
Type: boolean | undefined
Automatic number formatting, enabled by default, highest priority
When autoFormat=true, it overrides all numFormat configurations
When enabled, chart data labels and tooltips will automatically select the appropriate formatting based on measure values and locale
Formatting rules: decimal numbers with compact notation enabled, minimum 0 decimal places, maximum 2 decimal places, automatic rounding, using the browser's Intl.NumberFormat implementation
For example:
- locale=zh-CN: 749740.264 → 74.45~74.45万
- locale=en-US: 749740.264 → 744.5K
numFormat
Type: NumFormat | undefined
Custom number formatting for measures; automatically applied to labels and tooltips
Note: To use custom formatting, you must explicitly set autoFormat=false; otherwise autoFormat will override this config
type
Type: "number" | "percent" | "permille" | "scientific" | undefined
Number format type, supports: number (decimal), percent (%), permille (‰), scientific notation
ratio
Type: number | undefined
Number format ratio, cannot be 0
Example - 100000 converts to 10W, ratio:10000, symbol:"W" - 100000 converts to 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Number format symbol, e.g. %, ‰
Example - 100000 converts to 10W, ratio:10000, symbol:"W" - 100000 converts to 10K, ratio:1000, symbol:"K"
thousandSeparator
Type: boolean | undefined
Thousands separator for number formatting
suffix
Type: string | undefined
Number format suffix
prefix
Type: string | undefined
Number format prefix
fractionDigits
Type: number | undefined
Decimal places for number formatting, using the browser's Intl.NumberFormat minimumFractionDigits and maximumFractionDigits; lower priority than significantDigits
Example - 1234.5678 converts to 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 converts to 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 converts to 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 converts to 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 converts to 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 converts to 1234.56780, fractionDigits:5 (roundingMode:halfCeil)
significantDigits
Type: number | undefined
Significant digits for number formatting, using the browser's Intl.NumberFormat minimumSignificantDigits and maximumSignificantDigits; higher priority than fractionDigits
Example - 1234.5678 converts to 1000, significantDigits:1 - 1234.5678 converts to 1200, significantDigits:2 - 1234.5678 converts to 1230, significantDigits:3 - 1234.5678 converts to 1234, significantDigits:4 - 1234.5678 converts to 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 converts to 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 converts to 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 converts to 1234.5678, significantDigits:8 (roundingMode:halfCeil)
roundingPriority
Type: "morePrecision" | "lessPrecision" | undefined
Rounding priority for number formatting when both significantDigits and fractionDigits are set; uses the browser's Intl.NumberFormat, following the same rules as Intl.NumberFormat's roundingPriority
Example - 1234.5678 converts to 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 converts to 1234.5678, significantDigits:3 (roundingPriority:morePrecision)
roundingMode
Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined
Rounding mode for number formatting, using the browser's Intl.NumberFormat, following the same rules as Intl.NumberFormat's roundingMode
format
Type: NumFormat | undefined
type
Type: "number" | "percent" | "permille" | "scientific" | undefined
Number format type, supports: number (decimal), percent (%), permille (‰), scientific notation
ratio
Type: number | undefined
Number format ratio, cannot be 0
Example - 100000 converts to 10W, ratio:10000, symbol:"W" - 100000 converts to 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Number format symbol, e.g. %, ‰
Example - 100000 converts to 10W, ratio:10000, symbol:"W" - 100000 converts to 10K, ratio:1000, symbol:"K"
thousandSeparator
Type: boolean | undefined
Thousands separator for number formatting
suffix
Type: string | undefined
Number format suffix
prefix
Type: string | undefined
Number format prefix
fractionDigits
Type: number | undefined
Decimal places for number formatting, using the browser's Intl.NumberFormat minimumFractionDigits and maximumFractionDigits; lower priority than significantDigits
Example - 1234.5678 converts to 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 converts to 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 converts to 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 converts to 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 converts to 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 converts to 1234.56780, fractionDigits:5 (roundingMode:halfCeil)
significantDigits
Type: number | undefined
Significant digits for number formatting, using the browser's Intl.NumberFormat minimumSignificantDigits and maximumSignificantDigits; higher priority than fractionDigits
Example - 1234.5678 converts to 1000, significantDigits:1 - 1234.5678 converts to 1200, significantDigits:2 - 1234.5678 converts to 1230, significantDigits:3 - 1234.5678 converts to 1234, significantDigits:4 - 1234.5678 converts to 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 converts to 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 converts to 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 converts to 1234.5678, significantDigits:8 (roundingMode:halfCeil)
roundingPriority
Type: "morePrecision" | "lessPrecision" | undefined
Rounding priority for number formatting when both significantDigits and fractionDigits are set; uses the browser's Intl.NumberFormat, following the same rules as Intl.NumberFormat's roundingPriority
Example - 1234.5678 converts to 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 converts to 1234.5678, significantDigits:3 (roundingPriority:morePrecision)
roundingMode
Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined
Rounding mode for number formatting, using the browser's Intl.NumberFormat, following the same rules as Intl.NumberFormat's roundingMode
encoding
Type: "color" | "detail" | "tooltip" | "label" | "yAxis" | undefined
Channel to which the measure is mapped
- yAxis: measure mapped to the y-axis
- detail: measure mapped to the detail channel
- color: measure mapped to the color channel
- label: measure mapped to the label channel
- tooltip: measure mapped to the tooltip channel
parentId
Type: string | undefined
In flat measure configuration form, builds a tree-shaped measure group. parentId points to the id of the parent measure group, used for building the measure tree
There are two ways to configure the measure tree: Option 1 is directly configuring a measure tree with children; Option 2 is configuring a flat measure list with parentId. These two methods cannot be used simultaneously
page
Type: Page | undefined
Pagination Configuration
field
Type: string
Pagination field; specifies the field name for pagination, must be a dimension
currentValue
Type: string
Current pagination value; specifies the value used to determine the current page
Example '2023-01-01'
player
Type: Player | undefined
Player configuration, used to specify the time dimension, a core configuration of the animated line chart.
Used to specify the play field name, which must be a dimension.
This feature does not support chart types such as table, pivotTable, dualAxis, histogram, boxPlot, etc., and does not support use when measure combination or row/column pivot is enabled.
maxCount
Type: number | false | undefined
Maximum play count, data exceeding this number will be truncated, set to false for no limit.
interval
Type: number | undefined
Play interval, unit in ms.
autoPlay
Type: boolean | undefined
Whether to auto-play.
loop
Type: boolean | undefined
Whether to loop play.
position
Type: "left" | "top" | "right" | "bottom" | undefined
Player position.
railColor
Type: string | undefined
Player progress bar track color.
trackColor
Type: string | undefined
Player progress bar progress color.
sliderHandleColor
Type: string | undefined
Player progress bar slider color.
sliderHandleBorderColor
Type: string | undefined
Player progress bar slider border color.
startButtonColor
Type: string | undefined
Player start button color.
pauseButtonColor
Type: string | undefined
Player pause button color.
backwardButtonColor
Type: string | undefined
Player backward button color.
forwardButtonColor
Type: string | undefined
Player forward button color.
backgroundColor
Type: BackgroundColor
Background color.
color
Type: Color | undefined
Color configuration.
colorScheme
Type: string[] | undefined
Discrete color scheme used to define the colors of different elements in the chart
Example ['#FFCDD2,#F8BBD0,#E1BEE7,#D1C4E9,#C5CAE9,#BBDEFB,#B3E5FC,#B2EBF2,#B2DFDB,#C8E6C9,#DCEDC8,#F0F4C3,#FFF9C4,#FFECB3,#FFE0B2']
linearColorScheme
Type: string[] | undefined
Linear gradient color scheme used to define the colors of different elements in the chart
Example ['#FFCDD2, #F8BBD0]
colorMapping
Type: Record<string, string> | undefined
Color mapping used to map data values to specific colors
Example { 'profit': 'red', 'sales': 'blue', }
positiveColor
Type: string | undefined
Positive/negative color configuration; defines the color for positive values in the chart
negativeColor
Type: string | undefined
Positive/negative color configuration; defines the color for negative values in the chart
label
Type: Label | undefined
Label Configuration
enable
Type: false | true
Whether label functionality is enabled
wrap
Type: boolean | undefined
Whether labels wrap to the next line
showValue
Type: boolean | undefined
Whether labels display measure values
In multi-measure scenarios, there is no concern about conflicting values, because all plot-related measures go through foldMeasures processing and are merged into one measure representing a single data point
Note: encoding's label has higher priority; this config does not affect encoding's label
showValuePercent
Type: boolean | undefined
Whether labels display the percentage of measure values
In multi-measure scenarios, there is no concern about conflicting values, because all plot-related measures go through foldMeasures processing and are merged into one measure representing a single data point
Note: encoding's label has higher priority; this config does not affect encoding's label
showDimension
Type: boolean | undefined
Whether labels display dimension labels
Display all dimension labels
Note: encoding's label has higher priority; this config does not affect encoding's label
autoFormat
Type: boolean | undefined
Whether label values are automatically formatted; when autoFormat is true, numFormat configuration is ignored
numFormat
Type: NumFormat | undefined
Label value format configuration; merged with the format in measure, where measure's format has higher priority. numFormat priority is lower than autoFormat
type
Type: "number" | "percent" | "permille" | "scientific" | undefined
Number format type, supports: number (decimal), percent (%), permille (‰), scientific notation
ratio
Type: number | undefined
Number format ratio, cannot be 0
Example - 100000 converts to 10W, ratio:10000, symbol:"W" - 100000 converts to 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Number format symbol, e.g. %, ‰
Example - 100000 converts to 10W, ratio:10000, symbol:"W" - 100000 converts to 10K, ratio:1000, symbol:"K"
thousandSeparator
Type: boolean | undefined
Thousands separator for number formatting
suffix
Type: string | undefined
Number format suffix
prefix
Type: string | undefined
Number format prefix
fractionDigits
Type: number | undefined
Decimal places for number formatting, using the browser's Intl.NumberFormat minimumFractionDigits and maximumFractionDigits; lower priority than significantDigits
Example - 1234.5678 converts to 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 converts to 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 converts to 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 converts to 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 converts to 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 converts to 1234.56780, fractionDigits:5 (roundingMode:halfCeil)
significantDigits
Type: number | undefined
Significant digits for number formatting, using the browser's Intl.NumberFormat minimumSignificantDigits and maximumSignificantDigits; higher priority than fractionDigits
Example - 1234.5678 converts to 1000, significantDigits:1 - 1234.5678 converts to 1200, significantDigits:2 - 1234.5678 converts to 1230, significantDigits:3 - 1234.5678 converts to 1234, significantDigits:4 - 1234.5678 converts to 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 converts to 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 converts to 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 converts to 1234.5678, significantDigits:8 (roundingMode:halfCeil)
roundingPriority
Type: "morePrecision" | "lessPrecision" | undefined
Rounding priority for number formatting when both significantDigits and fractionDigits are set; uses the browser's Intl.NumberFormat, following the same rules as Intl.NumberFormat's roundingPriority
Example - 1234.5678 converts to 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 converts to 1234.5678, significantDigits:3 (roundingPriority:morePrecision)
roundingMode
Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined
Rounding mode for number formatting, using the browser's Intl.NumberFormat, following the same rules as Intl.NumberFormat's roundingMode
labelFontSize
Type: number | undefined
Label font size
labelFontWeight
Type: string | number | undefined
Label font weight
labelBackgroundColor
Type: string | undefined
Label background color
labelStroke
Type: string | undefined
Label stroke color
labelColor
Type: string | undefined
Label font color
labelColorSmartInvert
Type: boolean | undefined
Whether the label automatically inverts font color based on the element color
labelPosition
Type: "inside" | "outside" | undefined
Label position
labelOverlap
Type: boolean | undefined
Whether the label anti-overlap function is enabled
selector
Type: Selector | Selectors | undefined
Label filtering, default condition relationship between selectors is OR
field
Type: string
Dimension field, ID of an item in dimensions
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select the value of the dimension field in the data item, supports arrays
dynamicFilter
Type: ChartDynamicFilter | undefined
Animated filter (AI-generated code execution)
Implementation of complex data filtering logic through AI-generated JavaScript code
Core capabilities:
- Supports any complex data filtering conditions
- Use built-in utility functions for data manipulation
- Safe execution in the browser environment (Web Worker sandbox)
Environment requirement: Only supports browser environment, Node.js environment will use fallback
Note: selector and dynamicFilter cannot be used simultaneously, dynamicFilter has higher priority
Chart animated filter configuration
Filter chart markers (bars, points, etc.) through AI-generated JavaScript code
type
Type: "row-with-field"
description
Type: string | undefined
Description of the user's filtering needs (natural language)
Example "Highlight bars with sales greater than 1000"
"Highlight the bar with the highest profit margin in each region"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions can be used (access via _ or R)
- Input parameter: data (array), each item includes a __row_index field representing the row number
- Must return an array of row index and field combinations: Array<{ __row_index: number, field: string }>
- __row_index represents the row number of the original data item, field represents the field to be highlighted
- Prohibited use: eval, Function, asynchronous operations, DOM API, network requests
Example Highlight the sales field of data items with sales greater than 1000
Highlight the data item with the highest profit margin in each region
Highlight data items filtered by multiple conditions
fallback
Type: Selector | Selectors | undefined
Fallback plan when code execution fails or the environment is not supported
field
Type: string
Dimension field, ID of an item in dimensions
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select the value of the dimension field in the data item, supports arrays
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Animated filter execution result (runtime field)
Written during the prepare() phase, read-only at runtime
success
Type: false | true
data
Type: T[] | undefined
error
Type: string | undefined
legend
Type: Legend | undefined
Legend Configuration
enable
Type: boolean | undefined
Whether the legend function is enabled
Example enable: true
border
Type: boolean | undefined
Whether the legend border is enabled
Only effective for discrete legends
Example border: true
labelColor
Type: string | undefined
Legend font color
pagerIconColor
Type: string | undefined
Pager icon color
pagerIconDisableColor
Type: string | undefined
Pager icon disabled color
labelFontSize
Type: number | undefined
Legend font size
Example labelFontSize: 10
labelFontColor
Type: string | undefined
Legend font color
labelFontWeight
Type: string | number | undefined
Legend font weight
Example labelFontWeight: 400
shapeType
Type: "circle" | "cross" | "diamond" | "square" | "arrow" | "arrow2Left" | "arrow2Right" | "wedge" | "thinTriangle" | "triangle" | "triangleUp" | "triangleDown" | "triangleRight" | "triangleLeft" | "stroke" | "star" | "wye" | "rect" | "arrowLeft" | "arrowRight" | "rectRound" | "roundLine" | undefined
Legend shape
Only effective for discrete legends
Example shapeType: 'circle'
position
Type: "left" | "leftTop" | "leftBottom" | "lt" | "lb" | "top" | "topLeft" | "topRight" | "tl" | "tr" | "right" | "rightTop" | "rightBottom" | "rt" | "rb" | "bottom" | "bottomLeft" | "bottomRight" | "bl" | "br" | undefined
Legend position
Example position: 'rightTop'
maxSize
Type: number | undefined
When there are a large number of legends, specify the maximum number of columns or legend rows.
If position is horizontal (bottom, bottomLeft, bottomRight, bl, br, top, topLeft, topRight, tl, tr), maxSize controls the number of columns displayed.
If position is vertical (left, leftTop, leftBottom, lt, lb, right, rightTop, rightBottom, rt, rb), maxSize controls the number of rows displayed.
Only effective for discrete legends
Example maxSize: 2
tooltip
Type: Tooltip | undefined
Tooltip Configuration
enable
Type: false | true
Whether the tooltip function is enabled
brush
Type: Brush | undefined
Brush Configuration
Chart brush configuration
enable
Type: boolean | undefined
Whether to enable brush selection
brushType
Type: "rect" | "x" | "y" | "polygon" | undefined
Brush type
Defines the shape and direction of the brush box.
- rect: Rectangular selection, can be performed on both X and Y axes simultaneously.
- polygon: Polygon selection, click multiple points to draw an arbitrary polygon for selection.
- x: X-axis selection, only performs selection on the X-axis, no limit on the Y-axis.
- y: Y-axis selection, only performs selection on the Y-axis, no limit on the X-axis.
brushMode
Type: "single" | "multiple" | undefined
Selection mode, single or multiple choices.
Defines the selection mode.
- single: Single selection mode, only one selection box can exist at a time.
- multiple: Multiple selection mode, multiple selection boxes can exist simultaneously.
removeOnClick
Type: boolean | undefined
Whether to clear the selection box after selection ends.
inBrushStyle
Type: { opacity?: number; stroke?: string; lineWidth?: number; } | undefined
Style of selected data
Defines the style of selected data points.
opacity
Type: number | undefined
Opacity
Opacity of selected data points, range 0-1.
stroke
Type: string | undefined
Stroke color
lineWidth
Type: number | undefined
Stroke width
outOfBrushStyle
Type: { opacity?: number; stroke?: string; lineWidth?: number; } | undefined
Style of unselected data
Defines the style of unselected data points.
opacity
Type: number | undefined
Opacity
Opacity of unselected data points, range 0-1.
stroke
Type: string | undefined
Stroke color
lineWidth
Type: number | undefined
Stroke width
xAxis
Type: XBandAxis | undefined
X-axis configuration, a category axis, showing dimension values.
visible
Type: boolean | undefined
Whether the axis is visible
inverse
Type: boolean | undefined
Whether the axis is displayed in reverse, only effective for numeric axes.
zero
Type: boolean | undefined
Whether to force display of 0 on the axes. When min and max are configured, this configuration item becomes invalid. Only effective for numeric axes.
labelAutoHide
Type: boolean | undefined
Axis label, automatic hiding. If two labels overlap (interval less than autoHideGap), the label causing overlap will be automatically hidden. Only effective for category axes.
labelAutoHideGap
Type: number | undefined
Axis label, automatic hiding interval. If two labels overlap (interval less than autoHideGap), the label causing overlap will be automatically hidden. Only effective for category axes.
When autoHide is on, use autoHide, configured on autoHideSeparation.
When autoHide is off, use sampling, configured on minGap.
labelAutoRotate
Type: boolean | undefined
Axis label, automatic rotation. When the label width exceeds the axis length, the label is automatically rotated. Only effective for category axes.
labelAutoRotateAngleRange
Type: number[] | undefined
Axis label, automatic rotation angle range. When automatic rotation is enabled, specify the label rotation angle range. Only effective for category axes.
labelAutoLimit
Type: boolean | undefined
Axis label, automatic length limit. When the label width exceeds the axis length, the excess is shown as an ellipsis, and the full label is visible on hover. Only effective for category axes.
labelAutoLimitLength
Type: number | undefined
Axis label, maximum length for automatic length limit. When the label text length exceeds the maximum length, the excess is shown as an ellipsis, and the full label is visible on hover. Only effective for category axes.
label
Type: { visible?: boolean; labelColor?: string; labelFontSize?: number; labelFontWeight?: number; labelAngle?: number; } | undefined
X-axis tick label
visible
Type: boolean | undefined
Whether the label is visible
labelColor
Type: string | undefined
Label color
labelFontSize
Type: number | undefined
Label font size
labelFontWeight
Type: number | undefined
Label font weight
labelAngle
Type: number | undefined
Label rotation angle
line
Type: { visible?: boolean; lineColor?: string; lineWidth?: number; } | undefined
X-axis line
visible
Type: boolean | undefined
Whether the axis line is visible
lineColor
Type: string | undefined
Axis line color
lineWidth
Type: number | undefined
Axis line width
tick
Type: { visible?: boolean; tickInside?: boolean; tickColor?: string; tickSize?: number; } | undefined
X-axis tick
visible
Type: boolean | undefined
Whether the tick is visible
tickInside
Type: boolean | undefined
Whether the tick is oriented inwards
tickColor
Type: string | undefined
Tick color
tickSize
Type: number | undefined
Tick size
title
Type: { visible?: boolean; titleText?: string; titleColor?: string; titleFontSize?: number; titleFontWeight?: number; } | undefined
X-axis title
visible
Type: boolean | undefined
Whether the title is visible
titleText
Type: string | undefined
Title text, follows field configuration by default.
titleColor
Type: string | undefined
Title color
titleFontSize
Type: number | undefined
Title font size
titleFontWeight
Type: number | undefined
Title font weight
grid
Type: { visible?: boolean; gridColor?: string; gridWidth?: number; gridLineDash?: number[]; } | undefined
X-axis grid line
visible
Type: boolean | undefined
gridColor
Type: string | undefined
Grid line color
gridWidth
Type: number | undefined
Grid line width
gridLineDash
Type: number[] | undefined
Grid line type
animation
Type: { duration?: number; easing?: string; } | undefined
X-axis animation configuration
duration
Type: number | undefined
Animation duration
easing
Type: string | undefined
Animation easing function
yAxis
Type: YLinearAxis | undefined
Y-axis configuration, a numeric axis, showing measure values.
visible
Type: boolean | undefined
Whether the axis is visible
min
Type: number | undefined
Minimum value of the axis, higher priority than nice and zero.
max
Type: number | boolean | undefined
Maximum value of the axis, higher priority than nice and zero. If true, the maximum value is automatically calculated based on the data range.
log
Type: boolean | undefined
Whether to use a logarithmic axis, only effective for numeric axes.
logBase
Type: number | undefined
The base of the logarithmic axis, only effective for numeric axes.
nice
Type: boolean | undefined
Whether to automatically adjust the axis ticks to make labels more readable. When min and max are configured, this configuration item becomes invalid. Only effective for numeric axes.
inverse
Type: boolean | undefined
Whether the axis is displayed in reverse, only effective for numeric axes.
zero
Type: boolean | undefined
Whether to force display of 0 on the axes. When min and max are configured, this configuration item becomes invalid. Only effective for numeric axes.
autoFormat
Type: boolean | undefined
Whether to automatically format the tick labels of the numeric axis. Only effective for numeric axes. When autoFormat is true, numFormat configuration is ignored.
numFormat
Type: NumFormat | undefined
Number formatting for numeric axis, only effective for numeric axes, lower priority than autoFormat.
type
Type: "number" | "percent" | "permille" | "scientific" | undefined
Number format type, supports: number (decimal), percent (%), permille (‰), scientific notation
ratio
Type: number | undefined
Number format ratio, cannot be 0
Example - 100000 converts to 10W, ratio:10000, symbol:"W" - 100000 converts to 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Number format symbol, e.g. %, ‰
Example - 100000 converts to 10W, ratio:10000, symbol:"W" - 100000 converts to 10K, ratio:1000, symbol:"K"
thousandSeparator
Type: boolean | undefined
Thousands separator for number formatting
suffix
Type: string | undefined
Number format suffix
prefix
Type: string | undefined
Number format prefix
fractionDigits
Type: number | undefined
Decimal places for number formatting, using the browser's Intl.NumberFormat minimumFractionDigits and maximumFractionDigits; lower priority than significantDigits
Example - 1234.5678 converts to 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 converts to 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 converts to 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 converts to 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 converts to 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 converts to 1234.56780, fractionDigits:5 (roundingMode:halfCeil)
significantDigits
Type: number | undefined
Significant digits for number formatting, using the browser's Intl.NumberFormat minimumSignificantDigits and maximumSignificantDigits; higher priority than fractionDigits
Example - 1234.5678 converts to 1000, significantDigits:1 - 1234.5678 converts to 1200, significantDigits:2 - 1234.5678 converts to 1230, significantDigits:3 - 1234.5678 converts to 1234, significantDigits:4 - 1234.5678 converts to 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 converts to 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 converts to 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 converts to 1234.5678, significantDigits:8 (roundingMode:halfCeil)
roundingPriority
Type: "morePrecision" | "lessPrecision" | undefined
Rounding priority for number formatting when both significantDigits and fractionDigits are set; uses the browser's Intl.NumberFormat, following the same rules as Intl.NumberFormat's roundingPriority
Example - 1234.5678 converts to 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 converts to 1234.5678, significantDigits:3 (roundingPriority:morePrecision)
roundingMode
Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined
Rounding mode for number formatting, using the browser's Intl.NumberFormat, following the same rules as Intl.NumberFormat's roundingMode
label
Type: { visible?: boolean; labelColor?: string; labelFontSize?: number; labelFontWeight?: number; labelAngle?: number; } | undefined
X-axis tick label
visible
Type: boolean | undefined
Whether the label is visible
labelColor
Type: string | undefined
Label color
labelFontSize
Type: number | undefined
Label font size
labelFontWeight
Type: number | undefined
Label font weight
labelAngle
Type: number | undefined
Label rotation angle
line
Type: { visible?: boolean; lineColor?: string; lineWidth?: number; } | undefined
X-axis line
visible
Type: boolean | undefined
Whether the axis line is visible
lineColor
Type: string | undefined
Axis line color
lineWidth
Type: number | undefined
Axis line width
tick
Type: { visible?: boolean; tickInside?: boolean; tickColor?: string; tickSize?: number; } | undefined
X-axis tick
visible
Type: boolean | undefined
Whether the tick is visible
tickInside
Type: boolean | undefined
Whether the tick is oriented inwards
tickColor
Type: string | undefined
Tick color
tickSize
Type: number | undefined
Tick size
title
Type: { visible?: boolean; titleText?: string; titleColor?: string; titleFontSize?: number; titleFontWeight?: number; } | undefined
X-axis title
visible
Type: boolean | undefined
Whether the title is visible
titleText
Type: string | undefined
Title text, follows field configuration by default.
titleColor
Type: string | undefined
Title color
titleFontSize
Type: number | undefined
Title font size
titleFontWeight
Type: number | undefined
Title font weight
grid
Type: { visible?: boolean; gridColor?: string; gridWidth?: number; gridLineDash?: number[]; } | undefined
X-axis grid line
visible
Type: boolean | undefined
gridColor
Type: string | undefined
Grid line color
gridWidth
Type: number | undefined
Grid line width
gridLineDash
Type: number[] | undefined
Grid line type
animation
Type: { duration?: number; easing?: string; } | undefined
Y-axis animation configuration
duration
Type: number | undefined
Animation duration
easing
Type: string | undefined
Animation easing function
crosshairLine
Type: CrosshairLine | undefined
Vertical crosshair line configuration
Crosshair line configuration, a configuration type used to display crosshair lines (prompt lines) in a chart.
visible
Type: boolean | undefined
Whether to display the crosshair line
lineColor
Type: string | undefined
Crosshair line color
labelColor
Type: string | undefined
Crosshair line label color
labelVisible
Type: boolean | undefined
Whether to display the crosshair line label
labelBackgroundColor
Type: string | undefined
Crosshair line label background color
sort
Type: Sort | undefined
X-axis sort configuration
Category axis sort configuration, supports sorting based on dimensions or measures, and custom sort order.
Example - order:'asc' - orderBy:'date' or - customOrder:['2019', '2020', '2021']
order
Type: "asc" | "desc" | undefined
Sort order, optional values are 'asc' or 'desc'
Example order:'asc'
orderBy
Type: string | undefined
Sort field dependencies, can be dimension ID or measure ID.
Example - orderBy:'date' - orderBy:'profit'
customOrder
Type: string[] | undefined
Custom sort order, applied directly to the category axis.
sortLegend
Type: SortLegend | undefined
Legend sort configuration
Legend sort configuration, supports sorting based on dimensions or measures, and custom sort order; the sort array follows a left-to-right or top-to-bottom order.
Example - order:'asc' - orderBy:'date' or - customOrder:['2019', '2020', '2021']
order
Type: "asc" | "desc" | undefined
Sort order, optional values are 'asc' or 'desc'
Example order:'asc'
orderBy
Type: string | undefined
Sort field dependencies, can be dimension ID or measure ID.
Example - orderBy:'date' - orderBy:'profit'
customOrder
Type: string[] | undefined
Custom sort order, applied directly to the legend; ascending from left to right or top to bottom, descending from right to left or bottom to top.
theme
Type: Theme | undefined
Theme configuration
Theme
Built-in light and dark themes; new themes can be customized via registerTheme.
length
Type: number
brand
Type: brand
pointStyle
Type: PointStyle | PointStyle[] | undefined
Point element style configuration
selector
Type: Selector | Selectors | undefined
Data selector
If selector is configured, it provides four types of data matching: numeric selector, local data selector, conditional dimension selector, and conditional measure selector.
If selector is not configured, the style takes effect globally.
Example Numeric selector selector = "tool" selector = ["tool", "book"] selector = 100 selector = [100, 200]
Local data selector selector = { profit: 100 } selector = [{ profit: 100 }, { profit: 200 }]
Conditional dimension selector selector = { field: 'category', operator: 'in', value: 'tool' } selector = { field: 'category', operator: 'not in', value: 'book' }
Conditional measure selector selector = { field: 'profit', operator: '>=', value: 100 } selector = { field: 'profit', operator: 'between' value: [100, 300] }
field
Type: string
Dimension field, ID of an item in dimensions
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select the value of the dimension field in the data item, supports arrays
dynamicFilter
Type: ChartDynamicFilter | undefined
Animated filter (AI-generated code execution)
Implementation of complex data filtering logic through AI-generated JavaScript code. Suitable for scenarios difficult to express with static selectors, such as Top N, statistical analysis, and complex conditions.
Core capabilities:
- Supports any complex data filtering conditions
- Use built-in utility functions for data manipulation
- Safe execution in the browser environment (Web Worker sandbox)
Environment requirement: Only supports browser environment, Node.js environment will use fallback
Note: selector and dynamicFilter cannot be used simultaneously, dynamicFilter has higher priority
Chart animated filter configuration
Filter chart markers (bars, points, etc.) through AI-generated JavaScript code
type
Type: "row-with-field"
description
Type: string | undefined
Description of the user's filtering needs (natural language)
Example "Highlight bars with sales greater than 1000"
"Highlight the bar with the highest profit margin in each region"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions can be used (access via _ or R)
- Input parameter: data (array), each item includes a __row_index field representing the row number
- Must return an array of row index and field combinations: Array<{ __row_index: number, field: string }>
- __row_index represents the row number of the original data item, field represents the field to be highlighted
- Prohibited use: eval, Function, asynchronous operations, DOM API, network requests
Example Highlight the sales field of data items with sales greater than 1000
Highlight the data item with the highest profit margin in each region
Highlight data items filtered by multiple conditions
fallback
Type: Selector | Selectors | undefined
Fallback plan when code execution fails or the environment is not supported
field
Type: string
Dimension field, ID of an item in dimensions
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select the value of the dimension field in the data item, supports arrays
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Animated filter execution result (runtime field)
Written during the prepare() phase, read-only at runtime
success
Type: false | true
data
Type: T[] | undefined
error
Type: string | undefined
pointVisible
Type: boolean | undefined
Whether points are visible
pointSize
Type: number | undefined
Point size
Point size
pointColor
Type: string | undefined
Point element color
Point element color
pointColorOpacity
Type: number | undefined
Point element color opacity
Point element color opacity
pointBorderColor
Type: string | undefined
Point element border color
Point element border color
pointBorderWidth
Type: number | undefined
Point element border width
Point element border width
pointBorderStyle
Type: "solid" | "dashed" | "dotted" | undefined
Point element border style
Point element border style
Example solid
dashed
dotted
lineStyle
Type: LineStyle | LineStyle[] | undefined
Line element style configuration
selector
Type: Selector | Selectors | undefined
Data selector
If selector is configured, it provides four types of data matching: numeric selector, local data selector, conditional dimension selector, and conditional measure selector.
If selector is not configured, the style takes effect globally.
Example Numeric selector selector = "tool" selector = ["tool", "book"] selector = 100 selector = [100, 200]
Local data selector selector = { profit: 100 } selector = [{ profit: 100 }, { profit: 200 }]
Conditional dimension selector selector = { field: 'category', operator: 'in', value: 'tool' } selector = { field: 'category', operator: 'not in', value: 'book' }
Conditional measure selector selector = { field: 'profit', operator: '>=', value: 100 } selector = { field: 'profit', operator: 'between' value: [100, 300] }
field
Type: string
Dimension field, ID of an item in dimensions
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select the value of the dimension field in the data item, supports arrays
dynamicFilter
Type: ChartDynamicFilter | undefined
Animated filter (AI-generated code execution)
Implementation of complex data filtering logic through AI-generated JavaScript code. Suitable for scenarios difficult to express with static selectors, such as Top N, statistical analysis, and complex conditions.
Core capabilities:
- Supports any complex data filtering conditions
- Use built-in utility functions for data manipulation
- Safe execution in the browser environment (Web Worker sandbox)
Environment requirement: Only supports browser environment, Node.js environment will use fallback
Note: selector and dynamicFilter cannot be used simultaneously, dynamicFilter has higher priority
Chart animated filter configuration
Filter chart markers (bars, points, etc.) through AI-generated JavaScript code
type
Type: "row-with-field"
description
Type: string | undefined
Description of the user's filtering needs (natural language)
Example "Highlight bars with sales greater than 1000"
"Highlight the bar with the highest profit margin in each region"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions can be used (access via _ or R)
- Input parameter: data (array), each item includes a __row_index field representing the row number
- Must return an array of row index and field combinations: Array<{ __row_index: number, field: string }>
- __row_index represents the row number of the original data item, field represents the field to be highlighted
- Prohibited use: eval, Function, asynchronous operations, DOM API, network requests
Example Highlight the sales field of data items with sales greater than 1000
Highlight the data item with the highest profit margin in each region
Highlight data items filtered by multiple conditions
fallback
Type: Selector | Selectors | undefined
Fallback plan when code execution fails or the environment is not supported
field
Type: string
Dimension field, ID of an item in dimensions
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select the value of the dimension field in the data item, supports arrays
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Animated filter execution result (runtime field)
Written during the prepare() phase, read-only at runtime
success
Type: false | true
data
Type: T[] | undefined
error
Type: string | undefined
lineVisible
Type: boolean | undefined
Whether the line segment is visible
lineSmooth
Type: boolean | undefined
Whether the line segment is smooth
lineColor
Type: string | undefined
Line segment color
lineColorOpacity
Type: number | undefined
Line segment color opacity
lineWidth
Type: number | undefined
Line segment width
annotationPoint
Type: AnnotationPoint | AnnotationPoint[] | undefined
Annotation point configuration
selector
Type: Selector | Selectors | undefined
Selector for annotation points, used to select data points.
field
Type: string
Dimension field, ID of an item in dimensions
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select the value of the dimension field in the data item, supports arrays
dynamicFilter
Type: ChartDynamicFilter | undefined
Animated filter (AI-generated code execution)
Implementation of complex data filtering logic through AI-generated JavaScript code. Suitable for scenarios difficult to express with static selectors, such as Top N, statistical analysis, and complex conditions.
Core capabilities:
- Supports any complex data filtering conditions
- Use built-in utility functions for data manipulation
- Safe execution in the browser environment (Web Worker sandbox)
Environment requirement: Only supports browser environment, Node.js environment will use fallback
Note: selector and dynamicFilter cannot be used simultaneously, dynamicFilter has higher priority
Chart animated filter configuration
Filter chart markers (bars, points, etc.) through AI-generated JavaScript code
type
Type: "row-with-field"
description
Type: string | undefined
Description of the user's filtering needs (natural language)
Example "Highlight bars with sales greater than 1000"
"Highlight the bar with the highest profit margin in each region"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions can be used (access via _ or R)
- Input parameter: data (array), each item includes a __row_index field representing the row number
- Must return an array of row index and field combinations: Array<{ __row_index: number, field: string }>
- __row_index represents the row number of the original data item, field represents the field to be highlighted
- Prohibited use: eval, Function, asynchronous operations, DOM API, network requests
Example Highlight the sales field of data items with sales greater than 1000
Highlight the data item with the highest profit margin in each region
Highlight data items filtered by multiple conditions
fallback
Type: Selector | Selectors | undefined
Fallback plan when code execution fails or the environment is not supported
field
Type: string
Dimension field, ID of an item in dimensions
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select the value of the dimension field in the data item, supports arrays
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Animated filter execution result (runtime field)
Written during the prepare() phase, read-only at runtime
success
Type: false | true
data
Type: T[] | undefined
error
Type: string | undefined
text
Type: string | string[] | undefined
Annotation text
Example 'Annotation text'
textColor
Type: string | undefined
Text color
Example 'red'
textFontSize
Type: number | undefined
Text font size
Example 12
textFontWeight
Type: number | undefined
Text font weight
Example 400
textAlign
Type: "left" | "right" | "center" | undefined
Text alignment; generally set to 'right', where text is displayed to the left of the annotation point to ensure it's in the chart's visible area.
It is recommended to set to 'right' to ensure the text is on the left side of the annotation point.
right: Text is on the left side of the annotation point, with its right edge aligned to the point.
left: Text is on the right side of the annotation point, with its left edge aligned to the point.
center: Text is centered on the annotation point, with its center aligned to the point.
Example 'right' text is on the left side of the annotation point
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Vertical text alignment; generally set to 'top', where text is displayed at the bottom of the annotation point to ensure it's in the chart's visible area.
It is recommended to set to 'top' to ensure the text is fully displayed in the chart's visible area.
top: Text is at the bottom of the annotation point, with its top edge aligned to the point.
middle: Text is centered on the annotation point, with its center aligned to the point.
bottom: Text is above the annotation point, with its bottom edge aligned to the point.
Example 'top' text is at the bottom of the annotation point
textBackgroundVisible
Type: boolean | undefined
Whether the background is visible
Example true
textBackgroundColor
Type: string | undefined
Background color
Example 'red'
textBackgroundBorderColor
Type: string | undefined
Background border color
Example 'red'
textBackgroundBorderWidth
Type: number | undefined
Background border width
Example 2
textBackgroundBorderRadius
Type: number | undefined
Background border radius
Example 4
textBackgroundPadding
Type: number | undefined
Background padding
Example 4
offsetY
Type: number | undefined
Overall pixel offset of the annotation point in the Y direction. When the point is above the chart (larger values), positive values are recommended; when below (smaller values), negative values are recommended.
Negative values offset upwards, e.g., set to -10 to move the entire component (text, background) up by 10 pixels.
Positive values offset downwards, e.g., set to 10 to move the entire component (text, background) down by 10 pixels.
Example offsetY: 5, the overall annotation point offsets down by 5 pixels
offsetX
Type: number | undefined
Overall pixel offset of the annotation point in the X direction. When the point is on the left side of the chart (start of the category axis), positive values are recommended; when on the right (end of the axis), negative values are recommended.
Negative values offset to the left, e.g., set to -10 to move the entire component (text, background) left by 10 pixels.
Positive values offset to the right, e.g., set to 10 to move the entire component (text, background) right by 10 pixels.
Example offsetX: 5, the overall annotation point offsets right by 5 pixels
annotationVerticalLine
Type: AnnotationVerticalLine | AnnotationVerticalLine[] | undefined
Dimension value annotation line configuration
xValue
Type: string | number | (string | number)[] | undefined
Fixed X value for annotating vertical lines. If the category axis is on the X-axis, input a dimension value; if the numeric axis is on the X-axis, input a specific numeric value.
dynamicFilter
Type: ValueDynamicFilter | undefined
Animated filter (AI-generated code execution)
Animated calculation of annotation line values through AI-generated JavaScript code. Suitable for cases requiring dynamic determination of annotation line positions based on data, such as average, maximum, quantile, business lines, etc.
Only supports browser environment (requires Web Worker).
type
Type: "value"
description
Type: string | undefined
Description of the user's filtering needs (natural language)
Example "Get the highest sales value as an annotation line reference"
"Calculate the average sales for the annotation line"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions can be used (access via _ or R)
- Input parameter: data (array)
- Must return a single numeric value or string: number | string
- Applicable scenarios: Animated numeric values needed for annotation lines (horizontal, vertical)
- Prohibited use: eval, Function, asynchronous operations, DOM API, network requests
Example Get the maximum sales value as an annotation line value
Calculate the average for the annotation line
Get the quantile for the annotation line
Calculate the target value based on conditions
fallback
Type: string | number | undefined
Fallback plan when code execution fails or the environment is not supported
result
Type: { success: boolean; data?: number | string; } | undefined
Animated filter execution result (runtime field)
Written during the prepare() phase, read-only at runtime
success
Type: false | true
data
Type: string | number | undefined
text
Type: string | string[] | undefined
Annotation text
Example 'Annotation text'
textPosition
Type: "outsideStart" | "outsideEnd" | "outsideMiddle" | "insideStart" | "insideMiddle" | "insideEnd" | undefined
Text position; the location of the annotation line label (relative to the line).
Example 'outsideEnd'
textColor
Type: string | undefined
Text color
Example 'red'
textFontSize
Type: number | undefined
Text font size
Example 12
textFontWeight
Type: number | undefined
Text font weight
Example 400
textAlign
Type: "left" | "right" | "center" | undefined
Text alignment; generally no setting needed.
Recommended to set to 'right' to ensure text is on the left side of the annotation line.
right: Text is on the left side of the reference line, with its right edge aligned to the (vertical) annotation line.
left: Text is on the right side of the reference line, with its left edge aligned to the (vertical) annotation line.
center: Text is centered on the reference line, with its center aligned to the (vertical) annotation line.
Example 'right'
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Vertical text alignment; generally no setting needed.
Recommended to set to 'top' to ensure the text is fully displayed in the chart's visible area.
top: Text is at the bottom of the reference line, with its top edge aligned to the end of the (vertical) annotation line.
middle: Text is centered on the reference line, with its center aligned to the end of the (vertical) annotation line.
bottom: Text is at the top of the reference line, with its bottom edge aligned to the end of the (vertical) annotation line.
Example 'top'
lineVisible
Type: boolean | undefined
Whether the line is visible
Example true
lineColor
Type: string | undefined
Line color
Example 'red'
lineWidth
Type: number | undefined
Line width
Example 2
lineStyle
Type: "solid" | "dashed" | "dotted" | undefined
Line style
Example 'solid'
textBackgroundVisible
Type: boolean | undefined
Whether the background is visible
Example true
textBackgroundColor
Type: string | undefined
Background color
Example 'red'
textBackgroundBorderColor
Type: string | undefined
Background border color
Example 'red'
textBackgroundBorderWidth
Type: number | undefined
Background border width
Example 2
textBackgroundBorderRadius
Type: number | undefined
Background border radius
Example 4
textBackgroundPadding
Type: number | undefined
Background padding
Example 4
annotationHorizontalLine
Type: AnnotationHorizontalLine | AnnotationHorizontalLine[] | undefined
Numeric annotation line configuration
yValue
Type: string | number | (string | number)[] | undefined
Fixed Y value for annotating horizontal lines. If the category axis is on the Y-axis, input a dimension value; if the numeric axis is on the Y-axis, input a specific numeric value.
dynamicFilter
Type: ValueDynamicFilter | undefined
Animated filter (AI-generated code execution)
Animated calculation of annotation line values through AI-generated JavaScript code. Suitable for cases requiring dynamic determination of annotation line positions based on data, such as average, maximum, quantile, business lines, etc.
Only supports browser environment (requires Web Worker).
type
Type: "value"
description
Type: string | undefined
Description of the user's filtering needs (natural language)
Example "Get the highest sales value as an annotation line reference"
"Calculate the average sales for the annotation line"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions can be used (access via _ or R)
- Input parameter: data (array)
- Must return a single numeric value or string: number | string
- Applicable scenarios: Animated numeric values needed for annotation lines (horizontal, vertical)
- Prohibited use: eval, Function, asynchronous operations, DOM API, network requests
Example Get the maximum sales value as an annotation line value
Calculate the average for the annotation line
Get the quantile for the annotation line
Calculate the target value based on conditions
fallback
Type: string | number | undefined
Fallback plan when code execution fails or the environment is not supported
result
Type: { success: boolean; data?: number | string; } | undefined
Animated filter execution result (runtime field)
Written during the prepare() phase, read-only at runtime
success
Type: false | true
data
Type: string | number | undefined
text
Type: string | string[] | undefined
Annotation text
Example 'Annotation text'
textPosition
Type: "outsideStart" | "outsideEnd" | "outsideMiddle" | "insideStart" | "insideMiddle" | "insideEnd" | undefined
Text position
The location of the annotation line label (relative to the line).
Example 'outsideEnd'
textColor
Type: string | undefined
Text color
Example 'red'
textFontSize
Type: number | undefined
Text font size
Example 12
textFontWeight
Type: number | undefined
Text font weight
Example 400
textAlign
Type: "left" | "right" | "center" | undefined
Text alignment; generally no setting needed.
Recommended to set to 'right' to ensure text is on the left side of the annotation line.
right: Text is on the left side of the reference line, with its right edge aligned to the (horizontal) annotation line's end.
left: Text is on the right side of the reference line, with its left edge aligned to the (horizontal) annotation line's end.
center: Text is centered on the reference line, with its center aligned to the (horizontal) annotation line's end.
Example 'right'
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Vertical text alignment; generally no setting needed.
Recommended to set to 'top' to ensure the text is fully displayed in the chart's visible area.
top: Text is at the bottom of the reference line, with its top edge aligned to the (horizontal) annotation line.
middle: Text is centered on the reference line, with its center aligned to the (horizontal) annotation line.
bottom: Text is at the top of the reference line, with its bottom edge aligned to the (horizontal) annotation line.
Example 'top'
textBackgroundVisible
Type: boolean | undefined
Whether the background is visible
Example true
textBackgroundColor
Type: string | undefined
Background color
Example 'red'
textBackgroundBorderColor
Type: string | undefined
Background border color
Example 'red'
textBackgroundBorderWidth
Type: number | undefined
Background border width
Background border width
Example 2
textBackgroundBorderRadius
Type: number | undefined
Background border radius
Example 4
textBackgroundPadding
Type: number | undefined
Background padding
Example 4
lineVisible
Type: boolean | undefined
Whether the line is visible
Whether the line is visible
Example true
lineColor
Type: string | undefined
Line color
Example 'red'
lineWidth
Type: number | undefined
Line width
Example 2
lineStyle
Type: "solid" | "dashed" | "dotted" | undefined
Line style
Example 'solid'
splitLine
Type: boolean | { positiveColor?: string; negativeColor?: string; } | undefined
Whether to enable the function of splitting the main line into two segments.
positiveColor
Type: string | undefined
Primary color for the part greater than the annotation value.
negativeColor
Type: string | undefined
Primary color for the part smaller than the annotation value.
annotationArea
Type: AnnotationArea | AnnotationArea[] | undefined
Annotation area configuration
selector
Type: AreaSelector | AreaSelectors | undefined
Data tagging based on selected data.
field
Type: string
Dimension field, ID of an item in dimensions
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the value of the dimension field is in 'value'
- not in: Select data items where the value of the dimension field is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select the value of the dimension field in the data item, supports arrays
text
Type: string | string[] | undefined
Annotation text
Example 'Annotation text'
textPosition
Type: "left" | "top" | "topLeft" | "topRight" | "right" | "bottom" | "bottomLeft" | "bottomRight" | undefined
Text position
Example 'top'
textColor
Type: string | undefined
Text color
Example 'red'
textFontSize
Type: number | undefined
Text font size
Example 12
textFontWeight
Type: number | undefined
Text font weight
Example 400
textAlign
Type: "left" | "right" | "center" | undefined
Text alignment; generally set to 'right', where text is displayed in the middle of the annotation area to ensure it's in the chart's visible area.
Recommended to set to 'center' to ensure the text is in the middle of the annotation area.
right: Text is on the left side of the annotation area, with its right edge aligned to the area.
left: Text is on the right side of the annotation area, with its left edge aligned to the area.
center: Text is centered in the annotation area, with its center aligned to the area.
Example 'center' Text is in the middle of the annotation area
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Vertical text alignment; generally set to 'top', where text is displayed at the bottom of the annotation area to ensure it's in the chart's visible area.
Recommended to set to 'top' to ensure the text is fully displayed in the chart's visible area.
top: Text is at the bottom of the annotation area, with its top edge aligned to the area.
middle: Text is centered on the annotation area, with its center aligned to the area.
bottom: Text is at the top of the annotation area, with its bottom edge aligned to the area.
Example 'top' Text is at the bottom of the annotation area
textBackgroundVisible
Type: boolean | undefined
Whether the background is visible
Example true
textBackgroundColor
Type: string | undefined
Background color
Example 'red'
textBackgroundBorderColor
Type: string | undefined
Background border color
Background border color
Example 'red'
textBackgroundBorderWidth
Type: number | undefined
Background border width
Example 2
textBackgroundBorderRadius
Type: number | undefined
Background border radius
Background border radius
Example 4
textBackgroundPadding
Type: number | undefined
Background padding
Example 4
areaColor
Type: string | undefined
Annotation area color
Example 'red'
areaColorOpacity
Type: number | undefined
Annotation area opacity
Example 0.5
areaBorderColor
Type: string | undefined
Annotation area border color
Example 'red'
areaBorderWidth
Type: number | undefined
Annotation area border width
Example 2
areaBorderRadius
Type: number | undefined
Annotation area border radius
Example 4
areaLineDash
Type: number[] | undefined
Line style of the annotation area border.
Example [2, 2]
outerPadding
Type: number | undefined
Margin of the annotation area.
Example 0
dimensionLinkage
Type: DimensionLinkage | undefined
Dimension linkage configuration
Pivot chart dimension linkage configuration
enable
Type: false | true
Whether to enable pivot chart dimension linkage.
showTooltip
Type: boolean | undefined
Whether to display tooltips for all sub-charts corresponding to the dimensions.
showLabel
Type: boolean | undefined
Whether to display the label corresponding to the crosshair.
locale
Type: Locale | undefined
Locale configuration