Donut

Khuyến nghị
  • Cấu hình trường khuyến nghị: 1 chỉ số, 2 chiều

  • Hỗ trợ reshape dữ liệu: ít nhất 1 chỉ số, 0 chiều :::

:::info{title=Ánh xạ mã hóa} Biểu đồ vòng hỗ trợ các kênh trực quan sau:

angle : kênh góc, hỗ trợ nhiều chỉ số, ánh xạ giá trị chỉ số tới góc hình quạt

detail : kênh chi tiết, hỗ trợ nhiều chiều, dùng để hiển thị dữ liệu chi tiết hơn trong cùng một chuỗi màu

color : kênh màu, hỗ trợ nhiều chiều hoặc một chỉ số; màu của chiều dùng để phân biệt các chuỗi dữ liệu, còn màu của chỉ số dùng để ánh xạ tuyến tính giá trị chỉ số sang màu đồ họa

tooltip: kênh tooltip, hỗ trợ nhiều chiềunhiều chỉ số, hiển thị khi hover lên điểm dữ liệu

label : kênh nhãn, hỗ trợ nhiều chiềunhiều chỉ số, hiển thị nhãn dữ liệu trên điểm dữ liệu

Mô tả

Biểu đồ vòng phù hợp để thể hiện quan hệ tỷ trọng của dữ liệu một chiều, với vùng trống ở giữa có thể hiển thị thông tin tổng hợp.

Tình huống phù hợp:

  • Cần hiển thị đồng thời dữ liệu tổng thể và tỷ trọng của từng phần

  • Nhấn mạnh quan hệ giữa tổng thể và các phần

  • Cần hiển thị chỉ số chính hoặc tiêu đề ở vùng trung tâm :::

:::warning{title=Warning} Yêu cầu dữ liệu:

  • Ít nhất 1 trường chỉ số

  • Tất cả chiều sẽ được gộp với tên chỉ số (khi có nhiều chỉ số) và hiển thị dưới dạng mục chú giải

  • Tất cả chỉ số sẽ tự động được gộp thành một chỉ số

Tính năng bật mặc định:

  • Chú giải, nhãn dữ liệu, tooltip, tính toán tỷ trọng và văn bản trung tâm được bật mặc định :::

chartType

Type: "donut"

:::note{title=Mô tả} Biểu đồ vòng

Biểu đồ vòng là biến thể của biểu đồ tròn với vùng trống ở giữa.

Ví dụ 'donut'

dataset

Type: Record[]

Mô tả

Tập dữ liệu

Tập dữ liệu đã được tổng hợp và tuân thủ đặc tả TidyData, dùng để định nghĩa nguồn dữ liệu và cấu trúc của biểu đồ. Dữ liệu do người dùng nhập không cần xử lý thêm; VSeed có năng lực reshape dữ liệu mạnh mẽ và sẽ tự động reshape dữ liệu. Dữ liệu của biểu đồ vòng cuối cùng sẽ được chuyển thành 1 chiều và 1 chỉ số.

Ví dụ [{category:'A', value:30}, {category:'B', value:70}]

dimensions

Type: PieDimension[] | undefined

Mô tả

Chiều

Tất cả chiều của biểu đồ vòng được gộp với tên chỉ số (khi có nhiều chỉ số) thành 1 chiều, ánh xạ tới góc của biểu đồ tròn và hiển thị dưới dạng mục chú giải.

Ví dụ [{id: 'category', alias: 'Danh mục'}]

id

Type: string

Mô tả

ID field tương ứng với chiều

alias

Type: string | undefined

Mô tả

Alias chiều

timeFormat

Type: TimeFormat | undefined

Mô tả

Cấu hình định dạng ngày của chiều

type

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

Mô tả

Độ chi tiết thời gian, quyết định độ chính xác hiển thị ngày

encoding

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

Mô tả

Kênh mà chiều được ánh xạ tới

- color: hỗ trợ ánh xạ nhiều chiều tới kênh màu

- detail: hỗ trợ ánh xạ nhiều chiều tới kênh chi tiết

- tooltip: hỗ trợ ánh xạ nhiều chiều vào kênh tooltip

- label: hỗ trợ ánh xạ nhiều chiều vào kênh nhãn

