Scatter
-
Recommended field configuration:
2measures,1dimension -
Supports data reshaping: at least
1measure,0dimensions
The scatter chart supports the following visual channels:
xAxis : x-axis channel, supports multiple measures, mapped to the x-axis by measure value
yAxis : y-axis channel, supports multiple measures, mapped to the y-axis by measure value
color : color channel, supports multiple dimensions or one measure, dimension colors distinguish different data series, measure colors linearly map measure values to graphic colors
tooltip: tooltip channel, supports multiple dimensions and multiple measures, displayed when hovering over a data point
label : label channel, supports multiple dimensions and multiple measures, displays data labels on data points
Scatter chart, suitable for showing data distribution, using point positions to represent data values.
Applicable scenarios:
- Analyzing data distribution characteristics, such as central tendency, distribution range, outliers, etc.
Data requirements:
-
At least 2 numerical fields
-
The first measure field will be placed on the X-axis, remaining measures will be merged and mapped to the Y-axis
-
Measure names and dimension names will be merged and displayed as legend items
Features enabled by default:
- Legends, axes, data point markers, tooltips, and trend lines are enabled by default
chartType
Type: "scatter"
Scatter chart
Scatter chart, suitable for showing data distribution, using point positions to represent data values.
Example 'scatter'
dataset
Type: Record[]
Dataset
A TidyData-compliant, already aggregated dataset used to define the chart data source and structure. User input does not need manual processing; VSeed automatically reshapes the data. Scatter chart data is ultimately converted to 2 dimensions and 1 measure.
Example [{month:'Jan', value:100}, {month:'Feb', value:150}, {month:'Mar', value:120}]
dimensions
Type: ScatterDimension[] | undefined
Dimensions
The first dimension of the Scatter chart is mapped to the X-axis; remaining dimensions are merged with measure names (when multiple measures exist) and displayed as legend items.
Example [{id: "month", alias: "Month"}]
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: "color" | "detail" | "tooltip" | "label" | "row" | "column" | undefined
Channel to which the dimension is mapped
- 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: ScatterMeasure[] | undefined
Scatter chart measures
Example [ { id: 'profit', alias: 'Profit', encoding: 'xAxis' }, { id: 'sales', alias: 'Sales', encoding: 'yAxis' } ]
id
Type: string
Field ID corresponding to the dimension
alias
Type: string | undefined
Dimension alias
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万
- 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 10万, ratio:10000, symbol:"万"
- 100000 converts to 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Number format symbol, e.g. %, ‰
Example
- 100000 converts to 10万, ratio:10000, symbol:"万"
- 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 10万, ratio:10000, symbol:"万"
- 100000 converts to 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Number format symbol, e.g. %, ‰
Example
- 100000 converts to 10万, ratio:10000, symbol:"万"
- 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: "xAxis" | "color" | "tooltip" | "label" | "yAxis" | "size" | undefined
Channel to which the measure is mapped
- xAxis: measure mapped to the x-axis
- yAxis: measure mapped to the y-axis
- size: measure mapped to size
- color: measure mapped to color
- label: measure mapped to label
- tooltip: measure mapped to tooltip
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
Pagination configuration for the chart's pagination feature
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'
size
Type: number | number[] | undefined
Scatter chart measure size, used to define the size or size range of data points in the Scatter chart.
- If size is a single number, e.g., 10, it means the size of data points is fixed at 10.
- If size is an array of length 2, e.g., [10, 40], it means the size of data points ranges from 10 to 40.
- Mutually exclusive with sizeRange; has lower priority than sizeRange.
sizeRange
Type: number | number[] | undefined
Scatter chart measure size range, used to define the size range of data points in the Scatter chart.
- If sizeRange is an array of length 2, e.g., [10, 40], it means the size of data points ranges from 10 to 40.
- If sizeRange is a single number, e.g., 10, it means the size of data points is fixed at 10.
- Mutually exclusive with size; has higher priority than size.
backgroundColor
Type: BackgroundColor
Chart background color
Background color can be a color string (e.g. 'red', 'blue'), or a hex, rgb, or rgba value (e.g. '#ff0000', 'rgba(255,0,0,0.5)')
color
Type: Color | undefined
Color
Color configuration for defining the chart's color scheme, including color lists, color mappings, and color gradients.
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
Label configuration for defining chart data labels, including their position, format, and style.
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 measure values in percentage
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
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万
- 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 10万, ratio:10000, symbol:"万"
- 100000 converts to 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Number format symbol, e.g. %, ‰
Example
- 100000 converts to 10万, ratio:10000, symbol:"万"
- 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 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 relationship between selectors is 'Or'
field
Type: string
Dimension field, the ID of a dimension item
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select data items based on dimension values, supports arrays
dynamicFilter
Type: ChartDynamicFilter | undefined
Dynamic filter (AI-generated code execution)
Implement complex data filtering logic via AI-generated JavaScript code
Key Capabilities:
- Supports any complex data filtering conditions
- Use built-in utility functions for data manipulation
- Secure execution in browser environment (Web Worker sandbox)
Environment requirements: Only supports browser environment; Node.js environment will use fallback
Note: selector and dynamicFilter cannot be used simultaneously; dynamicFilter has higher priority
Chart dynamic filter configuration
Filter chart markers (bars, points, etc.) via AI-generated JavaScript code
type
Type: "row-with-field"
description
Type: string | undefined
User requirement description (natural language)
Example "Highlight columns with sales greater than 1000"
"Highlight the column with the highest profit margin in each region"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions (accessible via _ or R) are allowed
- Input parameters: data (array), each item contains 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 original row number; field represents the field to highlight
- Forbidden to use: eval, Function, asynchronous operations, DOM API, network requests
Example Highlight the 'sales' field for 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 environment is not supported
field
Type: string
Dimension field, the ID of a dimension item
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select data items based on dimension values, supports arrays
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Dynamic filter execution results (runtime field)
Populated during the prepare() stage, read-only at runtime
success
Type: false | true
data
Type: T[] | undefined
error
Type: string | undefined
legend
Type: Legend | undefined
legend
Legend configuration, used to define chart legends, including position, format, style, etc.
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
Label 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
Maximum number of columns or rows when many legend items exist
If position is horizontal (bottom, bottomLeft, bottomRight, bl, br, top, topLeft, topRight, tl, tr), maxSize controls the number of columns.
If position is vertical (left, leftTop, leftBottom, lt, lb, right, rightTop, rightBottom, rt, rb), maxSize controls the number of rows.
Only effective for discrete legends
Example maxSize: 2
tooltip
Type: Tooltip | undefined
tooltips
Tooltip configuration, used to define chart tooltips, including position, format, style, etc.
enable
Type: false | true
Whether label functionality is enabled
brush
Type: Brush | undefined
Brush Selection
Brush configuration, used to enable/disable brush selection capability
Chart brush selection configuration
enable
Type: boolean | undefined
Whether brush selection is enabled
brushType
Type: "rect" | "x" | "y" | "polygon" | undefined
Brush type
Defines the shape and selection direction of the brush
- rect: rectangular brush selection; can select in both X-axis and Y-axis directions at the same time
- polygon: polygon brush selection; draws an arbitrary polygon by clicking multiple points
- x: X-axis brush selection; only selects in the X-axis direction, with no restriction in the Y-axis direction
- y: Y-axis brush selection; only selects in the Y-axis direction, with no restriction in the X-axis direction
brushMode
Type: "single" | "multiple" | undefined
Brush mode, single or multiple selection
Define the selection mode
- single: Single selection mode, only one brush box allowed at a time
- multiple: Multiple selection mode, multiple brush boxes can exist simultaneously
removeOnClick
Type: boolean | undefined
Whether to clear the selection box when selection ends
inBrushStyle
Type: { opacity?: number; stroke?: string; lineWidth?: number; } | undefined
Style for selected data items
Define the style for data points within the brush
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 for unselected data items
Define the style for data points outside the brush
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
animation
Type: ScatterAnimation | undefined
Animation configuration
Chart animation configuration, with available effects constrained by chart type.
enable
Type: boolean | undefined
Whether to enable line/area chart animation
params
Type: ScatterAnimationParams | undefined
Scatter chart animation parameters
appear
Type: ScatterAppearAnimation | undefined
Scatter chart appear animation configuration
effects
Type: ("growth" | "scale")[] | undefined
Scatter chart appear effects, supporting growth and scale animations
enable
Type: boolean | undefined
Whether to enable the current animation stage
ease
Type: string | undefined
Animation easing function
duration
Type: number | undefined
Animation duration, in milliseconds
color
Type: string | undefined
Animation highlight or atmosphere color
update
Type: ScatterUpdateAnimation | undefined
Scatter chart update animation configuration
effects
Type: "growth"[] | undefined
Line/area chart update effects, supporting growth animation
enable
Type: boolean | undefined
Whether to enable the current animation stage
ease
Type: string | undefined
Animation easing function
duration
Type: number | undefined
Animation duration, in milliseconds
color
Type: string | undefined
Animation highlight or atmosphere color
loop
Type: ScatterAnimationLoop | undefined
Scatter chart loop animation configuration
enable
Type: boolean | undefined
Whether to enable loop animation
interval
Type: number | undefined
Loop animation interval, in milliseconds
loop
Type: ScatterLoopAnimation | undefined
Scatter chart loop animation configuration
effects
Type: ScatterLoopEffect[] | undefined
Scatter chart loop effects
enable
Type: boolean | undefined
Whether to enable the current animation stage
ease
Type: string | undefined
Animation easing function
duration
Type: number | undefined
Animation duration, in milliseconds
color
Type: string | undefined
Animation highlight or atmosphere color
atmosphere
Type: PointAtmosphereConfig | undefined
Line/area chart atmosphere animation configuration
ease
Type: string | undefined
Atmosphere animation easing function
color
Type: string | undefined
Atmosphere animation color
effect
Type: PointAtmosphereEffect | undefined
Atmosphere animation effect, supporting ripple, fade, and breath effects
xAxis
Type: XLinearAxis | undefined
X-axis; a numeric axis. X-axis configuration used to define the chart's X-axis, including its position, format, style, etc.
visible
Type: boolean | undefined
Whether the axis is visible
min
Type: number | undefined
The minimum value of the axis, takes priority over 'nice' and 'zero'
max
Type: number | boolean | undefined
The maximum value of the axis, takes priority over 'nice' and 'zero'; if true, it 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 scale interval to make labels more readable; this is ignored if min and max are set and is only effective for numeric axes.
inverse
Type: boolean | undefined
Whether the axis is reversed, only effective for numeric axes
zero
Type: boolean | undefined
Whether to force display of 0 on the axis; this is ignored if min and max are set and is only effective for numeric axes.
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万
- 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 10万, ratio:10000, symbol:"万"
- 100000 converts to 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Number format symbol, e.g. %, ‰
Example
- 100000 converts to 10万, ratio:10000, symbol:"万"
- 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 label is visible
lineColor
Type: string | undefined
Axis line color
lineWidth
Type: number | undefined
Stroke width
tick
Type: { visible?: boolean; tickInside?: boolean; tickColor?: string; tickSize?: number; } | undefined
X-axis tick
visible
Type: boolean | undefined
Whether the label is visible
tickInside
Type: boolean | undefined
Whether the tick is oriented inward
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 label is visible
titleText
Type: string | undefined
Title text, defaults to the field configuration
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
Numeric axis, Y-axis configuration, used to define the Y-axis including position, format, style, etc.
visible
Type: boolean | undefined
Whether the axis is visible
min
Type: number | undefined
The minimum value of the axis, takes priority over 'nice' and 'zero'
max
Type: number | boolean | undefined
The maximum value of the axis, takes priority over 'nice' and 'zero'; if true, it 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 scale interval to make labels more readable; this is ignored if min and max are set and is only effective for numeric axes.
inverse
Type: boolean | undefined
Whether the axis is reversed, only effective for numeric axes
zero
Type: boolean | undefined
Whether to force display of 0 on the axis; this is ignored if min and max are set and is only effective for numeric axes.
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万
- 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 10万, ratio:10000, symbol:"万"
- 100000 converts to 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Number format symbol, e.g. %, ‰
Example
- 100000 converts to 10万, ratio:10000, symbol:"万"
- 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 label is visible
lineColor
Type: string | undefined
Axis line color
lineWidth
Type: number | undefined
Stroke width
tick
Type: { visible?: boolean; tickInside?: boolean; tickColor?: string; tickSize?: number; } | undefined
X-axis tick
visible
Type: boolean | undefined
Whether the label is visible
tickInside
Type: boolean | undefined
Whether the tick is oriented inward
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 label is visible
titleText
Type: string | undefined
Title text, defaults to the field configuration
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
crosshairLine
Type: CrosshairLine | undefined
Vertical indicator line
Vertical indicator line displayed when hovering over the chart
Crosshair configuration, used for displaying crosshair lines (indicator lines) on the chart
visible
Type: boolean | undefined
Whether the axis is visible
lineColor
Type: string | undefined
Crosshair line color
labelColor
Type: string | undefined
Label font color
labelVisible
Type: boolean | undefined
Whether to display the crosshair label
labelBackgroundColor
Type: string | undefined
Label background color
theme
Type: Theme | undefined
Chart theme. Themes are lower-priority feature configurations containing common settings shared by all chart types and chart-specific settings shared within one chart class.
Built-in light and dark themes are available; users can define custom themes via Builder.
Theme
Built-in light and dark themes; new themes can be customized via registerTheme.
Example 'dark'
'light'
'customThemeName'
length
Type: number
brand
Type: brand
pointStyle
Type: PointStyle | PointStyle[] | undefined
Point element style configuration, used to define the style for chart point elements, including colors, borders, etc.
Supports global styles or conditional style configurations.
Data filter.
If a selector is configured, it provides four types of data matching: numeric selector, partial data selector, conditional dimension selector, and conditional measure selector.
If no selector is configured, the style applies globally.
selector
Type: Selector | Selectors | undefined
Data selector
If a selector is configured, it provides four types of data matching: numeric selector, partial data selector, conditional dimension selector, and conditional measure selector.
If no selector is configured, the style applies globally.
Example Numeric selector selector = "tool" selector = ["tool", "book"] selector = 100 selector = [100, 200]
Partial 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, the ID of a dimension item
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select data items based on dimension values, supports arrays
dynamicFilter
Type: ChartDynamicFilter | undefined
Dynamic filter (AI-generated code execution)
Implement complex data filtering logic via AI-generated JavaScript code
Key Capabilities:
- Supports any complex data filtering conditions
- Use built-in utility functions for data manipulation
- Secure execution in browser environment (Web Worker sandbox)
Environment requirements: Only supports browser environment; Node.js environment will use fallback
Note: selector and dynamicFilter cannot be used simultaneously; dynamicFilter has higher priority
Chart dynamic filter configuration
Filter chart markers (bars, points, etc.) via AI-generated JavaScript code
type
Type: "row-with-field"
description
Type: string | undefined
User requirement description (natural language)
Example "Highlight columns with sales greater than 1000"
"Highlight the column with the highest profit margin in each region"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions (accessible via _ or R) are allowed
- Input parameters: data (array), each item contains 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 original row number; field represents the field to highlight
- Forbidden to use: eval, Function, asynchronous operations, DOM API, network requests
Example Highlight the 'sales' field for 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 environment is not supported
field
Type: string
Dimension field, the ID of a dimension item
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select data items based on dimension values, supports arrays
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Dynamic filter execution results (runtime field)
Populated during the prepare() stage, read-only at runtime
success
Type: false | true
data
Type: T[] | undefined
error
Type: string | undefined
pointVisible
Type: boolean | undefined
Whether the point is visible
pointSize
Type: number | undefined
Point size
pointColor
Type: string | undefined
Point element color
pointColorOpacity
Type: number | undefined
Point element opacity
pointBorderColor
Type: string | undefined
Point element border color
pointBorderWidth
Type: number | undefined
Point element border width
pointBorderStyle
Type: "solid" | "dashed" | "dotted" | undefined
Point element border style
Example solid
dashed
dotted
annotationPoint
Type: AnnotationPoint | AnnotationPoint[] | undefined
MarkPoint configuration; according to the selected data, defines the annotation points in the chart, including position, format, style, etc.
selector
Type: Selector | Selectors | undefined
Label filtering, default relationship between selectors is 'Or'
field
Type: string
Dimension field, the ID of a dimension item
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select data items based on dimension values, supports arrays
measureId
Type: string | undefined
Specifies the measure id that the annotation point belongs to. In multi-measure scenarios, it can be combined with selector to uniquely locate the annotation point for the target measure.
dynamicFilter
Type: ChartDynamicFilter | undefined
Dynamic filter (AI-generated code execution)
Implement complex data filtering logic via AI-generated JavaScript code
Key Capabilities:
- Supports any complex data filtering conditions
- Use built-in utility functions for data manipulation
- Secure execution in browser environment (Web Worker sandbox)
Environment requirements: Only supports browser environment; Node.js environment will use fallback
Note: selector and dynamicFilter cannot be used simultaneously; dynamicFilter has higher priority
Chart dynamic filter configuration
Filter chart markers (bars, points, etc.) via AI-generated JavaScript code
type
Type: "row-with-field"
description
Type: string | undefined
User requirement description (natural language)
Example "Highlight columns with sales greater than 1000"
"Highlight the column with the highest profit margin in each region"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions (accessible via _ or R) are allowed
- Input parameters: data (array), each item contains 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 original row number; field represents the field to highlight
- Forbidden to use: eval, Function, asynchronous operations, DOM API, network requests
Example Highlight the 'sales' field for 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 environment is not supported
field
Type: string
Dimension field, the ID of a dimension item
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select data items based on dimension values, supports arrays
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Dynamic filter execution results (runtime field)
Populated during the prepare() stage, 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' to ensure the text is displayed on the left of the mark point and within the visible area of the chart.
Recommended to set to 'right' to ensure the text is on the left of the mark point.
right: Text is on the left of the mark point, aligned to the mark point by its right edge.
left: Text is on the right of the mark point, aligned to the mark point by its left edge.
center: Text is centered on the mark point.
Example 'right' Text is on the left of the mark point
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Text vertical alignment; generally set to 'top' to ensure the text is displayed below the mark point and within the visible area.
Recommended to set to 'top' to ensure the text is displayed completely within the visible area.
top: Text is below the mark point, its top edge aligned with the mark point.
middle: Text is vertically centered on the mark point.
bottom: Text is above the mark point, its bottom edge aligned with the mark point.
Example 'top' Text is below the mark point
textBackgroundVisible
Type: boolean | undefined
Background 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
Vertical offset distance of the annotation point. When the point is above the chart (high values), a positive value is recommended; when below (low values), a negative value is recommended.
A negative value offsets it upward (e.g., -10 pixels).
A positive value offsets it downward (e.g., 10 pixels).
Example offsetY: 5, MarkPoint offset down by 5 pixels
offsetX
Type: number | undefined
Horizontal offset distance of the annotation point. When the point is at the left (category axis start), a positive value is recommended; when at the right (category axis end), a negative value is recommended.
A negative value offsets it to the left (e.g., -10 pixels).
A positive value offsets it to the right (e.g., 10 pixels).
Example offsetX: 5, MarkPoint offset right by 5 pixels
annotationVerticalLine
Type: AnnotationVerticalLine | AnnotationVerticalLine[] | undefined
Dimension value mark line, displayed vertically; allows setting the position and style of the mark line.
xValue
Type: string | number | (string | number)[] | undefined
Fixed x-value for vertical mark lines; if the category axis is on the x-direction, you can enter a dimension value; if it's a numeric axis, enter a specific number.
dynamicFilter
Type: ValueDynamicFilter | undefined
Dynamic filter (AI-generated code execution)
Calculate mark line value via AI-generated JavaScript code.
Suitable for cases where mark line positions need to be determined dynamically based on data, such as mean, maximum, quantile, business lines, etc.
Only supports browser environment (requires Web Worker).
type
Type: "value"
description
Type: string | undefined
User requirement description (natural language)
Example "Highlight columns with sales greater than 1000"
"Highlight the column with the highest profit margin in each region"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions (accessible via _ or R) are allowed
- Input parameters: data (array)
- Must return a single numeric or string value: number | string
- Applicable scenario: Dynamic values needed for mark lines (horizontal lines, vertical lines)
- Forbidden to use: eval, Function, asynchronous operations, DOM API, network requests
Example Get the highest sales value as mark line value
Calculate average value for mark line
Get quantile for mark line
Calculate Goal value based on conditions
fallback
Type: string | number | undefined
Fallback plan when code execution fails or environment is not supported
result
Type: { success: boolean; data?: number | string; } | undefined
Dynamic filter execution results (runtime field)
Populated during the prepare() stage, 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, MarkLine's label position (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 set to 'right' to ensure the text is displayed on the left of the mark point and within the visible area of the chart.
Recommended to set to 'right' to ensure the text is on the left of the mark point.
right: Text is on the left of the mark point, aligned to the mark point by its right edge.
left: Text is on the right of the mark point, aligned to the mark point by its left edge.
center: Text is centered on the mark point.
Example 'right' Text is on the left of the mark point
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Text vertical alignment; generally set to 'top' to ensure the text is displayed below the mark point and within the visible area.
Recommended to set to 'top' to ensure the text is displayed completely within the visible area.
top: Text is below the mark point, its top edge aligned with the mark point.
middle: Text is vertically centered on the mark point.
bottom: Text is above the mark point, its bottom edge aligned with the mark point.
Example 'top' Text is below the mark point
lineVisible
Type: boolean | undefined
Line 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 segment style
Example
lineStyle: 'solid'
textBackgroundVisible
Type: boolean | undefined
Background 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 mark line (including mean, maximum, minimum, etc.), displayed horizontally. Allows setting the position and style of the mark line. Use this configuration if you need to draw mark lines corresponding to specific values like the mean.
yValue
Type: string | number | (string | number)[] | undefined
Fixed y-value for horizontal mark lines; if the category axis is on the y-direction, you can enter a dimension value; if it's a numeric axis, enter a specific number.
dynamicFilter
Type: ValueDynamicFilter | undefined
Dynamic filter (AI-generated code execution)
Calculate mark line value via AI-generated JavaScript code.
Suitable for cases where mark line positions need to be determined dynamically based on data, such as mean, maximum, quantile, business lines, etc.
Only supports browser environment (requires Web Worker).
type
Type: "value"
description
Type: string | undefined
User requirement description (natural language)
Example "Highlight columns with sales greater than 1000"
"Highlight the column with the highest profit margin in each region"
code
Type: string
AI-generated JavaScript filtering code
- Only built-in utility functions (accessible via _ or R) are allowed
- Input parameters: data (array)
- Must return a single numeric or string value: number | string
- Applicable scenario: Dynamic values needed for mark lines (horizontal lines, vertical lines)
- Forbidden to use: eval, Function, asynchronous operations, DOM API, network requests
Example Get the highest sales value as mark line value
Calculate average value for mark line
Get quantile for mark line
Calculate Goal value based on conditions
fallback
Type: string | number | undefined
Fallback plan when code execution fails or environment is not supported
result
Type: { success: boolean; data?: number | string; } | undefined
Dynamic filter execution results (runtime field)
Populated during the prepare() stage, 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, MarkLine's label position (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 set to 'right' to ensure the text is displayed on the left of the mark point and within the visible area of the chart.
Recommended to set to 'right' to ensure the text is on the left of the mark point.
right: Text is on the left of the mark point, aligned to the mark point by its right edge.
left: Text is on the right of the mark point, aligned to the mark point by its left edge.
center: Text is centered on the mark point.
Example 'right' Text is on the left of the mark point
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Text vertical alignment; generally set to 'top' to ensure the text is displayed below the mark point and within the visible area.
Recommended to set to 'top' to ensure the text is displayed completely within the visible area.
top: Text is below the mark point, its top edge aligned with the mark point.
middle: Text is vertically centered on the mark point.
bottom: Text is above the mark point, its bottom edge aligned with the mark point.
Example 'top' Text is below the mark point
textBackgroundVisible
Type: boolean | undefined
Background 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
lineVisible
Type: boolean | undefined
Line 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 segment style
Example
lineStyle: 'solid'
splitLine
Type: boolean | { positiveColor?: string; negativeColor?: string; } | undefined
Whether to enable the function to split the main line into two segments.
positiveColor
Type: string | undefined
Main color for the portion greater than the mark value
negativeColor
Type: string | undefined
Main color for parts less than the mark value
annotationArea
Type: AnnotationArea | AnnotationArea[] | undefined
Mark area
Mark area configuration, according to the selected data, defines the annotation areas in the chart, including position and style.
selector
Type: AreaSelector | AreaSelectors | undefined
Depends on the selected data for marking.
field
Type: string
Dimension field, the ID of a dimension item
operator
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
op
Type: "in" | "not in" | undefined
Operator
- in: Select data items where the dimension field value is in 'value'
- not in: Select data items where the dimension field value is not in 'value'
Same as operator
value
Type: string | number | (string | number)[]
Select data items based on dimension values, 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' to ensure the text is displayed on the left of the mark point and within the visible area of the chart.
Recommended to set to 'right' to ensure the text is on the left of the mark point.
right: Text is on the left of the mark point, aligned to the mark point by its right edge.
left: Text is on the right of the mark point, aligned to the mark point by its left edge.
center: Text is centered on the mark point.
Example 'right' Text is on the left of the mark point
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Text vertical alignment; generally set to 'top' to ensure the text is displayed below the mark point and within the visible area.
Recommended to set to 'top' to ensure the text is displayed completely within the visible area.
top: Text is below the mark point, its top edge aligned with the mark point.
middle: Text is vertically centered on the mark point.
bottom: Text is above the mark point, its bottom edge aligned with the mark point.
Example 'top' Text is below the mark point
textBackgroundVisible
Type: boolean | undefined
Background 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
areaColor
Type: string | undefined
Mark area region color
Example 'red'
areaColorOpacity
Type: number | undefined
Mark area region color opacity
Example 0.5
areaBorderColor
Type: string | undefined
Mark area region border color
Example 'red'
areaBorderWidth
Type: number | undefined
Mark area region border width
Example 2
areaBorderRadius
Type: number | undefined
Mark area region border radius
Example 4
areaLineDash
Type: number[] | undefined
Line type for the mark area region border
Example [2, 2]
outerPadding
Type: number | undefined
Margin for the mark area region
Example 0
linearRegressionLine
Type: LinearRegressionLine | LinearRegressionLine[] | undefined
Linear regression line
Linear regression line configuration, including line style, etc.
enable
Type: boolean | undefined
Whether to enable
color
Type: string | undefined
Regression line color
Used to set the regression line color; if not set, the chart's main color is used by default.
lineWidth
Type: number | undefined
Regression line width
Used to set the regression line width, in pixels; default is 1.
lineDash
Type: number[] | undefined
Regression line style
Used to set the regression line style, e.g., solid, dashed, etc.; default is solid.
text
Type: string | undefined
Regression line label text
Used to set the regression line's label text; an empty string means no label is shown.
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
confidenceIntervalVisible
Type: boolean | undefined
Whether to display the confidence interval
confidenceLevel
Type: number | undefined
Confidence interval numerical setting; default is 95% confidence level.
confidenceIntervalColor
Type: string | undefined
Confidence interval color
confidenceIntervalOpacity
Type: number | undefined
Confidence interval opacity
Example 0.5
shadowBlur
Type: number | undefined
Shadow blur level
Example 0
shadowColor
Type: string | undefined
Mark shadow color
Example '#FFFFFF4D'
shadowOffsetX
Type: number | undefined
Horizontal shadow offset
Example 0
shadowOffsetY
Type: number | undefined
Vertical shadow offset
Example 1
lowessRegressionLine
Type: LowessRegressionLine | LowessRegressionLine[] | undefined
Locally weighted regression line configuration
Locally weighted regression line configuration, including line style, etc.
enable
Type: boolean | undefined
Whether to enable
color
Type: string | undefined
Regression line color
Used to set the regression line color; if not set, the chart's main color is used by default.
lineWidth
Type: number | undefined
Regression line width
Used to set the regression line width, in pixels; default is 1.
lineDash
Type: number[] | undefined
Regression line style
Used to set the regression line style, e.g., solid, dashed, etc.; default is solid.
text
Type: string | undefined
Regression line label text
Used to set the regression line's label text; an empty string means no label is shown.
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
confidenceIntervalVisible
Type: boolean | undefined
Whether to display the confidence interval
confidenceLevel
Type: number | undefined
Confidence interval numerical setting; default is 95% confidence level.
confidenceIntervalColor
Type: string | undefined
Confidence interval color
confidenceIntervalOpacity
Type: number | undefined
Confidence interval opacity
Example 0.5
polynomialRegressionLine
Type: PolynomialRegressionLine | PolynomialRegressionLine[] | undefined
Polynomial regression line
Polynomial regression line configuration, including polynomial degree, line style, etc.
enable
Type: boolean | undefined
Whether to enable
color
Type: string | undefined
Regression line color
Used to set the regression line color; if not set, the chart's main color is used by default.
degree
Type: number | undefined
Degree of the polynomial regression
lineWidth
Type: number | undefined
Regression line width
Used to set the regression line width, in pixels; default is 1.
lineDash
Type: number[] | undefined
Regression line style
Used to set the regression line style, e.g., solid, dashed, etc.; default is solid.
text
Type: string | undefined
Regression line label text
Used to set the regression line's label text; an empty string means no label is shown.
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
confidenceIntervalVisible
Type: boolean | undefined
Whether to display the confidence interval
confidenceLevel
Type: number | undefined
Confidence interval numerical setting; default is 95% confidence level.
confidenceIntervalColor
Type: string | undefined
Confidence interval color
confidenceIntervalOpacity
Type: number | undefined
Confidence interval opacity
Example 0.5
logisticRegressionLine
Type: LogisticRegressionLine | LogisticRegressionLine[] | undefined
Logistic regression line
Logistic regression line configuration, including line style, etc.
enable
Type: boolean | undefined
Whether to enable
color
Type: string | undefined
Regression line color
Used to set the regression line color; if not set, the chart's main color is used by default.
lineWidth
Type: number | undefined
Regression line width
Used to set the regression line width, in pixels; default is 1.
lineDash
Type: number[] | undefined
Regression line style
Used to set the regression line style, e.g., solid, dashed, etc.; default is solid.
text
Type: string | undefined
Regression line label text
Used to set the regression line's label text; an empty string means no label is shown.
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
confidenceIntervalVisible
Type: boolean | undefined
Whether to display the confidence interval
confidenceLevel
Type: number | undefined
Confidence interval numerical setting; default is 95% confidence level.
confidenceIntervalColor
Type: string | undefined
Confidence interval color
confidenceIntervalOpacity
Type: number | undefined
Confidence interval opacity
Example 0.5
dimensionLinkage
Type: DimensionLinkage | undefined
Whether to enable the dimension linkage function when the chart has perspective enabled or measures are combined.
When hovering over certain dimension value(s), it highlights data with the same dimension values in other sub-charts.
Perspective chart dimension linkage configuration
enable
Type: false | true
Whether to enable perspective chart dimension linkage
showTooltip
Type: boolean | undefined
Whether to display tooltips for all dimension sub-charts
showLabel
Type: boolean | undefined
Whether to display crosshair labels
locale
Type: "zh-CN" | "en-US" | "ja-JP" | "de-DE" | "id-ID" | "fr-FR" | "ko-KR" | "vi-VN" | undefined
Language
Chart language configuration; supports 'zh-CN' and 'en-US' language; alternatively, call the intl.setLocale('zh-CN') method to set the language.