• English
  • Radar

    Recommended

    - Recommended field configuration: 1 measure, 1 dimension

    - Supports data reshaping: at least 1 measure, 0 dimensions

    Encoding Mapping

    The Radar Chart supports the following visual channels:

    angle : Angle channel, supports multiple dimensions, mapping dimension values to the angle axis.

    radius : Radius channel, supports multiple measures, mapping measure values to the radius axis.

    color : Color channel, supports multiple dimensions or one measure. Dimensions are used to distinguish different data series, while measures are used for linearly mapping values to colors.

    tooltip: Tooltip channel, supports multiple dimensions and multiple measures, displayed when hovering over data elements.

    label : Label channel, supports multiple dimensions and multiple measures, displaying data labels on data points.

    Description

    Radar chart, suitable for comparative analysis of multidimensional data, showing the value distribution of each dimension through a multi-axis coordinate system.

    Applicable scenarios:

    - Compare overall performance across multiple dimensions.

    - Evaluate multiple objects across multiple measures.

    - Show multidimensional characteristics of categorical data.

    Warning

    Data requirements:

    - At least one numeric field (measure).

    - The first dimension is used as each dimension axis of the radar chart, and other dimensions are compared as different series.

    - Supports multiple measures displayed as different data series.

    Features enabled by default:

    - Legend, radar coordinate system, data labels, tooltips, and numeric scaling are enabled by default.

    chartType

    Type: "radar"

    Description

    Radar chart, showing multidimensional data comparisons through a multi-axis coordinate system.

    Example 'radar'

    dataset

    Type: Record[]

    Description

    Dataset

    An aggregated dataset conforming to the TidyData specification, used to define the chart data source and structure. User input data does not need preprocessing; VSeed has powerful data reshaping capabilities and reshapes data automatically. Radar chart data is ultimately converted to two dimensions and one measure.

    Example [{month:'Jan', value:100}, {month:'Feb', value:150}, {month:'Mar', value:120}]

    dimensions

    Type: RadarDimension[] | undefined

    Description

    Dimensions

    The first dimension of the radar chart is mapped to the angle axis. The remaining dimensions are merged with measure names (when multiple measures exist) and displayed as legend items.

    Example [{id: 'category', alias: 'Category'}]

    id

    Type: string

    Description

    Field ID corresponding to the dimension

    alias

    Type: string | undefined

    Description

    Dimension alias

    timeFormat

    Type: TimeFormat | undefined

    Description

    Dimension date format configuration

    type

    Type: "year" | "quarter" | "month" | "week" | "day" | "hour" | "minute" | "second"

    Description

    Time granularity, determines the date display precision

    encoding

    Type: "color" | "detail" | "tooltip" | "label" | "row" | "column" | "angle" | undefined

    Description

    Channel to which the dimension is mapped

    - angle: supports mapping multiple dimensions to the angle channel

    - 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: RadarMeasure[] | undefined

    Description

    Measures

    Radar chart measures are automatically merged into one measure and mapped to the radius axis. When multiple measures exist, measure names are merged with the remaining dimensions and displayed as legend items.

    Example [{id: 'value', alias: 'Value'}]

    id

    Type: string

    Description

    Measure ID, must be unique

    alias

    Type: string | undefined

    Description

    Measure alias, duplicates allowed; when not set, alias defaults to id

    autoFormat

    Type: boolean | undefined

    Description

    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

    Description

    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

    Description

    Number format type, supports: number (decimal), percent (%), permille (‰), scientific notation

    ratio

    Type: number | undefined

    Description

    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

    Description

    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

    Description

    Thousands separator for number formatting

    suffix

    Type: string | undefined

    Description

    Number format suffix

    prefix

    Type: string | undefined

    Description

    Number format prefix

    fractionDigits

    Type: number | undefined

    Description

    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

    Description

    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

    Description

    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

    Description

    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

    Description

    Number format type, supports: number (decimal), percent (%), permille (‰), scientific notation

    ratio

    Type: number | undefined

    Description

    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

    Description

    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

    Description

    Thousands separator for number formatting

    suffix

    Type: string | undefined

    Description

    Number format suffix

    prefix

    Type: string | undefined

    Description

    Number format prefix

    fractionDigits

    Type: number | undefined

    Description

    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

    Description

    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

    Description

    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

    Description

    Rounding mode for number formatting, using the browser's Intl.NumberFormat, following the same rules as Intl.NumberFormat's roundingMode

    encoding

    Type: "color" | "tooltip" | "label" | "radius" | undefined

    Description

    Channel to which the measure is mapped

    - radius: measure mapped to the radius 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

    Description

    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

    Tip

    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

    Description

    Pagination configuration: Used to specify the field name for pagination, which must be a dimension.

    field

    Type: string

    Description

    Pagination field; specifies the field name for pagination, must be a dimension

    currentValue

    Type: string

    Description

    Current pagination value; specifies the value used to determine the current page

    Example '2023-01-01'

    backgroundColor

    Type: BackgroundColor

    Description

    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

    Description

    Color

    Color configuration for defining the chart's color scheme, including color lists, color mappings, and color gradients.

    colorScheme

    Type: string[] | undefined

    Description

    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

    Description

    Linear gradient color scheme used to define the colors of different elements in the chart

    Example ['#FFCDD2, #F8BBD0]

    colorMapping

    Type: Record<string, string> | undefined

    Description

    Color mapping used to map data values to specific colors

    Example { 'profit': 'red', 'sales': 'blue', }

    positiveColor

    Type: string | undefined

    Description

    Positive/negative color configuration; defines the color for positive values in the chart

    negativeColor

    Type: string | undefined

    Description

    Positive/negative color configuration; defines the color for negative values in the chart

    label

    Type: Label | undefined

    Description

    Label

    Label configuration for defining chart data labels, including their position, format, and style.

    enable

    Type: false | true

    Description

    Whether label functionality is enabled

    wrap

    Type: boolean | undefined

    Description

    Whether labels wrap to the next line

    showValue

    Type: boolean | undefined

    Description

    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

    Description

    Whether labels display the percentage of measure values.

    In multi-measure scenarios, there is no concern about conflicting values because all plot-related measures undergo 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

    Description

    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

    Description

    Whether label values are automatically formatted; when autoFormat is true, numFormat configuration is ignored

    numFormat

    Type: NumFormat | undefined

    Description

    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

    Description

    Number format type, supports: number (decimal), percent (%), permille (‰), scientific notation

    ratio

    Type: number | undefined

    Description

    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

    Description

    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

    Description

    Thousands separator for number formatting

    suffix

    Type: string | undefined

    Description

    Number format suffix

    prefix

    Type: string | undefined

    Description

    Number format prefix

    fractionDigits

    Type: number | undefined

    Description

    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

    Description

    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

    Description

    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

    Description

    Rounding mode for number formatting, using the browser's Intl.NumberFormat, following the same rules as Intl.NumberFormat's roundingMode

    labelFontSize

    Type: number | undefined

    Description

    Label font size

    labelFontWeight

    Type: string | number | undefined

    Description

    Label font weight

    labelBackgroundColor

    Type: string | undefined

    Description

    Label background color

    labelStroke

    Type: string | undefined

    Description

    Label stroke color

    labelColor

    Type: string | undefined

    Description

    Label font color

    labelColorSmartInvert

    Type: boolean | undefined

    Description

    Whether the label color is automatically inverted based on the element color

    labelPosition

    Type: "inside" | "outside" | undefined

    Description

    label position

    labelOverlap

    Type: boolean | undefined

    Description

    Whether the label anti-overlap function is enabled

    selector

    Type: Selector | Selectors | undefined

    Description

    Label filtering; the default relationship between selectors is 'OR'

    field

    Type: string

    Description

    Dimension field, the ID of a dimension item

    operator

    Type: "in" | "not in" | undefined

    Description

    Operator

    - in: Select data items where the value of the dimension field is in 'value'

    - not in: Select data items where the value of the dimension field is not in 'value'

    op

    Type: "in" | "not in" | undefined

    Description

    Operator

    - in: Select data items where the value of the dimension field is in 'value'

    - not in: Select data items where the value of the dimension field is not in 'value'

    Same as operator

    value

    Type: string | number | (string | number)[]

    Description

    Select the value of the dimension field in the data item, supports arrays

    dynamicFilter

    Type: ChartDynamicFilter | undefined

    Description

    Dynamic filter (AI-generated code execution)

    Implement complex data filtering logic via AI-generated JavaScript code

    Core capabilities:

    • Supports any complex data filtering conditions

    • Use built-in utility functions for data operations

    • Execute safely in the 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

    Implement filtering of chart marks (bars, points, etc.) via AI-generated JavaScript code

    type

    Type: "row-with-field"

    description

    Type: string | undefined

    Description

    User filtering requirement description (natural language)

    Example "Highlight bars with sales greater than 1000"

    "Highlight the bar with the highest profit margin in each region"

    code

    Type: string

    Description

    AI-generated JavaScript filtering code

    • Can only use built-in utility functions (accessed via _ or R)

    • Input parameter: data (array), each item contains __row_index 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 data item row number, and field represents the field to highlight

    • Forbidden: eval, Function, asynchronous operations, DOM API, network requests

    Example Highlight the sales field of data items with sales greater than 1000

    const filtered = _.filter(data, item => item.sales > 1000);
    return _.map(filtered, item => ({
    __row_index: item.__row_index,
    field: 'sales'
    }));

    Highlight the data item with the highest profit margin in each region

    const grouped = _.groupBy(data, 'area');
    const maxItems = _.map(grouped, group =>
    _.maxBy(group, item => item.profit / item.sales)
    );
    return _.flatten(
    _.map(maxItems, item => [
    { __row_index: item.__row_index, field: 'product' },
    { __row_index: item.__row_index, field: 'profit' }
    ])
    );

    Highlight data items that match multiple conditions

    const filtered = _.filter(data, item => {
    const profitRate = item.profit / item.sales;
    return profitRate > 0.2 && item.sales > 5000;
    });
    return _.flatten(
    _.map(filtered, item => [
    { __row_index: item.__row_index, field: 'product' },
    { __row_index: item.__row_index, field: 'sales' }
    ])
    );

    fallback

    Type: Selector | Selectors | undefined

    Description

    Fallback when code execution fails or the environment is unsupported

    field

    Type: string

    Description

    Dimension field, the id of an item in dimensions

    operator

    Type: "in" | "not in" | undefined

    Description

    Operator

    • in: selects data items where the dimension field value is in value

    • not in: selects data items where the dimension field value is not in value

    op

    Type: "in" | "not in" | undefined

    Description

    Operator

    • in: selects data items where the dimension field value is in value

    • not in: selects data items where the dimension field value is not in value

    same as operator

    value

    Type: string | number | (string | number)[]

    Description

    Selects the value of the dimension field in the data item; arrays are supported

    result

    Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined

    Description

    Dynamic filter execution result (runtime field)

    Written during prepare(); read-only at runtime

    success

    Type: false | true

    data

    Type: T[] | undefined

    error

    Type: string | undefined

    legend

    Type: Legend | undefined

    Description

    Legend

    Legend configuration, used to define the chart's legend, including its position, format, style, etc.

    enable

    Type: boolean | undefined

    Description

    Whether legend functionality is enabled

    Example enable: true

    border

    Type: boolean | undefined

    Description

    Whether legend border is enabled

    Warning

    Only effective for discrete legends

    Example border: true

    labelColor

    Type: string | undefined

    Description

    Legend font color

    pagerIconColor

    Type: string | undefined

    Description

    Pager icon color

    pagerIconDisableColor

    Type: string | undefined

    Description

    Pager icon disabled color

    labelFontSize

    Type: number | undefined

    Description

    Legend font size

    Example labelFontSize: 10

    labelFontColor

    Type: string | undefined

    Description

    Legend font color

    labelFontWeight

    Type: string | number | undefined

    Description

    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

    Description

    Legend shape

    Warning

    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

    Description

    Legend position

    Example position: 'rightTop'

    maxSize

    Type: number | undefined

    Description

    Maximum number of columns or rows when there are many legend items;

    If position is horizontal (bottom, bottomLeft, bottomRight, bl, br, top, topLeft, topRight, tl, tr), maxSize controls the number of columns displayed

    If position is vertical (left, leftTop, leftBottom, lt, lb, right, rightTop, rightBottom, rt, rb), maxSize controls the number of rows displayed

    Warning

    Only effective for discrete legends

    Example maxSize: 2

    tooltip

    Type: Tooltip | undefined

    Description

    Tooltip

    Tooltip configuration, used to define the chart's tooltips, including its position, format, style, etc.

    enable

    Type: false | true

    Description

    Whether tooltip functionality is enabled

    brush

    Type: Brush | undefined

    Description

    Brush Selection

    Brush configuration, used to enable/disable the brush selection capability.

    Chart brush configuration

    enable

    Type: boolean | undefined

    Description

    Whether to enable brush selection

    brushType

    Type: "rect" | "x" | "y" | "polygon" | undefined

    Description

    Brush type

    Define the shape and direction of the brush selection box

    - rect: Rectangular selection, can pick in both X and Y directions simultaneously

    - polygon: Polygon selection, pick an arbitrary polygon by clicking multiple points

    - x: X-axis selection, only pick along the X-axis, no restriction on the Y-axis

    - y: Y-axis selection, only pick along the Y-axis, no restriction on the X-axis

    brushMode

    Type: "single" | "multiple" | undefined

    Description

    Selection mode: single or multiple

    Define the picking mode

    - single: Single selection mode, only one picking box at a time

    - multiple: Multiple selection mode, multiple picking boxes can exist simultaneously

    removeOnClick

    Type: boolean | undefined

    Description

    Whether to clear the selection box after picking ends

    inBrushStyle

    Type: { opacity?: number; stroke?: string; lineWidth?: number; } | undefined

    Description

    Style of selected data

    Define the style of picked data points

    opacity

    Type: number | undefined

    Description

    Opacity

    Opacity of selected data points, range 0-1

    stroke

    Type: string | undefined

    Description

    Stroke color

    lineWidth

    Type: number | undefined

    Description

    Stroke width

    outOfBrushStyle

    Type: { opacity?: number; stroke?: string; lineWidth?: number; } | undefined

    Description

    Style of unselected data

    Define the style of unpicked data points

    opacity

    Type: number | undefined

    Description

    Opacity

    Opacity of unselected data points, range 0-1

    stroke

    Type: string | undefined

    Description

    Stroke color

    lineWidth

    Type: number | undefined

    Description

    Stroke width

    animation

    Type: RadarAnimation | undefined

    Description

    Animation configuration

    Chart animation configuration, with available effects constrained by chart type.

    enable

    Type: boolean | undefined

    Description

    Whether to enable radar chart animation

    params

    Type: RadarAnimationParams | undefined

    Description

    Radar chart animation parameters

    appear

    Type: RadarAppearAnimation | undefined

    Description

    Radar chart appear animation configuration

    effects

    Type: ("radial" | "scale")[] | undefined

    Description

    Radar chart appear effects, supporting radial and scale animations

    enable

    Type: boolean | undefined

    Description

    Whether to enable the current animation stage

    ease

    Type: string | undefined

    Description

    Animation easing function

    duration

    Type: number | undefined

    Description

    Animation duration, in milliseconds

    color

    Type: string | undefined

    Description

    Animation highlight or atmosphere color

    update

    Type: RadarUpdateAnimation | undefined

    Description

    Radar chart update animation configuration

    effects

    Type: "growth"[] | undefined

    Description

    Radar chart update effects, supporting growth animation

    enable

    Type: boolean | undefined

    Description

    Whether to enable the current animation stage

    ease

    Type: string | undefined

    Description

    Animation easing function

    duration

    Type: number | undefined

    Description

    Animation duration, in milliseconds

    color

    Type: string | undefined

    Description

    Animation highlight or atmosphere color

    loop

    Type: RadarAnimationLoop | undefined

    Description

    Radar chart loop animation configuration

    enable

    Type: boolean | undefined

    Description

    Whether to enable loop animation

    interval

    Type: number | undefined

    Description

    Loop animation interval, in milliseconds

    atmosphere

    Type: PointAtmosphereConfig | undefined

    Description

    Radar chart atmosphere animation configuration

    ease

    Type: string | undefined

    Description

    Atmosphere animation easing function

    color

    Type: string | undefined

    Description

    Atmosphere animation color

    effect

    Type: PointAtmosphereEffect | undefined

    Description

    Atmosphere animation effect, supporting ripple, fade, and breath effects

    theme

    Type: Theme | undefined

    Description

    Chart theme. Theme is a low-priority configuration that includes common settings shared across all chart types and specific settings for a single chart type.

    Built-in light and dark themes; users can customize 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

    Description

    Point element style configuration, used to define the chart's point element styles, including color, border, etc.

    Supports global style or conditional style configuration.

    Data filter

    If selector is configured, it provides four types of data matching capabilities: numerical selector, partial data selector, conditional dimension selector, and conditional measure selector.

    If selector is not configured, the style applies globally.

    selector

    Type: Selector | Selectors | undefined

    Description

    Data selector

    If selector is configured, it provides four types of data matching capabilities: numerical selector, partial data selector, conditional dimension selector, and conditional measure selector.

    If selector is not configured, the style applies globally.

    Example Numerical 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

    Description

    Dimension field, the ID of a dimension item

    operator

    Type: "in" | "not in" | undefined

    Description

    Operator

    - in: Select data items where the value of the dimension field is in 'value'

    - not in: Select data items where the value of the dimension field is not in 'value'

    op

    Type: "in" | "not in" | undefined

    Description

    Operator

    - in: Select data items where the value of the dimension field is in 'value'

    - not in: Select data items where the value of the dimension field is not in 'value'

    Same as operator

    value

    Type: string | number | (string | number)[]

    Description

    Select the value of the dimension field in the data item, supports arrays

    dynamicFilter

    Type: ChartDynamicFilter | undefined

    Description

    Dynamic filter (AI-generated code execution)

    Implement complex data filtering logic via AI-generated JavaScript code

    Suitable for scenarios that are difficult to express with static selectors, such as Top N, statistical analysis, and complex conditions

    Core capabilities:

    • Supports any complex data filtering conditions

    • Use built-in utility functions for data operations

    • Execute safely in the 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

    Implement filtering of chart marks (bars, points, etc.) via AI-generated JavaScript code

    type

    Type: "row-with-field"

    description

    Type: string | undefined

    Description

    User filtering requirement description (natural language)

    Example "Highlight bars with sales greater than 1000"

    "Highlight the bar with the highest profit margin in each region"

    code

    Type: string

    Description

    AI-generated JavaScript filtering code

    • Can only use built-in utility functions (accessed via _ or R)

    • Input parameter: data (array), each item contains __row_index 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 data item row number, and field represents the field to highlight

    • Forbidden: eval, Function, asynchronous operations, DOM API, network requests

    Example Highlight the sales field of data items with sales greater than 1000

    const filtered = _.filter(data, item => item.sales > 1000);
    return _.map(filtered, item => ({
    __row_index: item.__row_index,
    field: 'sales'
    }));

    Highlight the data item with the highest profit margin in each region

    const grouped = _.groupBy(data, 'area');
    const maxItems = _.map(grouped, group =>
    _.maxBy(group, item => item.profit / item.sales)
    );
    return _.flatten(
    _.map(maxItems, item => [
    { __row_index: item.__row_index, field: 'product' },
    { __row_index: item.__row_index, field: 'profit' }
    ])
    );

    Highlight data items that match multiple conditions

    const filtered = _.filter(data, item => {
    const profitRate = item.profit / item.sales;
    return profitRate > 0.2 && item.sales > 5000;
    });
    return _.flatten(
    _.map(filtered, item => [
    { __row_index: item.__row_index, field: 'product' },
    { __row_index: item.__row_index, field: 'sales' }
    ])
    );

    fallback

    Type: Selector | Selectors | undefined

    Description

    Fallback when code execution fails or the environment is unsupported

    field

    Type: string

    Description

    Dimension field, the id of an item in dimensions

    operator

    Type: "in" | "not in" | undefined

    Description

    Operator

    • in: selects data items where the dimension field value is in value

    • not in: selects data items where the dimension field value is not in value

    op

    Type: "in" | "not in" | undefined

    Description

    Operator

    • in: selects data items where the dimension field value is in value

    • not in: selects data items where the dimension field value is not in value

    same as operator

    value

    Type: string | number | (string | number)[]

    Description

    Selects the value of the dimension field in the data item; arrays are supported

    result

    Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined

    Description

    Dynamic filter execution result (runtime field)

    Written during prepare(); read-only at runtime

    success

    Type: false | true

    data

    Type: T[] | undefined

    error

    Type: string | undefined

    pointVisible

    Type: boolean | undefined

    Description

    Whether the point is visible

    pointSize

    Type: number | undefined

    Description

    Point size

    Point size

    pointColor

    Type: string | undefined

    Description

    Point element color

    Point element color

    pointColorOpacity

    Type: number | undefined

    Description

    Point element color opacity

    Point element color opacity

    pointBorderColor

    Type: string | undefined

    Description

    Point element border color

    Point element border color

    pointBorderWidth

    Type: number | undefined

    Description

    Point element border width

    Point element border width

    pointBorderStyle

    Type: "solid" | "dashed" | "dotted" | undefined

    Description

    Point element border style

    Point element border style

    Example solid

    dashed

    dotted

    lineStyle

    Type: LineStyle | LineStyle[] | undefined

    Description

    Line element style configuration, used to define the chart's line element styles, including color, opacity, curve, etc.

    Supports global style or conditional style configuration.

    Data filter

    If selector is configured, it provides four types of data matching capabilities: numerical selector, partial data selector, conditional dimension selector, and conditional measure selector.

    If selector is not configured, the style applies globally.

    selector

    Type: Selector | Selectors | undefined

    Description

    Data selector

    If selector is configured, it provides four types of data matching capabilities: numerical selector, partial data selector, conditional dimension selector, and conditional measure selector.

    If selector is not configured, the style applies globally.

    Example Numerical 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

    Description

    Dimension field, the ID of a dimension item

    operator

    Type: "in" | "not in" | undefined

    Description

    Operator

    - in: Select data items where the value of the dimension field is in 'value'

    - not in: Select data items where the value of the dimension field is not in 'value'

    op

    Type: "in" | "not in" | undefined

    Description

    Operator

    - in: Select data items where the value of the dimension field is in 'value'

    - not in: Select data items where the value of the dimension field is not in 'value'

    Same as operator

    value

    Type: string | number | (string | number)[]

    Description

    Select the value of the dimension field in the data item, supports arrays

    dynamicFilter

    Type: ChartDynamicFilter | undefined

    Description

    Dynamic filter (AI-generated code execution)

    Implement complex data filtering logic via AI-generated JavaScript code

    Suitable for scenarios that are difficult to express with static selectors, such as Top N, statistical analysis, and complex conditions

    Core capabilities:

    • Supports any complex data filtering conditions

    • Use built-in utility functions for data operations

    • Execute safely in the 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

    Implement filtering of chart marks (bars, points, etc.) via AI-generated JavaScript code

    type

    Type: "row-with-field"

    description

    Type: string | undefined

    Description

    User filtering requirement description (natural language)

    Example "Highlight bars with sales greater than 1000"

    "Highlight the bar with the highest profit margin in each region"

    code

    Type: string

    Description

    AI-generated JavaScript filtering code

    • Can only use built-in utility functions (accessed via _ or R)

    • Input parameter: data (array), each item contains __row_index 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 data item row number, and field represents the field to highlight

    • Forbidden: eval, Function, asynchronous operations, DOM API, network requests

    Example Highlight the sales field of data items with sales greater than 1000

    const filtered = _.filter(data, item => item.sales > 1000);
    return _.map(filtered, item => ({
    __row_index: item.__row_index,
    field: 'sales'
    }));

    Highlight the data item with the highest profit margin in each region

    const grouped = _.groupBy(data, 'area');
    const maxItems = _.map(grouped, group =>
    _.maxBy(group, item => item.profit / item.sales)
    );
    return _.flatten(
    _.map(maxItems, item => [
    { __row_index: item.__row_index, field: 'product' },
    { __row_index: item.__row_index, field: 'profit' }
    ])
    );

    Highlight data items that match multiple conditions

    const filtered = _.filter(data, item => {
    const profitRate = item.profit / item.sales;
    return profitRate > 0.2 && item.sales > 5000;
    });
    return _.flatten(
    _.map(filtered, item => [
    { __row_index: item.__row_index, field: 'product' },
    { __row_index: item.__row_index, field: 'sales' }
    ])
    );

    fallback

    Type: Selector | Selectors | undefined

    Description

    Fallback when code execution fails or the environment is unsupported

    field

    Type: string

    Description

    Dimension field, the id of an item in dimensions

    operator

    Type: "in" | "not in" | undefined

    Description

    Operator

    • in: selects data items where the dimension field value is in value

    • not in: selects data items where the dimension field value is not in value

    op

    Type: "in" | "not in" | undefined

    Description

    Operator

    • in: selects data items where the dimension field value is in value

    • not in: selects data items where the dimension field value is not in value

    same as operator

    value

    Type: string | number | (string | number)[]

    Description

    Selects the value of the dimension field in the data item; arrays are supported

    result

    Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined

    Description

    Dynamic filter execution result (runtime field)

    Written during prepare(); read-only at runtime

    success

    Type: false | true

    data

    Type: T[] | undefined

    error

    Type: string | undefined

    lineVisible

    Type: boolean | undefined

    Description

    Whether the line segment is visible

    lineSmooth

    Type: boolean | undefined

    Description

    Whether the line segment is smooth

    lineColor

    Type: string | undefined

    Description

    Line segment color

    lineColorOpacity

    Type: number | undefined

    Description

    Line segment color opacity

    lineWidth

    Type: number | undefined

    Description

    Line segment width

    lineStyle

    Type: "solid" | "dashed" | "dotted" | undefined

    Description

    Line segment style

    Example lineStyle: 'solid'

    areaStyle

    Type: AreaStyle | AreaStyle[] | undefined

    Description

    Area element style configuration, used to define the chart's area element styles, including color, opacity, border, etc.

    Supports global style or conditional style configuration.

    Data filter

    If selector is configured, it provides four types of data matching capabilities: numerical selector, partial data selector, conditional dimension selector, and conditional measure selector.

    If selector is not configured, the style applies globally.

    selector

    Type: Selector | Selectors | undefined

    Description

    Data selector

    If selector is configured, it provides four types of data matching capabilities: numerical selector, partial data selector, conditional dimension selector, and conditional measure selector.

    If selector is not configured, the style applies globally.

    Example Numerical 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

    Description

    Dimension field, the ID of a dimension item

    operator

    Type: "in" | "not in" | undefined

    Description

    Operator

    - in: Select data items where the value of the dimension field is in 'value'

    - not in: Select data items where the value of the dimension field is not in 'value'

    op

    Type: "in" | "not in" | undefined

    Description

    Operator

    - in: Select data items where the value of the dimension field is in 'value'

    - not in: Select data items where the value of the dimension field is not in 'value'

    Same as operator

    value

    Type: string | number | (string | number)[]

    Description

    Select the value of the dimension field in the data item, supports arrays

    dynamicFilter

    Type: ChartDynamicFilter | undefined

    Description

    Dynamic filter (AI-generated code execution)

    Implement complex data filtering logic via AI-generated JavaScript code

    Suitable for scenarios that are difficult to express with static selectors, such as Top N, statistical analysis, and complex conditions

    Core capabilities:

    • Supports any complex data filtering conditions

    • Use built-in utility functions for data operations

    • Execute safely in the 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

    Implement filtering of chart marks (bars, points, etc.) via AI-generated JavaScript code

    type

    Type: "row-with-field"

    description

    Type: string | undefined

    Description

    User filtering requirement description (natural language)

    Example "Highlight bars with sales greater than 1000"

    "Highlight the bar with the highest profit margin in each region"

    code

    Type: string

    Description

    AI-generated JavaScript filtering code

    • Can only use built-in utility functions (accessed via _ or R)

    • Input parameter: data (array), each item contains __row_index 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 data item row number, and field represents the field to highlight

    • Forbidden: eval, Function, asynchronous operations, DOM API, network requests

    Example Highlight the sales field of data items with sales greater than 1000

    const filtered = _.filter(data, item => item.sales > 1000);
    return _.map(filtered, item => ({
    __row_index: item.__row_index,
    field: 'sales'
    }));

    Highlight the data item with the highest profit margin in each region

    const grouped = _.groupBy(data, 'area');
    const maxItems = _.map(grouped, group =>
    _.maxBy(group, item => item.profit / item.sales)
    );
    return _.flatten(
    _.map(maxItems, item => [
    { __row_index: item.__row_index, field: 'product' },
    { __row_index: item.__row_index, field: 'profit' }
    ])
    );

    Highlight data items that match multiple conditions

    const filtered = _.filter(data, item => {
    const profitRate = item.profit / item.sales;
    return profitRate > 0.2 && item.sales > 5000;
    });
    return _.flatten(
    _.map(filtered, item => [
    { __row_index: item.__row_index, field: 'product' },
    { __row_index: item.__row_index, field: 'sales' }
    ])
    );

    fallback

    Type: Selector | Selectors | undefined

    Description

    Fallback when code execution fails or the environment is unsupported

    field

    Type: string

    Description

    Dimension field, the id of an item in dimensions

    operator

    Type: "in" | "not in" | undefined

    Description

    Operator

    • in: selects data items where the dimension field value is in value

    • not in: selects data items where the dimension field value is not in value

    op

    Type: "in" | "not in" | undefined

    Description

    Operator

    • in: selects data items where the dimension field value is in value

    • not in: selects data items where the dimension field value is not in value

    same as operator

    value

    Type: string | number | (string | number)[]

    Description

    Selects the value of the dimension field in the data item; arrays are supported

    result

    Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined

    Description

    Dynamic filter execution result (runtime field)

    Written during prepare(); read-only at runtime

    success

    Type: false | true

    data

    Type: T[] | undefined

    error

    Type: string | undefined

    areaVisible

    Type: boolean | undefined

    Description

    Whether the area element is visible

    Whether the area element is visible

    areaColor

    Type: string | undefined

    Description

    Area element color

    Area element color

    areaColorOpacity

    Type: number | undefined

    Description

    Area element color opacity

    Area element color opacity

    locale

    Type: "zh-CN" | "en-US" | "ja-JP" | "de-DE" | "id-ID" | "fr-FR" | "ko-KR" | "vi-VN" | undefined

    Description

    Language

    Chart language configuration. Supports 'zh-CN' and 'en-US'. Additionally, the intl.setLocale('zh-CN') method can be called to set the language.