BarParallel
- Recommended field configuration: 1 measure(s), 2 dimension(s)
- Supports Data Reshape: at least1 measure(s), 0 dimension(s)
Parallel bar chart supports the following visual channels:
yAxis : y-axis channel, supportsmultiple dimensions, mapped to the y-axis by dimension value
xAxis : x-axis channel, supportsmultiple measures, mapped to the x-axis by measure value
detail : Detail channel; supports multiple dimensions; used to display finer-grained data within the same color series.
color : color channel, supportsmultiple dimensionsor one measure, dimension colors are used to distinguish different data series, measure colors are used for linearly mapping measure values to graphical colors
tooltip: tooltip channel, supportsmultiple dimensions and multiple measures, displayed when hovering over a data point
label : label channel, supportsmultiple dimensions and multiple measures, displays data labels on data points
Parallel bar chart, suitable for horizontal parallel comparison scenarios of multiple measures, where multiple bars are sorted in parallel to display different measure values.
Applicable scenarios:
-
Multi-measure comparison when category names are long.
-
Horizontal comparison displaying ranking and values simultaneously.
-
Parallel analysis of multi-dimensional data.
Data requirements:
- At least 1 measure field
- The first dimension is placed on the Y-axis, while other dimensions are merged with measure names (when multiple measures exist) to be displayed as legend items.
- All measures are automatically merged into one measure
Features enabled by default:
- Legend, axes, data labels, and tooltips are enabled by default.
chartType
Type: "barParallel"
Parallel bar chart, suitable for horizontal parallel comparison of multiple measures.
Example 'barParallel'
dataset
Type: Record[]
Data source; an aggregated dataset conforming to the TidyData specification, used to define the chart's data source and structure. Users don't need to process the dataset beforehand as VSeed features powerful data reshaping capabilities to automatically handle it; parallel bar chart data will eventually be converted to 2 dimensions and 1 measure.
Example [{category:'A', value1:100, value2:200}, {category:'B', value1:150, value2:250}]
dimensions
Type: BarDimension[] | undefined
Dimensions; the first dimension is mapped to the Y-axis, while other dimensions are merged with measure names (when multiple measures exist) to be displayed as legend items.
Example [{id: 'category', alias: 'Category'}]
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" | "yAxis" | undefined
Channel to which the dimension is mapped
- yAxis: Supports mapping multiple dimensions to the Y-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: BarMeasure[] | undefined
Measures; parallel bar chart measures are automatically merged into one measure and mapped to the X-axis. When multiple measures exist, measure names are merged with other dimensions to be displayed as legend items.
Example [{id: 'value1', alias: 'Measures1'}, {id: 'value2', alias: 'Measures2'}]
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.97万
- 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: "xAxis" | "color" | "detail" | "tooltip" | "label" | undefined
Channel to which the measure is mapped
- xAxis: measure mapped to the x-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
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'
backgroundColor
Type: BackgroundColor
Chart background color; defaults to a transparent background. 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 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
Continuous color scheme
colorMapping
Type: Record<string, string> | undefined
Manual color mapping
positiveColor
Type: string | undefined
Color for positive values
negativeColor
Type: string | undefined
Color for negative values
label
Type: Label | undefined
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 as percentages.
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 its font color based on the graphical element's color.
labelPosition
Type: "inside" | "outside" | undefined
Label position
labelOverlap
Type: boolean | undefined
Whether to enable the label overlap prevention feature.
selector
Type: Selector | Selectors | undefined
Label filtering; the default relationship between multiple selectors is OR.
field
Type: string
Dimension field ID (the id of an item in dimensions).
operator
Type: "in" | "not in" | undefined
Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray.
op
Type: "in" | "not in" | undefined
Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray.
Same as operator.
value
Type: string | number | (string | number)[]
Selected dimension field values; supports arrays.
dynamicFilter
Type: ChartDynamicFilter | undefined
Dynamic filter (executes AI-generated code)
Implements complex data filtering logic via AI-generated JavaScript code.
Core capabilities:
-
Supports arbitrary complex data filtering conditions.
-
Uses built-in utility functions for data manipulation.
-
Executes safely in the browser environment (Web Worker sandbox).
Environment requirements: Only supported in browser environments; Node.js environments will use the fallback.
Note: selector and dynamicFilter cannot be used simultaneously; dynamicFilter has higher priority.
Chart dynamic filter configuration: filters chart marks (bars, points, etc.) via AI-generated JavaScript code.
type
Type: "row-with-field"
description
Type: string | undefined
User's filtering requirement description (natural language).
Example "Highlight bars where sales are 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 (accessed via
_orR) can be used. -
Input parameter:
data(Array), each item contains a__row_indexfield representing the row number. -
Must return an array of row index and field combinations:
Array<{ __row_index: number, field: string }>. -
__row_indexrepresents the original data item's row number, andfieldrepresents the field to highlight. -
Prohibited:
eval,Function, asynchronous operations, DOM API, network requests.
Example
Highlight the sales field of data items where sales are greater than 1000:
Highlight the data item with the highest profit margin in each region:
Highlight data items meeting 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 (the id of an item in dimensions).
operator
Type: "in" | "not in" | undefined
Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray.
op
Type: "in" | "not in" | undefined
Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray.
Same as operator.
value
Type: string | number | (string | number)[]
Selected dimension field values; supports arrays.
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Dynamic 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 used to define the chart's legend, including position, format, style, etc.
enable
Type: boolean | undefined
Whether to enable the legend feature.
Example enable: true
border
Type: boolean | undefined
Whether to show the legend border.
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
Maximum number of columns or rows for the legend when many items exist.
If the position is horizontal (bottom, top, etc.), maxSize controls the number of columns.
If the position is vertical (left, right, etc.), maxSize controls the number of rows.
Only effective for discrete legends.
Example maxSize: 2
tooltip
Type: Tooltip | undefined
Tooltip configuration used to define the chart's tooltips, including position, format, style, etc.
enable
Type: false | true
Whether to enable the tooltips feature.
brush
Type: Brush | undefined
Brush
Brush configuration used to enable/disable and configure the brush selection capability.
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 selection area.
-
rect: Rectangular brush, allows selection along both X and Y axes simultaneously. -
polygon: Polygonal brush, allows selection of an arbitrary polygon by clicking multiple points. -
x: X-axis brush, restricts selection to the horizontal direction. -
y: Y-axis brush, restricts selection to the vertical direction. :::
brushMode
Type: "single" | "multiple" | undefined
:::note{title=Description} Brush mode; defines whether single or multiple areas can be selected.
-
single: Single selection mode, only one brush area can exist at a time. -
multiple: Multiple selection mode, multiple brush areas can exist simultaneously. :::
removeOnClick
Type: boolean | undefined
:::note{title=Description} Whether to clear the selection area upon a click after the brush ends.
inBrushStyle
Type: { opacity?: number; stroke?: string; lineWidth?: number; } | undefined
Style for data items within the brush selection.
Defines the style of data points captured by the brush.
opacity
Type: number | undefined
Opacity for selected data items (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 data items outside the brush selection.
Defines the style of data points not captured by the brush.
opacity
Type: number | undefined
Opacity for unselected data items (range: 0-1).
stroke
Type: string | undefined
Stroke color
lineWidth
Type: number | undefined
Stroke width
xAxis
Type: XLinearAxis | undefined
X-axis (numeric axis) configuration used to define the X-axis, including position, format, style, etc.
visible
Type: boolean | undefined
Whether the axis is visible.
min
Type: number | undefined
Minimum value of the axis; has higher priority than nice and zero.
max
Type: number | boolean | undefined
Maximum value of the axis; has 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 scale (only effective for numeric axes).
logBase
Type: number | undefined
The base of the logarithm (only effective for numeric axes).
nice
Type: boolean | undefined
Whether to automatically adjust the axis scale interval for better readability. This setting is ignored if min and max are configured. Only effective for numeric axes.
inverse
Type: boolean | undefined
Whether to reverse the axis (only effective for numeric axes).
zero
Type: boolean | undefined
Whether to force the axis to include zero. This setting is ignored if min and max are configured. Only effective for numeric axes.
autoFormat
Type: boolean | undefined
Whether to automatically format axis labels. Only effective for numeric axes. If true, the numFormat configuration is ignored.
numFormat
Type: NumFormat | undefined
Numerical formatting for the axis. Only effective for numeric axes. Has 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 points 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 title 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
Y-axis animation configuration.
duration
Type: number | undefined
Animation duration
easing
Type: string | undefined
Animation easing function.
yAxis
Type: YBandAxis | undefined
Y-axis (categorical axis) configuration used to define the Y-axis, including position, format, style, etc.
visible
Type: boolean | undefined
Whether the axis is visible.
inverse
Type: boolean | undefined
Whether the axis is reversed (only effective for numeric axes).
zero
Type: boolean | undefined
Whether to force show 0 on the axis; ignored if min and max are configured (only effective for numeric axes).
labelAutoHide
Type: boolean | undefined
Whether to automatically hide overlapping labels. If two labels overlap (distance less than autoHideGap), the label causing the overlap is hidden (only effective for categorical axes).
labelAutoHideGap
Type: number | undefined
Target gap for automatic label hiding. If the gap between two text labels is smaller than autoHideGap, the label causing the overlap is hidden. Only effective for categorical axes.
- When
autoHideis enabled, this sets theautoHideSeparation. - When
autoHideis disabled, this sets theminGapfor sampling. :::
labelAutoRotate
Type: boolean | undefined
:::note{title=Description} Whether to automatically rotate labels when their width exceeds the axis length (only effective for categorical axes).
labelAutoRotateAngleRange
Type: number[] | undefined
Range of angles for automatic rotation when enabled (only effective for categorical axes).
labelAutoLimit
Type: boolean | undefined
Whether to automatically limit label length. When label width exceeds the axis length, the excess is truncated with an ellipsis. The full label is visible on hover (only effective for categorical axes).
labelAutoLimitLength
Type: number | undefined
Maximum length for label limiting. When text length exceeds this value, it is truncated with an ellipsis and visible on hover (only effective for categorical axes).
label
Type: { visible?: boolean; labelColor?: string; labelFontSize?: number; labelFontWeight?: number; labelAngle?: number; } | undefined
Y-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
Y-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
Y-axis tick
visible
Type: boolean | undefined
Whether the tick is visible.
tickInside
Type: boolean | undefined
Whether the tick points 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
Y-axis title
visible
Type: boolean | undefined
Whether the title 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
Y-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.
crosshairRect
Type: CrosshairRect | undefined
Crosshair rectangle configuration. Used to define the color and label style of the crosshair rectangle area in the chart.
visible
Type: boolean | undefined
Whether to show the crosshair rectangle area.
rectColor
Type: string | undefined
Color of the crosshair rectangle area.
labelColor
Type: string | undefined
Label color for the crosshair rectangle area.
labelVisible
Type: boolean | undefined
Whether to show the label for the crosshair rectangle area.
labelBackgroundColor
Type: string | undefined
Background color for the crosshair rectangle label.
stackCornerRadius
Type: number | number[] | undefined
Corner radius for stacked bars in a bar chart.
barMaxWidth
Type: string | number | undefined
Maximum height of the rectangle (can be a pixel value or a percentage string).
barGapInGroup
Type: string | number | undefined
The distance between rectangles within the same category (can be a pixel value or a percentage string).
sort
Type: Sort | undefined
Sort configuration for categorical axes, supports sorting based on dimensions or measures, as well as custom sort orders.
Example sort: { orderBy: 'profit', order: 'asc', } sort: { customOrder:['2019', '2020', '2021'] }
- order: 'asc'
- orderBy: 'date' or
- customOrder: ['2019', '2020', '2021']
order
Type: "asc" | "desc" | undefined
Sort order, can be 'asc' or 'desc'.
Example order: 'asc'
orderBy
Type: string | undefined
The field the sort depends on; can be a dimension ID or a measure ID.
Example
- orderBy: 'date'
- orderBy: 'profit'
customOrder
Type: string[] | undefined
Custom sort order; this order will be directly applied to the categorical axis.
sortLegend
Type: SortLegend | undefined
Legend sort configuration, supports sorting based on dimensions or measures, as well as custom sort orders. Sort arrays follow a left-to-right or top-to-bottom order.
Example sortLegend: { orderBy: 'profit', order: 'asc', } sortLegend: { customOrder: ['2019', '2020', '2021'] }
- order: 'asc'
- orderBy: 'date' or
- customOrder: ['2019', '2020', '2021']
order
Type: "asc" | "desc" | undefined
Sort order, can be 'asc' or 'desc'.
Example order: 'asc'
orderBy
Type: string | undefined
The field the sort depends on; can be a dimension ID or a measure ID.
Example
- orderBy: 'date'
- orderBy: 'profit'
customOrder
Type: string[] | undefined
Custom sort order; this order will be directly applied to the legend. Ascending: left to right or top to bottom; Descending: right to left or bottom to top.
theme
Type: Theme | undefined
Chart theme. Themes are low-priority configuration options including general settings shared by all chart types and specific settings shared within a single chart type. Built-in 'light' and 'dark' themes are available; users can also define custom themes via the Builder or registerTheme.
Example 'dark'
'light'
'customThemeName'
length
Type: number
brand
Type: brand
barStyle
Type: BarStyle | BarStyle[] | undefined
Bar mark style. Configuration used to define bar styles, including color, borders, corner radius, etc. Supports global styling or conditional style configurations.
selector
Type: Selector | Selectors | undefined
Data selector. If configured, provides four types of matching capabilities: value selector, partial data selector, conditional dimension selector, and conditional measure selector. If not configured, styling applies globally.
Example Value 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 ID (the id of an item in dimensions).
operator
Type: "in" | "not in" | undefined
Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray.
op
Type: "in" | "not in" | undefined
Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray.
Same as operator.
value
Type: string | number | (string | number)[]
Selected dimension field values; supports arrays.
dynamicFilter
Type: ChartDynamicFilter | undefined
Dynamic filter (executes AI-generated code)
Implements complex data filtering logic via AI-generated JavaScript code.
Suitable for scenarios complex for static selectors, such as Top N, statistical analysis, or complex combined conditions.
Core capabilities:
-
Supports arbitrary complex data filtering conditions.
-
Uses built-in utility functions for data manipulation.
-
Executes safely in the browser environment (Web Worker sandbox).
Environment requirements: Only supported in browser environments; Node.js environments will use the fallback.
Note: selector and dynamicFilter cannot be used simultaneously; dynamicFilter has higher priority.
Chart dynamic filter configuration: filters chart marks (bars, points, etc.) via AI-generated JavaScript code.
type
Type: "row-with-field"
description
Type: string | undefined
User's filtering requirement description (natural language).
Example "Highlight bars where sales are 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 (accessed via
_orR) can be used. -
Input parameter:
data(Array), each item contains a__row_indexfield representing the row number. -
Must return an array of row index and field combinations:
Array<{ __row_index: number, field: string }>. -
__row_indexrepresents the original data item's row number, andfieldrepresents the field to highlight. -
Prohibited:
eval,Function, asynchronous operations, DOM API, network requests. :::
Example
Highlight the sales field of data items where sales are greater than 1000:
Highlight the data item with the highest profit margin in each region:
Highlight data items meeting multiple conditions:
fallback
Type: Selector | Selectors | undefined
:::note{title=Description} Fallback plan when code execution fails or the environment is not supported.
field
Type: string
Dimension field ID (the id of an item in dimensions).
operator
Type: "in" | "not in" | undefined
Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray. :::
op
Type: "in" | "not in" | undefined
:::note{title=Description} Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray.
Same as operator.
value
Type: string | number | (string | number)[]
Selected dimension field values; supports arrays.
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Dynamic 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
barVisible
Type: boolean | undefined
Whether the bar mark (rectangle) is visible.
barColor
Type: string | undefined
Bar color
barColorOpacity
Type: number | undefined
Bar color opacity.
barBorderColor
Type: string | undefined
Bar border color.
barBorderWidth
Type: number | undefined
Bar border width.
barBorderStyle
Type: "solid" | "dashed" | "dotted" | undefined
Bar border style.
Example solid
dashed
dotted
barBorderOpacity
Type: number | undefined
Bar corner radius.
Bar stroke opacity.
Example 4
[0, 0, 10, 10]
barRadius
Type: number | number[] | undefined
annotationPoint
Type: AnnotationPoint | AnnotationPoint[] | undefined
Annotation point configuration. Used to define chart annotation points based on selected data, including their position, format, style, etc.
selector
Type: Selector | Selectors | undefined
Selector for the annotation point, used to pick data items.
field
Type: string
Dimension field ID (the id of an item in dimensions).
operator
Type: "in" | "not in" | undefined
Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray. :::
op
Type: "in" | "not in" | undefined
:::note{title=Description} Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray.
Same as operator.
value
Type: string | number | (string | number)[]
Selected dimension field values; supports arrays.
dynamicFilter
Type: ChartDynamicFilter | undefined
Dynamic filter (executes AI-generated code)
Implements complex data filtering logic via AI-generated JavaScript code.
Suitable for scenarios complex for static selectors, such as Top N, statistical analysis, or complex combined conditions.
Core capabilities:
-
Supports arbitrary complex data filtering conditions.
-
Uses built-in utility functions for data manipulation.
-
Executes safely in the browser environment (Web Worker sandbox).
Environment requirements: Only supported in browser environments; Node.js environments will use the fallback.
Note: selector and dynamicFilter cannot be used simultaneously; dynamicFilter has higher priority.
Chart dynamic filter configuration: filters chart marks (bars, points, etc.) via AI-generated JavaScript code.
type
Type: "row-with-field"
description
Type: string | undefined
User's filtering requirement description (natural language).
Example "Highlight bars where sales are 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 (accessed via
_orR) can be used. -
Input parameter:
data(Array), each item contains a__row_indexfield representing the row number. -
Must return an array of row index and field combinations:
Array<{ __row_index: number, field: string }>. -
__row_indexrepresents the original data item's row number, andfieldrepresents the field to highlight. -
Prohibited:
eval,Function, asynchronous operations, DOM API, network requests. :::
Example
Highlight the sales field of data items where sales are greater than 1000:
Highlight the data item with the highest profit margin in each region:
Highlight data items meeting multiple conditions:
fallback
Type: Selector | Selectors | undefined
:::note{title=Description} Fallback plan when code execution fails or the environment is not supported.
field
Type: string
Dimension field ID (the id of an item in dimensions).
operator
Type: "in" | "not in" | undefined
Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray. :::
op
Type: "in" | "not in" | undefined
:::note{title=Description} Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray.
Same as operator.
value
Type: string | number | (string | number)[]
Selected dimension field values; supports arrays.
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Dynamic 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'; text is displayed on the left side of the annotation point to ensure it remains within the visible area of the chart.
Suggested to be set to 'right' to ensure text stays on the left of the point.
- right: Text is on the left of the point, with the right edge aligned to the point.
- left: Text is on the right of the point, with the left edge aligned to the point.
- center: Text is centered on the point. :::
Example 'right' (text is on the left side of the point)
textBaseline
Type: "top" | "bottom" | "middle" | undefined
:::note{title=Description} Text baseline. Generally set to 'top'; text is displayed at the bottom of the annotation point to ensure it remains within the visible area of the chart.
Suggested to be set to 'top' to ensure the label is fully visible.
- top: Text is at the bottom of the point, with the top edge aligned to the point.
- middle: Text is centered vertically on the point.
- bottom: Text is at the top of the point, with the bottom edge aligned to the point. :::
Example 'top' (text is at the bottom of the annotation point)
textBackgroundVisible
Type: boolean | undefined
:::note{title=Description} Background visibility.
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
The overall pixel offset of the annotation point in the Y direction. When the point is near the top of the chart (large values), a positive value is recommended; when near the bottom (small values), a negative value is recommended.
A negative value shifts the whole component (text, background, etc.) upwards. For example, -10 shifts it up by 10 pixels.
A positive value shifts the whole component downwards. For example, 10 shifts it down by 10 pixels.
Example offsetY: 5 (shifts the whole annotation point down by 5 pixels)
offsetX
Type: number | undefined
The overall pixel offset of the annotation point in the X direction. When the point is on the left side (start of the categorical axis), a positive value is recommended; when on the right side (end of the categorical axis), a negative value is recommended.
A negative value shifts the whole component (text, background, etc.) to the left. For example, -10 shifts it left by 10 pixels.
A positive value shifts the whole component to the right. For example, 10 shifts it right by 10 pixels.
Example offsetX: 5, Offset the annotation point by 5 pixels to the right.
annotationVerticalLine
Type: AnnotationVerticalLine | AnnotationVerticalLine[] | undefined
Numeric annotation line (including average line, maximum line, minimum line, etc.), displayed vertically. Used to set the position, style, etc. of the annotation line. use this configuration to draw annotation lines corresponding to numerical values like the average.
xValue
Type: string | number | (string | number)[] | undefined
Fixed X-value for the vertical annotation line. If the categorical axis is in the X direction, a dimension value can be input; if a numeric axis is in the X direction, a specific numeric value can be used.
dynamicFilter
Type: ValueDynamicFilter | undefined
Dynamic filter (executes AI-generated code)
Dynamically calculates annotation line values via AI-generated JavaScript code.
Suitable for scenarios requiring dynamic determination of annotation line positions based on data, such as averages, maximums, quantiles, business lines, etc.
Only supported in browser environments (requires Web Worker).
type
Type: "value"
description
Type: string | undefined
User's filtering requirement description (natural language).
Example "Get the highest sales value as the annotation line reference"
"Calculate average sales for the annotation line"
code
Type: string
AI-generated JavaScript filtering code:
-
Only built-in utility functions (accessed via
_orR) can be used. -
Input parameter:
data(Array). -
Must return a single numeric or string value:
number | string. -
Suitable for dynamic values needed by annotation lines (horizontal/vertical).
-
Prohibited:
eval,Function, asynchronous operations, DOM API, network requests.
Example Get the maximum sales value as the annotation line value:
Calculate the average for the annotation line:
Get the quantile as the annotation line:
Calculate the goal 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
Dynamic 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's 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 set to 'right'; text is displayed on the left side of the annotation line to ensure it remains within the visible area of the chart.
Suggested to be set to 'right' to ensure text stays on the left of the line.
- right: Text is on the left of the reference line, with the right edge aligned to the (vertical) annotation line.
- left: Text is on the right of the reference line, with the left edge aligned to the (vertical) annotation line.
- center: Text is centered on the reference line. :::
Example 'right'
textBaseline
Type: "top" | "bottom" | "middle" | undefined
:::note{title=Description} Text baseline. Generally set to 'top'; text is displayed at the bottom of the annotation line to ensure it remains within the visible area of the chart.
Suggested to be set to 'top' to ensure the label is fully visible.
- top: Text is at the bottom of the reference line, with the top edge aligned to the endpoint of the (vertical) annotation line.
- middle: Text is vertically centered on the reference line.
- bottom: Text is at the top of the reference line, with the bottom edge aligned to the endpoint of the (vertical) annotation line. :::
Example 'top'
lineVisible
Type: boolean | undefined
:::note{title=Description} Line visibility.
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
Background visibility.
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
Dimension value annotation line, displayed horizontally. Used to set the position, style, etc. of the annotation line.
yValue
Type: string | number | (string | number)[] | undefined
Fixed Y-value for the horizontal annotation line. If the categorical axis is in the Y direction, a dimension value can be input; if a numeric axis is in the Y direction, a specific numeric value can be used.
dynamicFilter
Type: ValueDynamicFilter | undefined
Dynamic filter (executes AI-generated code)
Dynamically calculates annotation line values via AI-generated JavaScript code.
Suitable for scenarios requiring dynamic determination of annotation line positions based on data, such as averages, maximums, quantiles, business lines, etc.
Only supported in browser environments (requires Web Worker).
type
Type: "value"
description
Type: string | undefined
User's filtering requirement description (natural language).
Example "Get the highest sales value as the annotation line reference"
"Calculate average sales for the annotation line"
code
Type: string
AI-generated JavaScript filtering code:
-
Only built-in utility functions (accessed via
_orR) can be used. -
Input parameter:
data(Array). -
Must return a single numeric or string value:
number | string. -
Suitable for dynamic values needed by annotation lines (horizontal/vertical).
-
Prohibited:
eval,Function, asynchronous operations, DOM API, network requests. :::
Example Get the maximum sales value as the annotation line value:
Calculate the average for the annotation line:
Get the quantile as the annotation line:
Calculate the goal value based on conditions:
fallback
Type: string | number | undefined
:::note{title=Description} Fallback plan when code execution fails or the environment is not supported.
result
Type: { success: boolean; data?: number | string; } | undefined
Dynamic 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's 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 set to 'right'; text is displayed on the left side of the annotation line to ensure it remains within the visible area of the chart.
Suggested to be set to 'right' to ensure text stays on the left of the line.
- right: Text is on the left of the reference line, with the right edge aligned to the endpoint of the (horizontal) annotation line.
- left: Text is on the right of the reference line, with the left edge aligned to the endpoint of the (horizontal) annotation line.
- center: Text is centered on the reference line. :::
Example 'right'
textBaseline
Type: "top" | "bottom" | "middle" | undefined
:::note{title=Description} Text baseline. Generally set to 'top'; text is displayed at the bottom of the annotation line to ensure it remains within the visible area of the chart.
Suggested to be set to 'top' to ensure the label is fully visible.
- top: Text is at the bottom of the reference line, with the top edge aligned to the (horizontal) annotation line.
- middle: Text is vertically centered on the reference line.
- bottom: Text is at the top of the reference line, with the bottom edge aligned to the (horizontal) annotation line. :::
Example 'top'
textBackgroundVisible
Type: boolean | undefined
:::note{title=Description} Background visibility.
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 visibility.
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 feature of splitting the main line into two segments.
positiveColor
Type: string | undefined
The primary color for the portion greater than the annotation value.
negativeColor
Type: string | undefined
The primary color for the portion less than the annotation value.
annotationArea
Type: AnnotationArea | AnnotationArea[] | undefined
Annotation area configuration. Used to define chart annotation areas based on selected data, including their position, style, etc.
selector
Type: AreaSelector | AreaSelectors | undefined
Used to mark data based on selected items.
field
Type: string
Dimension field ID (the id of an item in dimensions).
operator
Type: "in" | "not in" | undefined
Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray. :::
op
Type: "in" | "not in" | undefined
:::note{title=Description} Operator
-
in: Select data items where the dimension field value is within the
valuearray. -
not in: Select data items where the dimension field value is not within the
valuearray.
same as operator
value
Type: string | number | (string | number)[]
Selected dimension field 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 'center'; text is displayed in the middle of the annotation area to ensure it remains within the visible area of the chart.
Suggested to be set to 'center' to ensure text is centered within the area.
- right: Text is on the left side of the annotation area, with the right edge aligned to the area.
- left: Text is on the right side of the annotation area, with the left edge aligned to the area.
- center: Text is centered in the annotation area. :::
Example 'center' (text is in the middle of the annotation area)
textBaseline
Type: "top" | "bottom" | "middle" | undefined
:::note{title=Description} Text baseline. Generally set to 'top'; text is displayed at the bottom of the annotation area to ensure it remains within the visible area of the chart.
Suggested to be set to 'top' to ensure the label is fully visible.
- top: Text is at the bottom of the annotation area, with the top edge aligned to the area.
- middle: Text is vertically centered in the annotation area.
- bottom: Text is at the top of the annotation area, with the bottom edge aligned to the area. :::
Example 'top' (text is at the bottom of the annotation area)
textBackgroundVisible
Type: boolean | undefined
:::note{title=Description} Background visibility.
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
Annotation area color.
Example 'red'
areaColorOpacity
Type: number | undefined
Annotation area color 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 for the annotation area border.
Example [2, 2]
outerPadding
Type: number | undefined
Padding for the annotation area.
Example 0
dimensionLinkage
Type: DimensionLinkage | undefined
Whether to enable the dimension linkage feature when the chart has pivot functionality or measure combinations enabled. When hovering over a dimension value, data with the same dimension value in other charts will be highlighted in coordination.
Configuration for dimension linkage in pivot charts.
enable
Type: false | true
Whether to enable dimension linkage for pivot charts.
showTooltip
Type: boolean | undefined
Whether to show tooltips for all sub-charts corresponding to the dimension.
showLabel
Type: boolean | undefined
Whether to show the crosshair label.
locale
Type: Locale | undefined
Chart language configuration. Supports 'zh-CN' and 'en-US' languages. Additionally, the intl.setLocale('zh-CN') method can be called to set the language.