- row: hỗ trợ ánh xạ nhiều chiều tới kênh hàng

- column: hỗ trợ ánh xạ nhiều chiều tới kênh cột

measures

Type: PieMeasure[] | undefined

Mô tả

Chỉ số

Tất cả chỉ số của biểu đồ vòng tự động được gộp thành một chỉ số và ánh xạ tới bán kính của biểu đồ tròn. Khi có nhiều chỉ số, tên chỉ số được gộp với các chiều còn lại và hiển thị dưới dạng mục chú giải.

Ví dụ [{id: 'value', alias: 'Tỷ trọng giá trị', format: 'percent'}]

id

Type: string

Mô tả

ID chỉ số, không được trùng lặp

alias

Type: string | undefined

Mô tả

Bí danh chỉ số, cho phép trùng lặp. Nếu không điền, alias sẽ dùng id

autoFormat

Type: boolean | undefined

Mô tả

Tự động định dạng số, bật mặc định và có độ ưu tiên cao nhất

Khi autoFormat=true, nó sẽ ghi đè mọi cấu hình numFormat

Khi bật, nhãn và tooltip của biểu đồ sẽ tự động chọn định dạng phù hợp theo giá trị chỉ số và locale

Quy tắc định dạng: số thập phân, bật compact notation, tối thiểu 0 chữ số thập phân, tối đa 2 chữ số thập phân, tự động làm tròn, dùng Intl.NumberFormat của trình duyệt

Ví dụ:

- locale=zh-CN: 749740.264 → 74.45万

- locale=en-US: 749740.264 → 744.5K

numFormat

Type: NumFormat | undefined

Mô tả

Định dạng số tùy chỉnh cho chỉ số, tự động áp dụng cho label và tooltip

Lưu ý: để dùng định dạng tùy chỉnh, phải đặt rõ autoFormat=false; nếu không autoFormat sẽ ghi đè cấu hình này

type

Type: "number" | "percent" | "permille" | "scientific" | undefined

Mô tả

Loại định dạng số. Hỗ trợ số (thập phân), phần trăm (%), phần nghìn (‰) và ký pháp khoa học

ratio

Type: number | undefined

Mô tả

Tỷ lệ định dạng số, không được bằng 0

Ví dụ - 100000 được chuyển thành 10万, ratio:10000, symbol:"万" - 100000 được chuyển thành 10K, ratio:1000, symbol:"K"

symbol

Type: string | undefined

Mô tả

Ký hiệu định dạng số, ví dụ % hoặc ‰

Ví dụ - 100000 được chuyển thành 10万, ratio:10000, symbol:"万" - 100000 được chuyển thành 10K, ratio:1000, symbol:"K"

thousandSeparator

Type: boolean | undefined

Mô tả

Dấu phân tách hàng nghìn cho định dạng số

suffix

Type: string | undefined

Mô tả

Hậu tố định dạng số

prefix

Type: string | undefined

Mô tả

Tiền tố định dạng số

fractionDigits

Type: number | undefined

Mô tả

Số chữ số thập phân khi định dạng số, dùng minimumFractionDigits và maximumFractionDigits của Intl.NumberFormat trình duyệt. Có độ ưu tiên thấp hơn significantDigits

Ví dụ - 1234.5678 chuyển thành 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.56780, fractionDigits:5 (roundingMode:halfCeil)

significantDigits

Type: number | undefined

Mô tả

Số chữ số có nghĩa khi định dạng số, dùng minimumSignificantDigits và maximumSignificantDigits của Intl.NumberFormat trình duyệt. Có độ ưu tiên cao hơn fractionDigits

Ví dụ - 1234.5678 chuyển thành 1000, significantDigits:1 - 1234.5678 chuyển thành 1200, significantDigits:2 - 1234.5678 chuyển thành 1230, significantDigits:3 - 1234.5678 chuyển thành 1234, significantDigits:4 - 1234.5678 chuyển thành 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.5678, significantDigits:8 (roundingMode:halfCeil)

roundingPriority

Type: "morePrecision" | "lessPrecision" | undefined

Mô tả

Độ ưu tiên làm tròn khi đồng thời đặt significantDigits và fractionDigits, dùng Intl.NumberFormat của trình duyệt với cùng quy tắc như roundingPriority của Intl.NumberFormat

Ví dụ - 1234.5678 chuyển thành 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 chuyển thành 1234.5678, significantDigits:3 (roundingPriority:morePrecision)

roundingMode

Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined

Mô tả

Chế độ làm tròn khi định dạng số, dùng Intl.NumberFormat của trình duyệt với cùng quy tắc như roundingMode của Intl.NumberFormat

format

Type: NumFormat | undefined

type

Type: "number" | "percent" | "permille" | "scientific" | undefined

Mô tả

Loại định dạng số. Hỗ trợ số (thập phân), phần trăm (%), phần nghìn (‰) và ký pháp khoa học

ratio

Type: number | undefined

Mô tả

Tỷ lệ định dạng số, không được bằng 0

Ví dụ - 100000 được chuyển thành 10万, ratio:10000, symbol:"万" - 100000 được chuyển thành 10K, ratio:1000, symbol:"K"

symbol

Type: string | undefined

Mô tả

Ký hiệu định dạng số, ví dụ % hoặc ‰

Ví dụ - 100000 được chuyển thành 10万, ratio:10000, symbol:"万" - 100000 được chuyển thành 10K, ratio:1000, symbol:"K"

thousandSeparator

Type: boolean | undefined

Mô tả

Dấu phân tách hàng nghìn cho định dạng số

suffix

Type: string | undefined

Mô tả

Hậu tố định dạng số

prefix

Type: string | undefined

Mô tả

Tiền tố định dạng số

fractionDigits

Type: number | undefined

Mô tả

Số chữ số thập phân khi định dạng số, dùng minimumFractionDigits và maximumFractionDigits của Intl.NumberFormat trình duyệt. Có độ ưu tiên thấp hơn significantDigits

Ví dụ - 1234.5678 chuyển thành 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.56780, fractionDigits:5 (roundingMode:halfCeil)

significantDigits

Type: number | undefined

Mô tả

Số chữ số có nghĩa khi định dạng số, dùng minimumSignificantDigits và maximumSignificantDigits của Intl.NumberFormat trình duyệt. Có độ ưu tiên cao hơn fractionDigits

Ví dụ - 1234.5678 chuyển thành 1000, significantDigits:1 - 1234.5678 chuyển thành 1200, significantDigits:2 - 1234.5678 chuyển thành 1230, significantDigits:3 - 1234.5678 chuyển thành 1234, significantDigits:4 - 1234.5678 chuyển thành 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.5678, significantDigits:8 (roundingMode:halfCeil)

roundingPriority

Type: "morePrecision" | "lessPrecision" | undefined

Mô tả

Độ ưu tiên làm tròn khi đồng thời đặt significantDigits và fractionDigits, dùng Intl.NumberFormat của trình duyệt với cùng quy tắc như roundingPriority của Intl.NumberFormat

Ví dụ - 1234.5678 chuyển thành 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 chuyển thành 1234.5678, significantDigits:3 (roundingPriority:morePrecision)

roundingMode

Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined

Mô tả

Chế độ làm tròn khi định dạng số, dùng Intl.NumberFormat của trình duyệt với cùng quy tắc như roundingMode của Intl.NumberFormat

encoding

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

Mô tả

Kênh mà chỉ số được ánh xạ tới

- angle: góc mà chỉ số được ánh xạ tới

- color: chỉ số được ánh xạ tới kênh màu

- label: chỉ số được ánh xạ vào kênh nhãn

- tooltip: chỉ số được ánh xạ vào kênh tooltip

parentId

Type: string | undefined

Mô tả

Ở dạng cấu hình chỉ số phẳng, xây dựng nhóm chỉ số dạng cây. parentId trỏ tới id của nhóm chỉ số cha và dùng để xây dựng cây chỉ số

Tip

Cấu hình cây chỉ số có hai hình thức: cấu hình trực tiếp cây chỉ số có children, hoặc cấu hình danh sách chỉ số phẳng với parentId. Hai hình thức này không thể dùng đồng thời.

page

Type: Page | undefined

Mô tả

Cấu hình phân trang, dùng để chỉ định tên trường phân trang và trường đó bắt buộc phải là chiều.

field

Type: string

Mô tả

Trường phân trang; chỉ định tên trường dùng cho phân trang và phải là một chiều

currentValue

Type: string

Mô tả

Giá trị phân trang hiện tại; chỉ định giá trị dùng để xác định trang hiện tại

Ví dụ '2023-01-01'

backgroundColor

Type: BackgroundColor

Mô tả

Màu nền biểu đồ

Màu nền có thể là chuỗi màu (ví dụ 'red', 'blue') hoặc giá trị hex, rgb, rgba (ví dụ '#ff0000', 'rgba(255,0,0,0.5)')

color

Type: Color | undefined

Mô tả

Màu sắc

Cấu hình màu dùng để xác định bảng màu của biểu đồ, bao gồm danh sách màu, ánh xạ màu, gradient màu, v.v.

colorScheme

Type: string[] | undefined

Mô tả

Bảng màu rời rạc, dùng để định nghĩa màu của các phần tử khác nhau trong biểu đồ

Ví dụ ['#FFCDD2,#F8BBD0,#E1BEE7,#D1C4E9,#C5CAE9,#BBDEFB,#B3E5FC,#B2EBF2,#B2DFDB,#C8E6C9,#DCEDC8,#F0F4C3,#FFF9C4,#FFECB3,#FFE0B2']

linearColorScheme

Type: string[] | undefined

Mô tả

Bảng màu gradient tuyến tính, dùng để định nghĩa màu của các phần tử khác nhau trong biểu đồ

Ví dụ ['#FFCDD2, #F8BBD0]

colorMapping

Type: Record<string, string> | undefined

Mô tả

Ánh xạ màu, dùng để ánh xạ giá trị dữ liệu tới màu cụ thể

Ví dụ { 'profit': 'red', 'sales': 'blue', }

positiveColor

Type: string | undefined

Mô tả

Cấu hình màu dương/âm, dùng để định nghĩa màu cho giá trị dương trong biểu đồ

negativeColor

Type: string | undefined

Mô tả

Cấu hình màu dương/âm, dùng để định nghĩa màu cho giá trị âm trong biểu đồ

label

Type: PieLabel | undefined

Mô tả

Nhãn

Cấu hình nhãn dùng để định nghĩa nhãn dữ liệu của biểu đồ, bao gồm vị trí, định dạng và kiểu hiển thị.

enable

Type: false | true

Mô tả

Có bật nhãn hay không

wrap

Type: boolean | undefined

Mô tả

Có cho nhãn xuống dòng hay không

showValue

Type: boolean | undefined

Mô tả

Có hiển thị giá trị chỉ số trên nhãn hay không

Trong tình huống có nhiều chỉ số, không cần lo các giá trị mâu thuẫn với nhau, vì mọi chỉ số liên quan đến việc vẽ đều được xử lý qua foldMeasures và gộp thành một chỉ số đại diện cho một điểm dữ liệu.

Lưu ý: encoding.label có độ ưu tiên cao hơn; cấu hình này không ảnh hưởng đến encoding.label

showValuePercent

Type: boolean | undefined

Mô tả

Có hiển thị phần trăm giá trị chỉ số trên nhãn hay không

Trong tình huống có nhiều chỉ số, không cần lo các giá trị mâu thuẫn với nhau, vì mọi chỉ số liên quan đến việc vẽ đều được xử lý qua foldMeasures và gộp thành một chỉ số đại diện cho một điểm dữ liệu.

Lưu ý: encoding.label có độ ưu tiên cao hơn; cấu hình này không ảnh hưởng đến encoding.label

showDimension

Type: boolean | undefined

Mô tả

Có hiển thị nhãn chiều hay không

Hiển thị tất cả nhãn chiều

Lưu ý: encoding.label có độ ưu tiên cao hơn; cấu hình này không ảnh hưởng đến encoding.label

autoFormat

Type: boolean | undefined

Mô tả

Có tự động định dạng giá trị nhãn hay không. Khi autoFormat là true, cấu hình numFormat sẽ không có hiệu lực

numFormat

Type: NumFormat | undefined

Mô tả

Cấu hình định dạng giá trị nhãn. Cấu hình này được gộp với format trong measure; format trong measure có độ ưu tiên cao hơn. numFormat có độ ưu tiên thấp hơn autoFormat

type

Type: "number" | "percent" | "permille" | "scientific" | undefined

Mô tả

Loại định dạng số. Hỗ trợ số (thập phân), phần trăm (%), phần nghìn (‰) và ký pháp khoa học

ratio

Type: number | undefined

Mô tả

Tỷ lệ định dạng số, không được bằng 0

Ví dụ - 100000 được chuyển thành 10万, ratio:10000, symbol:"万" - 100000 được chuyển thành 10K, ratio:1000, symbol:"K"

symbol

Type: string | undefined

Mô tả

Ký hiệu định dạng số, ví dụ % hoặc ‰

Ví dụ - 100000 được chuyển thành 10万, ratio:10000, symbol:"万" - 100000 được chuyển thành 10K, ratio:1000, symbol:"K"

thousandSeparator

Type: boolean | undefined

Mô tả

Dấu phân tách hàng nghìn cho định dạng số

suffix

Type: string | undefined

Mô tả

Hậu tố định dạng số

prefix

Type: string | undefined

Mô tả

Tiền tố định dạng số

fractionDigits

Type: number | undefined

Mô tả

Số chữ số thập phân khi định dạng số, dùng minimumFractionDigits và maximumFractionDigits của Intl.NumberFormat trình duyệt. Có độ ưu tiên thấp hơn significantDigits

Ví dụ - 1234.5678 chuyển thành 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.56780, fractionDigits:5 (roundingMode:halfCeil)

significantDigits

Type: number | undefined

Mô tả

Số chữ số có nghĩa khi định dạng số, dùng minimumSignificantDigits và maximumSignificantDigits của Intl.NumberFormat trình duyệt. Có độ ưu tiên cao hơn fractionDigits

Ví dụ - 1234.5678 chuyển thành 1000, significantDigits:1 - 1234.5678 chuyển thành 1200, significantDigits:2 - 1234.5678 chuyển thành 1230, significantDigits:3 - 1234.5678 chuyển thành 1234, significantDigits:4 - 1234.5678 chuyển thành 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 chuyển thành 1234.5678, significantDigits:8 (roundingMode:halfCeil)

roundingPriority

Type: "morePrecision" | "lessPrecision" | undefined

Mô tả

Độ ưu tiên làm tròn khi đồng thời đặt significantDigits và fractionDigits, dùng Intl.NumberFormat của trình duyệt với cùng quy tắc như roundingPriority của Intl.NumberFormat

Ví dụ - 1234.5678 chuyển thành 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 chuyển thành 1234.5678, significantDigits:3 (roundingPriority:morePrecision)

roundingMode

Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined

Mô tả

Chế độ làm tròn khi định dạng số, dùng Intl.NumberFormat của trình duyệt với cùng quy tắc như roundingMode của Intl.NumberFormat

labelFontSize

Type: number | undefined

Mô tả

Cỡ chữ nhãn

labelFontWeight

Type: string | number | undefined

Mô tả

Độ đậm chữ nhãn

labelBackgroundColor

Type: string | undefined

Mô tả

Màu nền nhãn

labelStroke

Type: string | undefined

Mô tả

Màu viền chữ nhãn

labelColor

Type: string | undefined

Mô tả

Màu chữ nhãn

labelColorSmartInvert

Type: boolean | undefined

Mô tả

Có tự động đảo màu chữ nhãn theo màu mark hay không

labelPosition

Type: "inside" | "outside" | undefined

Mô tả

Vị trí nhãn

labelOverlap

Type: boolean | undefined

Mô tả

Có bật chống chồng lấn nhãn hay không

selector

Type: Selector | Selectors | undefined

Mô tả

Bộ lọc nhãn. Mặc định quan hệ điều kiện giữa các selectors là OR

field

Type: string

Mô tả

Trường chiều, là id của một mục trong dimensions

operator

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

Mô tả

Toán tử

- in: chọn các mục dữ liệu có giá trị trường chiều nằm trong value

- not in: chọn các mục dữ liệu có giá trị trường chiều không nằm trong value

op

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

Mô tả

Toán tử

- in: chọn các mục dữ liệu có giá trị trường chiều nằm trong value

- not in: chọn các mục dữ liệu có giá trị trường chiều không nằm trong value

giống operator

value

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

Mô tả

Chọn giá trị của trường chiều trong mục dữ liệu. Hỗ trợ mảng

dynamicFilter

Type: ChartDynamicFilter | undefined

Mô tả

Bộ lọc động (thực thi mã do AI tạo)

Triển khai logic lọc dữ liệu phức tạp bằng mã JavaScript do AI tạo

Năng lực chính:

- Hỗ trợ điều kiện lọc dữ liệu phức tạp tùy ý

- Sử dụng hàm tiện ích tích hợp để thao tác dữ liệu

- Thực thi an toàn trong môi trường trình duyệt (sandbox Web Worker)

Yêu cầu môi trường: chỉ hỗ trợ môi trường trình duyệt; môi trường Node.js sẽ dùng fallback

Lưu ý: selector và dynamicFilter không thể dùng đồng thời. dynamicFilter có độ ưu tiên cao hơn

Cấu hình bộ lọc động của biểu đồ

Dùng mã JavaScript do AI tạo để lọc các mark của biểu đồ (cột, điểm, v.v.)

type

Type: "row-with-field"

description

Type: string | undefined

Mô tả

Mô tả yêu cầu lọc của người dùng (ngôn ngữ tự nhiên)

Ví dụ "Highlight các cột có doanh số lớn hơn 1000"

"Highlight cột có biên lợi nhuận cao nhất trong từng khu vực"

code

Type: string

Mô tả

Mã lọc JavaScript do AI tạo

- Chỉ được dùng các hàm tiện ích tích hợp (truy cập qua _ hoặc R)

- Tham số đầu vào: data (mảng), mỗi item chứa trường __row_index biểu thị số dòng

- Phải trả về mảng tổ hợp chỉ mục dòng và trường: Array<{ __row_index: number, field: string }>

- __row_index là số dòng của mục dữ liệu gốc, field là trường cần highlight

- Cấm dùng: eval, Function, thao tác bất đồng bộ, DOM API, yêu cầu mạng

Ví dụ Highlight trường sales của các mục dữ liệu có doanh số lớn hơn 1000

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

Highlight mục dữ liệu có biên lợi nhuận cao nhất trong từng khu vực

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 các mục dữ liệu thỏa nhiều điều kiện lọc

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

Mô tả

Phương án fallback khi thực thi mã thất bại hoặc môi trường không hỗ trợ

field

Type: string

Mô tả

Trường chiều, là id của một mục trong dimensions

operator

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

Mô tả

Toán tử

- in: chọn các mục dữ liệu có giá trị trường chiều nằm trong value

- not in: chọn các mục dữ liệu có giá trị trường chiều không nằm trong value

op

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

Mô tả

Toán tử

- in: chọn các mục dữ liệu có giá trị trường chiều nằm trong value

- not in: chọn các mục dữ liệu có giá trị trường chiều không nằm trong value

giống operator

value

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

Mô tả

Chọn giá trị của trường chiều trong mục dữ liệu. Hỗ trợ mảng

result

Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined

Mô tả

Kết quả thực thi bộ lọc động (trường runtime)

Được ghi ở giai đoạn prepare(); chỉ đọc khi runtime

success

Type: false | true

data

Type: T[] | undefined

error

Type: string | undefined

labelLayout

Type: "arc" | "labelLine" | "edge" | undefined

Mô tả

Cách bố trí nhãn, chỉ có hiệu lực với biểu đồ tròn và donut khi labelPositionoutside

- arc: bố trí nhãn theo dạng cung

- labelLine: căn hai đầu nhãn và kết nối phần tử hình quạt với nhãn bằng đường dẫn

- edge: căn hai đầu nhãn, kết nối phần tử hình quạt với nhãn bằng đường dẫn và đặt gần hai mép biểu đồ

legend

Type: Legend | undefined

Mô tả

Chú giải

Cấu hình chú giải dùng để định nghĩa chú giải của biểu đồ, bao gồm vị trí, định dạng và kiểu hiển thị.

enable

Type: boolean | undefined

Mô tả

Có bật chú giải hay không

Ví dụ enable: true

border

Type: boolean | undefined

Mô tả

Có bật viền chú giải hay không

Warning

Chỉ có hiệu lực với chú giải rời rạc

Ví dụ border: true

labelColor

Type: string | undefined

Mô tả

Màu chữ chú giải

pagerIconColor

Type: string | undefined

Mô tả

Màu icon phân trang

pagerIconDisableColor

Type: string | undefined

Mô tả

Màu icon phân trang khi bị vô hiệu hóa

labelFontSize

Type: number | undefined

Mô tả

Cỡ chữ chú giải

Ví dụ labelFontSize: 10

labelFontColor

Type: string | undefined

Mô tả

Màu chữ chú giải

labelFontWeight

Type: string | number | undefined

Mô tả

Độ đậm chữ chú giải

Ví dụ 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

Mô tả

Hình dạng chú giải

Warning

Chỉ có hiệu lực với chú giải rời rạc

Ví dụ 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

Mô tả

Vị trí chú giải

Ví dụ position: 'rightTop'

maxSize

Type: number | undefined

Mô tả

Số cột tối đa hoặc số hàng tối đa khi có nhiều mục chú giải

Nếu position theo hướng ngang (bottom, bottomLeft, bottomRight, bl, br, top, topLeft, topRight, tl, tr), maxSize kiểm soát số cột hiển thị

Nếu position theo hướng dọc (left, leftTop, leftBottom, lt, lb, right, rightTop, rightBottom, rt, rb), maxSize kiểm soát số hàng hiển thị

Warning

Chỉ có hiệu lực với chú giải rời rạc

Ví dụ maxSize: 2

tooltip

Type: Tooltip | undefined

Mô tả

Tooltip

Cấu hình tooltip dùng để định nghĩa tooltip của biểu đồ, bao gồm vị trí, định dạng và kiểu hiển thị.

enable

Type: false | true

Mô tả

Có bật tooltip hay không

brush

Type: Brush | undefined

Mô tả

Chọn vùng bằng brush

Cấu hình brush dùng để bật hoặc tắt khả năng chọn vùng bằng brush.

Cấu hình chọn vùng bằng brush của biểu đồ

enable

Type: boolean | undefined

Mô tả

Có bật chọn vùng bằng brush hay không

brushType

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

Mô tả

Loại brush

Định nghĩa hình dạng khung chọn và hướng chọn.

- rect: chọn vùng hình chữ nhật, có thể chọn đồng thời theo cả trục X và trục Y

- polygon: chọn vùng đa giác, vẽ đa giác tự do bằng cách nhấp nhiều điểm

- x: chọn theo hướng trục X, chỉ chọn theo hướng X và không giới hạn hướng Y

- y: chọn theo hướng trục Y, chỉ chọn theo hướng Y và không giới hạn hướng X

brushMode

Type: "single" | "multiple" | undefined

Mô tả

Chế độ brush, chọn đơn hoặc chọn nhiều

Định nghĩa chế độ chọn.

- single: chế độ chọn đơn, mỗi lần chỉ có một vùng chọn

- multiple: chế độ chọn nhiều, có thể tồn tại nhiều vùng chọn cùng lúc

removeOnClick

Type: boolean | undefined

Mô tả

Có xóa vùng brush sau khi chọn xong hay không

inBrushStyle

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

Mô tả

Kiểu dữ liệu nằm trong vùng brush

Định nghĩa kiểu của các điểm dữ liệu được chọn

opacity

Type: number | undefined

Mô tả

Độ mờ

Độ mờ của các điểm dữ liệu được chọn, phạm vi giá trị 0-1

stroke

Type: string | undefined

Mô tả

Màu nét viền

lineWidth

Type: number | undefined

Mô tả

Độ rộng nét viền

outOfBrushStyle

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

Mô tả

Kiểu dữ liệu nằm ngoài vùng brush

Định nghĩa kiểu của các điểm dữ liệu không được chọn

opacity

Type: number | undefined

Mô tả

Độ mờ

Độ mờ của các điểm dữ liệu không được chọn, phạm vi giá trị 0-1

stroke

Type: string | undefined

Mô tả

Màu nét viền

lineWidth

Type: number | undefined

Mô tả

Độ rộng nét viền

animation

Type: PieLikeAnimation | undefined

Mô tả

Cấu hình hoạt ảnh

Cấu hình hoạt ảnh của biểu đồ; các hiệu ứng khả dụng bị ràng buộc theo loại biểu đồ

enable

Type: boolean | undefined

Mô tả

Có bật hoạt ảnh biểu đồ tròn/donut/rose hay không

params

Type: PieLikeAnimationParams | undefined

Mô tả

Tham số hoạt ảnh biểu đồ tròn/donut/rose

appear

Type: PieLikeAppearAnimation | undefined

Mô tả

Cấu hình hoạt ảnh xuất hiện của biểu đồ tròn/donut/rose

effects

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

Mô tả

Hiệu ứng xuất hiện của biểu đồ tròn/donut/rose, hỗ trợ hoạt ảnh hướng tâm và thu phóng

enable

Type: boolean | undefined

Mô tả

Có bật giai đoạn hoạt ảnh hiện tại hay không

ease

Type: string | undefined

Mô tả

Hàm easing của hoạt ảnh

duration

Type: number | undefined

Mô tả

Thời lượng hoạt ảnh, đơn vị mili giây

color

Type: string | undefined

Mô tả

Màu highlight hoặc màu không khí của hoạt ảnh

update

Type: PieLikeUpdateAnimation | undefined

Mô tả

Cấu hình hoạt ảnh cập nhật của biểu đồ tròn/donut/rose

effects

Type: "radial"[] | undefined

Mô tả

Hiệu ứng cập nhật của biểu đồ tròn/donut/rose, hỗ trợ hoạt ảnh hướng tâm

enable

Type: boolean | undefined

Mô tả

Có bật giai đoạn hoạt ảnh hiện tại hay không

ease

Type: string | undefined

Mô tả

Hàm easing của hoạt ảnh

duration

Type: number | undefined

Mô tả

Thời lượng hoạt ảnh, đơn vị mili giây

color

Type: string | undefined

Mô tả

Màu highlight hoặc màu không khí của hoạt ảnh

loop

Type: PieLikeAnimationLoop | undefined

Mô tả

Cấu hình hoạt ảnh lặp của biểu đồ tròn/donut/rose

enable

Type: boolean | undefined

Mô tả

Có bật hoạt ảnh lặp hay không

interval

Type: number | undefined

Mô tả

Khoảng cách giữa các lần hoạt ảnh lặp, đơn vị mili giây

loop

Type: PieLikeLoopAnimation | undefined

Mô tả

Cấu hình hoạt ảnh lặp của biểu đồ tròn/donut/rose

effects

Type: PieLikeLoopEffect[] | undefined

Mô tả

Hiệu ứng lặp của biểu đồ tròn/donut/rose

enable

Type: boolean | undefined

Mô tả

Có bật giai đoạn hoạt ảnh hiện tại hay không

ease

Type: string | undefined

Mô tả

Hàm easing của hoạt ảnh

duration

Type: number | undefined

Mô tả

Thời lượng hoạt ảnh, đơn vị mili giây

color

Type: string | undefined

Mô tả

Màu highlight hoặc màu không khí của hoạt ảnh

atmosphere

Type: NoEffectAtmosphereConfig | undefined

Mô tả

Cấu hình hoạt ảnh không khí của biểu đồ tròn/donut/rose

ease

Type: string | undefined

Mô tả

Hàm easing của hoạt ảnh không khí

color

Type: string | undefined

Mô tả

Màu hoạt ảnh không khí

theme

Type: Theme | undefined

Mô tả

Chủ đề của biểu đồ. Chủ đề là cấu hình chức năng có độ ưu tiên thấp hơn, bao gồm cấu hình chung cho mọi loại biểu đồ và cấu hình dùng chung cho một loại biểu đồ

Có sẵn hai chủ đề light và dark. Người dùng có thể tùy chỉnh chủ đề qua Builder

Chủ đề

Có sẵn hai chủ đề light và dark. Chủ đề mới có thể được tùy chỉnh qua registerTheme.

Ví dụ 'dark'

'light'

'customThemeName'

length

Type: number

brand

Type: brand

locale

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

Mô tả

Ngôn ngữ

Cấu hình ngôn ngữ biểu đồ. Hỗ trợ 'zh-CN' và 'en-US'; cũng có thể gọi intl.setLocale('zh-CN') để đặt ngôn ngữ