RaceScatter
Diagram scatter dinamis (Race Scatter Chart)
Cocok untuk menampilkan distribusi data yang berubah seiring waktu; posisi titik data menunjukkan dua nilai metrik
Skenario penggunaan:
- Menganalisis karakteristik distribusi data dalam ruang dua dimensi dan menampilkan perubahan dinamisnya seiring waktu
- Menampilkan evolusi korelasi antara beberapa variabel seiring waktu
- Mengamati lintasan pergerakan titik data dalam ruang dua dimensi
Diagram scatter dinamis:
- Sumbu X dan Y sama-sama sumbu numerik (data kontinu), mendukung pemetaan beberapa metrik
- Mendukung kontrol dimensi waktu melalui pemutar untuk menampilkan perubahan data secara dinamis
- Menampilkan perubahan data secara intuitif melalui perubahan posisi titik data
chartType
Type: "raceScatter"
Diagram scatter dinamis, cocok untuk menampilkan distribusi data yang berubah seiring waktu
dataset
Type: Record[]
Sumber data
dimensions
Type: RaceScatterDimension[] | undefined
Dimensi, digunakan untuk membedakan seri data dan menampilkan legenda
id
Type: string
ID field yang sesuai dengan dimensi
alias
Type: string | undefined
Alias dimensi
timeFormat
Type: TimeFormat | undefined
Konfigurasi format tanggal dimensi
type
Type: "year" | "quarter" | "month" | "week" | "day" | "hour" | "minute" | "second"
Granularitas waktu, menentukan presisi tampilan tanggal
encoding
Type: "color" | "detail" | "tooltip" | "label" | "row" | "column" | "player" | undefined
Kanal tempat dimensi dipetakan dalam diagram race scatter
- color: mendukung pemetaan beberapa dimensi ke kanal warna
- detail: mendukung pemetaan beberapa dimensi ke kanal detail
- tooltip: mendukung pemetaan beberapa dimensi ke kanal tooltip
- label: mendukung pemetaan beberapa dimensi ke kanal label
- row: mendukung pemetaan beberapa dimensi ke kanal baris
- column: mendukung pemetaan beberapa dimensi ke kanal kolom
- player: mendukung pemetaan beberapa dimensi ke kanal pemutar
measures
Type: ScatterMeasure[] | undefined
Metrik. Diperlukan setidaknya dua metrik yang masing-masing dipetakan ke sumbu X dan sumbu Y.
id
Type: string
ID field yang sesuai dengan dimensi
alias
Type: string | undefined
Alias dimensi
autoFormat
Type: boolean | undefined
Pemformatan angka otomatis, aktif secara default, prioritas tertinggi
Saat autoFormat=true, semua konfigurasi numFormat akan ditimpa
Jika aktif, label data chart dan tooltip akan otomatis memilih format yang sesuai berdasarkan nilai measure dan locale
Aturan format: angka desimal dengan notasi ringkas aktif, minimum 0 digit desimal, maksimum 2 digit desimal, pembulatan otomatis, menggunakan implementasi Intl.NumberFormat browser
Contoh:
- locale='zh-CN': 749740.264 → 74.45万
- locale='en-US': 749740.264 → 744.5K
numFormat
Type: NumFormat | undefined
Pemformatan angka kustom untuk measure; otomatis diterapkan ke label dan tooltip
Catatan: Untuk menggunakan format kustom, Anda harus secara eksplisit mengatur autoFormat=false; jika tidak, autoFormat akan menimpa konfigurasi ini
type
Type: "number" | "percent" | "permille" | "scientific" | undefined
Jenis format angka, mendukung: number (desimal), percent (%), permille (‰), notasi ilmiah
ratio
Type: number | undefined
Rasio format angka, tidak boleh 0
Contoh - 100000 dikonversi menjadi 10万, ratio:10000, symbol:"万" - 100000 dikonversi menjadi 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Simbol format angka, mis. %, ‰
Contoh - 100000 dikonversi menjadi 10万, ratio:10000, symbol:"万" - 100000 dikonversi menjadi 10K, ratio:1000, symbol:"K"
thousandSeparator
Type: boolean | undefined
Pemisah ribuan untuk format angka
suffix
Type: string | undefined
Sufiks format angka
prefix
Type: string | undefined
Prefiks format angka
fractionDigits
Type: number | undefined
Jumlah digit desimal untuk format angka, menggunakan Intl.NumberFormat minimumFractionDigits dan maximumFractionDigits browser; prioritasnya lebih rendah daripada significantDigits
Contoh - 1234.5678 dikonversi menjadi 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.56780, fractionDigits:5 (roundingMode:halfCeil)
significantDigits
Type: number | undefined
Digit signifikan untuk format angka, menggunakan Intl.NumberFormat minimumSignificantDigits dan maximumSignificantDigits browser; prioritasnya lebih tinggi daripada fractionDigits
Contoh - 1234.5678 dikonversi menjadi 1000, significantDigits:1 - 1234.5678 dikonversi menjadi 1200, significantDigits:2 - 1234.5678 dikonversi menjadi 1230, significantDigits:3 - 1234.5678 dikonversi menjadi 1234, significantDigits:4 - 1234.5678 dikonversi menjadi 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.5678, significantDigits:8 (roundingMode:halfCeil)
roundingPriority
Type: "morePrecision" | "lessPrecision" | undefined
Prioritas pembulatan untuk format angka saat significantDigits dan fractionDigits sama-sama diatur; menggunakan Intl.NumberFormat browser dan mengikuti aturan yang sama dengan roundingPriority Intl.NumberFormat
Contoh - 1234.5678 dikonversi menjadi 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 dikonversi menjadi 1234.5678, significantDigits:3 (roundingPriority:morePrecision)
roundingMode
Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined
Mode pembulatan untuk format angka, menggunakan Intl.NumberFormat browser dan mengikuti aturan yang sama dengan roundingMode Intl.NumberFormat
format
Type: NumFormat | undefined
type
Type: "number" | "percent" | "permille" | "scientific" | undefined
Jenis format angka, mendukung: number (desimal), percent (%), permille (‰), notasi ilmiah
ratio
Type: number | undefined
Rasio format angka, tidak boleh 0
Contoh - 100000 dikonversi menjadi 10万, ratio:10000, symbol:"万" - 100000 dikonversi menjadi 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Simbol format angka, mis. %, ‰
Contoh - 100000 dikonversi menjadi 10万, ratio:10000, symbol:"万" - 100000 dikonversi menjadi 10K, ratio:1000, symbol:"K"
thousandSeparator
Type: boolean | undefined
Pemisah ribuan untuk format angka
suffix
Type: string | undefined
Sufiks format angka
prefix
Type: string | undefined
Prefiks format angka
fractionDigits
Type: number | undefined
Jumlah digit desimal untuk format angka, menggunakan Intl.NumberFormat minimumFractionDigits dan maximumFractionDigits browser; prioritasnya lebih rendah daripada significantDigits
Contoh - 1234.5678 dikonversi menjadi 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.56780, fractionDigits:5 (roundingMode:halfCeil)
significantDigits
Type: number | undefined
Digit signifikan untuk format angka, menggunakan Intl.NumberFormat minimumSignificantDigits dan maximumSignificantDigits browser; prioritasnya lebih tinggi daripada fractionDigits
Contoh - 1234.5678 dikonversi menjadi 1000, significantDigits:1 - 1234.5678 dikonversi menjadi 1200, significantDigits:2 - 1234.5678 dikonversi menjadi 1230, significantDigits:3 - 1234.5678 dikonversi menjadi 1234, significantDigits:4 - 1234.5678 dikonversi menjadi 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.5678, significantDigits:8 (roundingMode:halfCeil)
roundingPriority
Type: "morePrecision" | "lessPrecision" | undefined
Prioritas pembulatan untuk format angka saat significantDigits dan fractionDigits sama-sama diatur; menggunakan Intl.NumberFormat browser dan mengikuti aturan yang sama dengan roundingPriority Intl.NumberFormat
Contoh - 1234.5678 dikonversi menjadi 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 dikonversi menjadi 1234.5678, significantDigits:3 (roundingPriority:morePrecision)
roundingMode
Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined
Mode pembulatan untuk format angka, menggunakan Intl.NumberFormat browser dan mengikuti aturan yang sama dengan roundingMode Intl.NumberFormat
encoding
Type: "xAxis" | "color" | "tooltip" | "label" | "yAxis" | "size" | undefined
Kanal tempat metrik dipetakan
- xAxis: metrik yang dipetakan ke sumbu X
- yAxis: metrik yang dipetakan ke sumbu Y
- size: ukuran yang dipetakan dari metrik
- color: warna yang dipetakan dari metrik
- label: label yang dipetakan dari metrik
- tooltip: tooltip yang dipetakan dari metrik
parentId
Type: string | undefined
Dalam konfigurasi measure datar, membangun grup measure berbentuk pohon. parentId menunjuk ke id grup measure induk dan digunakan untuk membangun pohon measure
Ada dua cara mengonfigurasi pohon measure: opsi 1 adalah langsung mengonfigurasi pohon measure dengan children; opsi 2 adalah mengonfigurasi daftar measure datar dengan parentId. Kedua cara ini tidak dapat digunakan bersamaan
player
Type: Player | undefined
Konfigurasi pemutar, digunakan untuk menentukan dimensi waktu, konfigurasi inti diagram batang dinamis
Konfigurasi pemutar, digunakan untuk menentukan nama field yang diputar, harus berupa dimensi
Fitur ini tidak mendukung tipe chart seperti table, pivotTable, dualAxis, histogram, boxPlot, dan tidak mendukung penggunaan saat kombinasi metrik atau pivot baris/kolom diaktifkan
maxCount
Type: number | false | undefined
Jumlah pemutaran maksimum; data yang melebihi jumlah ini akan dipotong, false berarti tanpa batas
interval
Type: number | undefined
Interval pemutaran, satuan ms
autoPlay
Type: boolean | undefined
Apakah memutar otomatis
loop
Type: boolean | undefined
Apakah memutar berulang
position
Type: "left" | "top" | "right" | "bottom" | undefined
Posisi pemutar
railColor
Type: string | undefined
Warna track progress bar pemutar
fontFamily
Type: string | undefined
Font teks pemutar
fontSize
Type: number | undefined
Ukuran font teks pemutar
trackColor
Type: string | undefined
Warna progres progress bar pemutar
sliderHandleColor
Type: string | undefined
Warna slider progress bar pemutar
sliderHandleBorderColor
Type: string | undefined
Warna border slider progress bar pemutar
startButtonColor
Type: string | undefined
Warna tombol mulai pemutar
pauseButtonColor
Type: string | undefined
Warna tombol jeda pemutar
backwardButtonColor
Type: string | undefined
Warna tombol mundur pemutar
forwardButtonColor
Type: string | undefined
Warna tombol maju pemutar
sort
Type: Sort | undefined
Konfigurasi pengurutan sumbu X, mendukung pengurutan berdasarkan dimensi atau metrik serta urutan kustom
Konfigurasi pengurutan sumbu kategori, mendukung pengurutan berdasarkan dimensi atau metrik serta urutan kustom
Contoh sort: { orderBy: 'profit', order: 'asc', } sort: { customOrder:['2019', '2020', '2021'] }
- order:'asc' - orderBy:'date'
- customOrder:['2019', '2020', '2021']
order
Type: "asc" | "desc" | undefined
Urutan pengurutan; nilai yang tersedia adalah 'asc' atau 'desc'
Contoh order:'asc'
orderBy
Type: string | undefined
Sorot item data dengan tingkat profit tertinggi di setiap wilayah
Contoh - orderBy:'date' - orderBy:'profit'
customOrder
Type: string[] | undefined
Urutan kustom yang langsung diterapkan ke sumbu kategori
page
Type: Page | undefined
Paginasi
Konfigurasi paginasi untuk paginasi chart
field
Type: string
Field paginasi; menentukan nama field untuk paginasi dan harus berupa dimensi
currentValue
Type: string
Nilai paginasi saat ini; menentukan nilai yang digunakan untuk menentukan halaman saat ini
Contoh '2023-01-01'
backgroundColor
Type: BackgroundColor
Warna latar belakang chart
Warna latar belakang dapat berupa string warna (mis. 'red', 'blue'), atau nilai hex, rgb, atau rgba (mis. '#ff0000', 'rgba(255,0,0,0.5)')
size
Type: number | number[] | undefined
Ukuran metrik diagram scatter, digunakan untuk menentukan ukuran atau rentang ukuran titik data
- Jika rentang ukuran berupa angka seperti 10, ukuran titik data tetap 10
- Jika rentang ukuran berupa array dua elemen seperti [10, 40], ukuran titik data berada antara 10 dan 40
- Saling eksklusif dengan sizeRange; prioritas lebih rendah daripada size
sizeRange
Type: number | number[] | undefined
Rentang ukuran metrik diagram scatter, digunakan untuk menentukan rentang ukuran titik data,
- Jika rentang ukuran berupa array dua elemen seperti [10, 40], ukuran titik data berada antara 10 dan 40
- Jika rentang ukuran berupa angka seperti 10, ukuran titik data tetap 10
- Saling eksklusif dengan sizeRange; prioritas lebih tinggi daripada size
color
Type: Color | undefined
Warna
Konfigurasi warna untuk menentukan skema warna chart, termasuk daftar warna, mapping warna, dan gradien warna.
colorScheme
Type: string[] | undefined
Skema warna diskret untuk menentukan warna berbagai elemen dalam chart
Contoh ['#FFCDD2,#F8BBD0,#E1BEE7,#D1C4E9,#C5CAE9,#BBDEFB,#B3E5FC,#B2EBF2,#B2DFDB,#C8E6C9,#DCEDC8,#F0F4C3,#FFF9C4,#FFECB3,#FFE0B2']
linearColorScheme
Type: string[] | undefined
Skema warna gradien linear untuk menentukan warna berbagai elemen dalam chart
Contoh ['#FFCDD2, #F8BBD0]
colorMapping
Type: Record<string, string> | undefined
Mapping warna yang digunakan untuk memetakan nilai data ke warna tertentu
Contoh { 'profit': 'red', 'sales': 'blue', }
positiveColor
Type: string | undefined
Konfigurasi warna positif/negatif; menentukan warna untuk nilai positif dalam chart
negativeColor
Type: string | undefined
Konfigurasi warna positif/negatif; menentukan warna untuk nilai negatif dalam chart
label
Type: Label | undefined
Label
Konfigurasi label untuk menentukan label data dalam chart, termasuk posisi, format, dan gaya.
enable
Type: false | true
Apakah fungsi label diaktifkan
wrap
Type: boolean | undefined
Apakah label dibungkus ke baris berikutnya
showValue
Type: boolean | undefined
Apakah label menampilkan nilai measure
Dalam skenario multi-measure, tidak perlu khawatir terjadi konflik nilai, karena semua measure yang terkait dengan plot melewati proses foldMeasures dan digabung menjadi satu measure yang mewakili satu titik data
Catatan: label pada encoding memiliki prioritas lebih tinggi; konfigurasi ini tidak memengaruhi label pada encoding
showValuePercent
Type: boolean | undefined
Apakah label menampilkan persentase nilai measure
Dalam skenario multi-measure, tidak perlu khawatir terjadi konflik nilai, karena semua measure yang terkait dengan plot melewati proses foldMeasures dan digabung menjadi satu measure yang mewakili satu titik data
Catatan: label pada encoding memiliki prioritas lebih tinggi; konfigurasi ini tidak memengaruhi label pada encoding
showDimension
Type: boolean | undefined
Apakah label menampilkan label dimensi
Tampilkan semua label dimensi
Catatan: label pada encoding memiliki prioritas lebih tinggi; konfigurasi ini tidak memengaruhi label pada encoding
autoFormat
Type: boolean | undefined
Pemformatan angka otomatis, aktif secara default, prioritas tertinggi
Saat autoFormat=true, semua konfigurasi numFormat akan ditimpa
Jika aktif, label data chart dan tooltip akan otomatis memilih format yang sesuai berdasarkan nilai measure dan locale
Aturan format: angka desimal dengan notasi ringkas aktif, minimum 0 digit desimal, maksimum 2 digit desimal, pembulatan otomatis, menggunakan implementasi Intl.NumberFormat browser
Contoh:
- locale='zh-CN': 749740.264 → 74.45万
- locale='en-US': 749740.264 → 744.5K
numFormat
Type: NumFormat | undefined
Pemformatan angka kustom untuk measure; otomatis diterapkan ke label dan tooltip
Catatan: Untuk menggunakan format kustom, Anda harus secara eksplisit mengatur autoFormat=false; jika tidak, autoFormat akan menimpa konfigurasi ini
type
Type: "number" | "percent" | "permille" | "scientific" | undefined
Jenis format angka, mendukung: number (desimal), percent (%), permille (‰), notasi ilmiah
ratio
Type: number | undefined
Rasio format angka, tidak boleh 0
Contoh - 100000 dikonversi menjadi 10万, ratio:10000, symbol:"万" - 100000 dikonversi menjadi 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Simbol format angka, mis. %, ‰
Contoh - 100000 dikonversi menjadi 10万, ratio:10000, symbol:"万" - 100000 dikonversi menjadi 10K, ratio:1000, symbol:"K"
thousandSeparator
Type: boolean | undefined
Pemisah ribuan untuk format angka
suffix
Type: string | undefined
Sufiks format angka
prefix
Type: string | undefined
Prefiks format angka
fractionDigits
Type: number | undefined
Jumlah digit desimal untuk format angka, menggunakan Intl.NumberFormat minimumFractionDigits dan maximumFractionDigits browser; prioritasnya lebih rendah daripada significantDigits
Contoh - 1234.5678 dikonversi menjadi 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.56780, fractionDigits:5 (roundingMode:halfCeil)
significantDigits
Type: number | undefined
Digit signifikan untuk format angka, menggunakan Intl.NumberFormat minimumSignificantDigits dan maximumSignificantDigits browser; prioritasnya lebih tinggi daripada fractionDigits
Contoh - 1234.5678 dikonversi menjadi 1000, significantDigits:1 - 1234.5678 dikonversi menjadi 1200, significantDigits:2 - 1234.5678 dikonversi menjadi 1230, significantDigits:3 - 1234.5678 dikonversi menjadi 1234, significantDigits:4 - 1234.5678 dikonversi menjadi 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.5678, significantDigits:8 (roundingMode:halfCeil)
roundingPriority
Type: "morePrecision" | "lessPrecision" | undefined
Prioritas pembulatan untuk format angka saat significantDigits dan fractionDigits sama-sama diatur; menggunakan Intl.NumberFormat browser dan mengikuti aturan yang sama dengan roundingPriority Intl.NumberFormat
Contoh - 1234.5678 dikonversi menjadi 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 dikonversi menjadi 1234.5678, significantDigits:3 (roundingPriority:morePrecision)
roundingMode
Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined
Mode pembulatan untuk format angka, menggunakan Intl.NumberFormat browser dan mengikuti aturan yang sama dengan roundingMode Intl.NumberFormat
labelFontSize
Type: number | undefined
Ukuran font label
labelFontWeight
Type: string | number | undefined
Ketebalan font label
labelBackgroundColor
Type: string | undefined
Warna latar belakang label
labelStroke
Type: string | undefined
Warna outline label
labelColor
Type: string | undefined
Warna font label
labelColorSmartInvert
Type: boolean | undefined
Apakah warna font label dibalik otomatis berdasarkan warna elemen grafis
labelPosition
Type: "inside" | "outside" | undefined
Posisi label
labelOverlap
Type: boolean | undefined
Apakah penghindaran tumpang tindih label diaktifkan
selector
Type: Selector | Selectors | undefined
Filter label; hubungan default antar selector adalah OR
field
Type: string
return _.flatten(
operator
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
op
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
sama dengan operator
value
Type: string | number | (string | number)[]
Nilai field dimensi yang dipilih; mendukung array.
dynamicFilter
Type: ChartDynamicFilter | undefined
Filter dinamis (eksekusi kode yang dihasilkan AI)
Mengimplementasikan logika pemfilteran data kompleks melalui kode JavaScript yang dihasilkan AI.
Kemampuan inti:
-
Mendukung kondisi pemfilteran data yang kompleks
-
Menggunakan fungsi utilitas bawaan untuk operasi data
-
Dieksekusi secara aman di lingkungan browser (sandbox Web Worker)
Persyaratan lingkungan: hanya mendukung lingkungan browser; lingkungan Node.js akan menggunakan fallback
Catatan: selector dan dynamicFilter tidak dapat digunakan bersamaan; dynamicFilter memiliki prioritas lebih tinggi
Konfigurasi filter dinamis chart
Memfilter mark chart (area, titik, dll.) melalui kode JavaScript yang dihasilkan AI
type
Type: "row-with-field"
description
Type: string | undefined
User's filtering requirement description (natural language).
Contoh "Highlight data items with sales greater than 1000"
code
Type: string
Kode filter JavaScript yang dibuat AI
-
Hanya boleh menggunakan fungsi utilitas bawaan (diakses melalui _ atau R)
-
Parameter input: data (array), setiap item memiliki field __row_index yang menunjukkan nomor baris
-
Harus mengembalikan array kombinasi indeks baris dan field: Array<{ __row_index: number, field: string }>
-
__row_index menunjukkan nomor baris item data asli, field menunjukkan field yang perlu disorot
-
Dilarang menggunakan: eval, Function, operasi asinkron, DOM API, permintaan jaringan
Contoh Sorot field sales pada item data dengan sales lebih besar dari 1000
Sorot item data dengan margin laba tertinggi di setiap area
Sorot item data yang difilter oleh beberapa kondisi
fallback
Type: Selector | Selectors | undefined
field: 'sales'
field
Type: string
return _.flatten(
operator
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
op
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
sama dengan operator
value
Type: string | number | (string | number)[]
Nilai field dimensi yang dipilih; mendukung array.
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Hasil eksekusi filter dinamis (field runtime)
Ditulis pada fase prepare(); hanya-baca saat runtime
success
Type: false | true
data
Type: T[] | undefined
error
Type: string | undefined
legend
Type: Legend | undefined
Legenda
Konfigurasi legenda untuk menentukan legenda chart, termasuk posisi, format, dan gaya.
enable
Type: boolean | undefined
Apakah fitur legenda diaktifkan.
Contoh enable: true
border
Type: boolean | undefined
Apakah border legenda diaktifkan.
Hanya berlaku untuk legenda diskret
Contoh border: true
labelColor
Type: string | undefined
Warna font label
pagerIconColor
Type: string | undefined
Warna ikon pager
pagerIconDisableColor
Type: string | undefined
Warna ikon pager yang dinonaktifkan
labelFontSize
Type: number | undefined
Ukuran font legenda
Contoh labelFontSize: 10
labelFontColor
Type: string | undefined
Warna font legenda
labelFontWeight
Type: string | number | undefined
Ketebalan font legenda
Contoh 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
Bentuk legenda
Hanya berlaku untuk legenda diskret
Contoh 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
Posisi legenda
Contoh position: 'rightTop'
maxSize
Type: number | undefined
Jumlah maksimum kolom atau baris saat item legenda banyak
Hanya berlaku untuk legenda diskret
Contoh maxSize: 2
tooltip
Type: Tooltip | undefined
Tooltip
Konfigurasi tooltip untuk mendefinisikan tooltip chart, termasuk posisi, format, gaya, dll.
enable
Type: false | true
Apakah fungsi label diaktifkan
brush
Type: Brush | undefined
Konfigurasi brush chart
enable
Type: boolean | undefined
Apakah seleksi brush diaktifkan
brushType
Type: "rect" | "x" | "y" | "polygon" | undefined
Jenis brush
Menentukan bentuk dan arah pemilihan brush
- rect: pilihan brush persegi panjang; dapat memilih sekaligus pada arah sumbu X dan Y
- polygon: pilihan brush poligon; menggambar poligon bebas dengan mengklik beberapa titik untuk memilih
- x: pilihan brush arah sumbu X; hanya memilih pada arah sumbu X, arah sumbu Y tidak dibatasi
- y: pilihan brush arah sumbu Y; hanya memilih pada arah sumbu Y, arah sumbu X tidak dibatasi
brushMode
Type: "single" | "multiple" | undefined
- multiple: mode multiple, beberapa pilihan brush dapat berdampingan secara bersamaan
Menentukan mode pilihan brush
- multiple: mode pilihan multiple; beberapa area brush dapat ada pada saat yang sama
removeOnClick
Type: boolean | undefined
Apakah area brush dihapus setelah pemilihan selesai
inBrushStyle
Type: { opacity?: number; stroke?: string; lineWidth?: number; } | undefined
Opasitas titik data yang tidak dipilih, rentang 0-1
Mendefinisikan gaya titik data yang terkena brush
opacity
Type: number | undefined
Opasitas
Opasitas titik data yang dipilih, rentang 0-1
stroke
Type: string | undefined
Warna stroke
lineWidth
Type: number | undefined
Lebar stroke
outOfBrushStyle
Type: { opacity?: number; stroke?: string; lineWidth?: number; } | undefined
X-axis, category axis, X-axis configuration; defines the X-axis of the chart, including its position, format, style, etc.
Mendefinisikan gaya titik data di luar seleksi brush
opacity
Type: number | undefined
Opasitas
Opasitas titik data yang dipilih, rentang 0-1
stroke
Type: string | undefined
Warna stroke
lineWidth
Type: number | undefined
Lebar stroke
xAxis
Type: XLinearAxis | undefined
X-axis numeric-axis configuration, used to define the diagram X-axis, including position, format, style, and related settings.
visible
Type: boolean | undefined
Apakah sumbu terlihat
min
Type: number | undefined
Garis sumbu width
max
Type: number | boolean | undefined
Tick sumbu X
log
Type: boolean | undefined
Apakah menggunakan sumbu logaritmik, hanya berlaku untuk sumbu numerik
logBase
Type: number | undefined
Fungsi easing animasi.
nice
Type: boolean | undefined
Konfigurasi sumbu Y (sumbu kategori) untuk mendefinisikan sumbu Y, termasuk posisi, format, gaya, dll.
inverse
Type: boolean | undefined
Apakah sumbu ditampilkan terbalik; hanya berlaku untuk sumbu numerik
zero
Type: boolean | undefined
Apakah memaksa nilai 0 ditampilkan pada sumbu; jika min dan max dikonfigurasi, opsi ini tidak berlaku. Hanya berlaku untuk sumbu numerik.
autoFormat
Type: boolean | undefined
Pemformatan angka otomatis, aktif secara default, prioritas tertinggi
Saat autoFormat=true, semua konfigurasi numFormat akan ditimpa
Jika aktif, label data chart dan tooltip akan otomatis memilih format yang sesuai berdasarkan nilai measure dan locale
Aturan format: angka desimal dengan notasi ringkas aktif, minimum 0 digit desimal, maksimum 2 digit desimal, pembulatan otomatis, menggunakan implementasi Intl.NumberFormat browser
Contoh:
- locale='zh-CN': 749740.264 → 74.45万
- locale='en-US': 749740.264 → 744.5K
numFormat
Type: NumFormat | undefined
Pemformatan angka kustom untuk measure; otomatis diterapkan ke label dan tooltip
Catatan: Untuk menggunakan format kustom, Anda harus secara eksplisit mengatur autoFormat=false; jika tidak, autoFormat akan menimpa konfigurasi ini
type
Type: "number" | "percent" | "permille" | "scientific" | undefined
Jenis format angka, mendukung: number (desimal), percent (%), permille (‰), notasi ilmiah
ratio
Type: number | undefined
Rasio format angka, tidak boleh 0
Contoh - 100000 dikonversi menjadi 10万, ratio:10000, symbol:"万" - 100000 dikonversi menjadi 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Simbol format angka, mis. %, ‰
Contoh - 100000 dikonversi menjadi 10万, ratio:10000, symbol:"万" - 100000 dikonversi menjadi 10K, ratio:1000, symbol:"K"
thousandSeparator
Type: boolean | undefined
Pemisah ribuan untuk format angka
suffix
Type: string | undefined
Sufiks format angka
prefix
Type: string | undefined
Prefiks format angka
fractionDigits
Type: number | undefined
Jumlah digit desimal untuk format angka, menggunakan Intl.NumberFormat minimumFractionDigits dan maximumFractionDigits browser; prioritasnya lebih rendah daripada significantDigits
Contoh - 1234.5678 dikonversi menjadi 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.56780, fractionDigits:5 (roundingMode:halfCeil)
significantDigits
Type: number | undefined
Digit signifikan untuk format angka, menggunakan Intl.NumberFormat minimumSignificantDigits dan maximumSignificantDigits browser; prioritasnya lebih tinggi daripada fractionDigits
Contoh - 1234.5678 dikonversi menjadi 1000, significantDigits:1 - 1234.5678 dikonversi menjadi 1200, significantDigits:2 - 1234.5678 dikonversi menjadi 1230, significantDigits:3 - 1234.5678 dikonversi menjadi 1234, significantDigits:4 - 1234.5678 dikonversi menjadi 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.5678, significantDigits:8 (roundingMode:halfCeil)
roundingPriority
Type: "morePrecision" | "lessPrecision" | undefined
Prioritas pembulatan untuk format angka saat significantDigits dan fractionDigits sama-sama diatur; menggunakan Intl.NumberFormat browser dan mengikuti aturan yang sama dengan roundingPriority Intl.NumberFormat
Contoh - 1234.5678 dikonversi menjadi 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 dikonversi menjadi 1234.5678, significantDigits:3 (roundingPriority:morePrecision)
roundingMode
Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined
Mode pembulatan untuk format angka, menggunakan Intl.NumberFormat browser dan mengikuti aturan yang sama dengan roundingMode Intl.NumberFormat
label
Type: { visible?: boolean; labelColor?: string; labelFontSize?: number; labelFontWeight?: number; labelAngle?: number; } | undefined
Label tick sumbu X
visible
Type: boolean | undefined
Apakah label terlihat
labelColor
Type: string | undefined
Warna label
labelFontSize
Type: number | undefined
Ukuran font label
labelFontWeight
Type: number | undefined
Ketebalan font label
labelAngle
Type: number | undefined
Sudut rotasi label
line
Type: { visible?: boolean; lineColor?: string; lineWidth?: number; } | undefined
Garis sumbu X
visible
Type: boolean | undefined
Apakah label terlihat
lineColor
Type: string | undefined
Warna garis sumbu
lineWidth
Type: number | undefined
Lebar stroke
tick
Type: { visible?: boolean; tickInside?: boolean; tickColor?: string; tickSize?: number; } | undefined
Tick sumbu X
visible
Type: boolean | undefined
Apakah label terlihat
tickInside
Type: boolean | undefined
Apakah tick mengarah ke dalam
tickColor
Type: string | undefined
Warna tick
tickSize
Type: number | undefined
Ukuran tick
title
Type: { visible?: boolean; titleText?: string; titleColor?: string; titleFontSize?: number; titleFontWeight?: number; } | undefined
Judul sumbu X
visible
Type: boolean | undefined
Apakah label terlihat
titleText
Type: string | undefined
Teks judul; secara default mengikuti konfigurasi field
titleColor
Type: string | undefined
Warna judul
titleFontSize
Type: number | undefined
Ukuran font judul
titleFontWeight
Type: number | undefined
Ketebalan font judul
grid
Type: { visible?: boolean; gridColor?: string; gridWidth?: number; gridLineDash?: number[]; } | undefined
Mencakup tema bawaan light dan dark. Tema kustom dapat ditambahkan melalui registerTheme.
visible
Type: boolean | undefined
gridColor
Type: string | undefined
selector = [{ profit: 100 }, { profit: 200 }]
gridWidth
Type: number | undefined
- not in: Memilih item data ketika nilai field dimensi tidak berada dalam array
value.
gridLineDash
Type: number[] | undefined
Mendukung gaya global atau konfigurasi gaya bersyarat.
animation
Type: { duration?: number; easing?: string; } | undefined
Konfigurasi animasi sumbu X
duration
Type: number | undefined
value: [100, 300]
easing
Type: string | undefined
}
yAxis
Type: YLinearAxis | undefined
Sumbu Y
Sumbu numerik. Konfigurasi sumbu Y untuk menentukan posisi, format, gaya, dan pengaturan terkait.
visible
Type: boolean | undefined
Apakah sumbu terlihat
min
Type: number | undefined
Garis sumbu width
max
Type: number | boolean | undefined
Tick sumbu X
log
Type: boolean | undefined
Apakah menggunakan sumbu logaritmik, hanya berlaku untuk sumbu numerik
logBase
Type: number | undefined
Fungsi easing animasi.
nice
Type: boolean | undefined
Konfigurasi sumbu Y (sumbu kategori) untuk mendefinisikan sumbu Y, termasuk posisi, format, gaya, dll.
inverse
Type: boolean | undefined
Apakah sumbu ditampilkan terbalik; hanya berlaku untuk sumbu numerik
zero
Type: boolean | undefined
Apakah memaksa nilai 0 ditampilkan pada sumbu; jika min dan max dikonfigurasi, opsi ini tidak berlaku. Hanya berlaku untuk sumbu numerik.
autoFormat
Type: boolean | undefined
Pemformatan angka otomatis, aktif secara default, prioritas tertinggi
Saat autoFormat=true, semua konfigurasi numFormat akan ditimpa
Jika aktif, label data chart dan tooltip akan otomatis memilih format yang sesuai berdasarkan nilai measure dan locale
Aturan format: angka desimal dengan notasi ringkas aktif, minimum 0 digit desimal, maksimum 2 digit desimal, pembulatan otomatis, menggunakan implementasi Intl.NumberFormat browser
Contoh:
- locale='zh-CN': 749740.264 → 74.45万
- locale='en-US': 749740.264 → 744.5K
numFormat
Type: NumFormat | undefined
Pemformatan angka kustom untuk measure; otomatis diterapkan ke label dan tooltip
Catatan: Untuk menggunakan format kustom, Anda harus secara eksplisit mengatur autoFormat=false; jika tidak, autoFormat akan menimpa konfigurasi ini
type
Type: "number" | "percent" | "permille" | "scientific" | undefined
Jenis format angka, mendukung: number (desimal), percent (%), permille (‰), notasi ilmiah
ratio
Type: number | undefined
Rasio format angka, tidak boleh 0
Contoh - 100000 dikonversi menjadi 10万, ratio:10000, symbol:"万" - 100000 dikonversi menjadi 10K, ratio:1000, symbol:"K"
symbol
Type: string | undefined
Simbol format angka, mis. %, ‰
Contoh - 100000 dikonversi menjadi 10万, ratio:10000, symbol:"万" - 100000 dikonversi menjadi 10K, ratio:1000, symbol:"K"
thousandSeparator
Type: boolean | undefined
Pemisah ribuan untuk format angka
suffix
Type: string | undefined
Sufiks format angka
prefix
Type: string | undefined
Prefiks format angka
fractionDigits
Type: number | undefined
Jumlah digit desimal untuk format angka, menggunakan Intl.NumberFormat minimumFractionDigits dan maximumFractionDigits browser; prioritasnya lebih rendah daripada significantDigits
Contoh - 1234.5678 dikonversi menjadi 1235, fractionDigits:0 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.6, fractionDigits:1 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.57, fractionDigits:2 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1230.568, fractionDigits:3 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.5678, fractionDigits:4 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.56780, fractionDigits:5 (roundingMode:halfCeil)
significantDigits
Type: number | undefined
Digit signifikan untuk format angka, menggunakan Intl.NumberFormat minimumSignificantDigits dan maximumSignificantDigits browser; prioritasnya lebih tinggi daripada fractionDigits
Contoh - 1234.5678 dikonversi menjadi 1000, significantDigits:1 - 1234.5678 dikonversi menjadi 1200, significantDigits:2 - 1234.5678 dikonversi menjadi 1230, significantDigits:3 - 1234.5678 dikonversi menjadi 1234, significantDigits:4 - 1234.5678 dikonversi menjadi 1234.6, significantDigits:5 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.57, significantDigits:6 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.568, significantDigits:7 (roundingMode:halfCeil) - 1234.5678 dikonversi menjadi 1234.5678, significantDigits:8 (roundingMode:halfCeil)
roundingPriority
Type: "morePrecision" | "lessPrecision" | undefined
Prioritas pembulatan untuk format angka saat significantDigits dan fractionDigits sama-sama diatur; menggunakan Intl.NumberFormat browser dan mengikuti aturan yang sama dengan roundingPriority Intl.NumberFormat
Contoh - 1234.5678 dikonversi menjadi 1230, significantDigits:3 (roundingPriority:lessPrecision) - 1234.5678 dikonversi menjadi 1234.5678, significantDigits:3 (roundingPriority:morePrecision)
roundingMode
Type: "floor" | "ceil" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined
Mode pembulatan untuk format angka, menggunakan Intl.NumberFormat browser dan mengikuti aturan yang sama dengan roundingMode Intl.NumberFormat
label
Type: { visible?: boolean; labelColor?: string; labelFontSize?: number; labelFontWeight?: number; labelAngle?: number; } | undefined
Label tick sumbu X
visible
Type: boolean | undefined
Apakah label terlihat
labelColor
Type: string | undefined
Warna label
labelFontSize
Type: number | undefined
Ukuran font label
labelFontWeight
Type: number | undefined
Ketebalan font label
labelAngle
Type: number | undefined
Sudut rotasi label
line
Type: { visible?: boolean; lineColor?: string; lineWidth?: number; } | undefined
Garis sumbu X
visible
Type: boolean | undefined
Apakah label terlihat
lineColor
Type: string | undefined
Warna garis sumbu
lineWidth
Type: number | undefined
Lebar stroke
tick
Type: { visible?: boolean; tickInside?: boolean; tickColor?: string; tickSize?: number; } | undefined
Tick sumbu X
visible
Type: boolean | undefined
Apakah label terlihat
tickInside
Type: boolean | undefined
Apakah tick mengarah ke dalam
tickColor
Type: string | undefined
Warna tick
tickSize
Type: number | undefined
Ukuran tick
title
Type: { visible?: boolean; titleText?: string; titleColor?: string; titleFontSize?: number; titleFontWeight?: number; } | undefined
Judul sumbu X
visible
Type: boolean | undefined
Apakah label terlihat
titleText
Type: string | undefined
Teks judul; secara default mengikuti konfigurasi field
titleColor
Type: string | undefined
Warna judul
titleFontSize
Type: number | undefined
Ukuran font judul
titleFontWeight
Type: number | undefined
Ketebalan font judul
grid
Type: { visible?: boolean; gridColor?: string; gridWidth?: number; gridLineDash?: number[]; } | undefined
Mencakup tema bawaan light dan dark. Tema kustom dapat ditambahkan melalui registerTheme.
visible
Type: boolean | undefined
gridColor
Type: string | undefined
selector = [{ profit: 100 }, { profit: 200 }]
gridWidth
Type: number | undefined
- not in: Memilih item data ketika nilai field dimensi tidak berada dalam array
value.
gridLineDash
Type: number[] | undefined
Mendukung gaya global atau konfigurasi gaya bersyarat.
animation
Type: { duration?: number; easing?: string; } | undefined
Konfigurasi animasi sumbu X
duration
Type: number | undefined
value: [100, 300]
easing
Type: string | undefined
}
crosshairLine
Type: CrosshairLine | undefined
Garis panduan vertikal
Garis panduan vertikal yang ditampilkan saat mouse bergerak di atas diagram.
Konfigurasi crosshair, digunakan untuk menampilkan garis crosshair (garis panduan) pada diagram.
visible
Type: boolean | undefined
Apakah sumbu terlihat
lineColor
Type: string | undefined
Warna garis crosshair
labelColor
Type: string | undefined
Warna font label
labelVisible
Type: boolean | undefined
Apakah label garis crosshair ditampilkan
labelBackgroundColor
Type: string | undefined
Warna latar belakang label
theme
Type: Theme | undefined
Konfigurasi tema
Tema
Tersedia dua tema bawaan, light dan dark; tema baru dapat dikustomisasi melalui registerTheme.
length
Type: number
brand
Type: brand
pointStyle
Type: PointStyle | PointStyle[] | undefined
Konfigurasi gaya mark titik, digunakan untuk menentukan warna mark titik, border, dan pengaturan terkait.
Mendukung konfigurasi gaya global atau gaya bersyarat
Filter data
selector
Type: Selector | Selectors | undefined
- not in: Memilih item data ketika nilai field dimensi tidak berada dalam array
value.
Contoh Warna stroke primitive bar (persegi panjang) selector = "tool" selector = ["tool", "book"] selector = 100 selector = [100, 200]
selector = { profit: 100 } selector = [{ profit: 100 }, { profit: 200 }]
selector = { field: 'category', operator: 'in', value: 'tool' } selector = { field: 'category', operator: 'not in', value: 'book' }
selector = { field: 'profit', operator: '>=', value: 100 } selector = { field: 'profit', operator: 'between' value: [100, 300] }
field
Type: string
return _.flatten(
operator
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
op
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
sama dengan operator
value
Type: string | number | (string | number)[]
Nilai field dimensi yang dipilih; mendukung array.
dynamicFilter
Type: ChartDynamicFilter | undefined
Filter dinamis (eksekusi kode yang dihasilkan AI)
Mengimplementasikan logika pemfilteran data kompleks melalui kode JavaScript yang dihasilkan AI.
Kemampuan inti:
-
Mendukung kondisi pemfilteran data yang kompleks
-
Menggunakan fungsi utilitas bawaan untuk operasi data
-
Dieksekusi secara aman di lingkungan browser (sandbox Web Worker)
Persyaratan lingkungan: hanya mendukung lingkungan browser; lingkungan Node.js akan menggunakan fallback
Catatan: selector dan dynamicFilter tidak dapat digunakan bersamaan; dynamicFilter memiliki prioritas lebih tinggi
Konfigurasi filter dinamis chart
Memfilter mark chart (area, titik, dll.) melalui kode JavaScript yang dihasilkan AI
type
Type: "row-with-field"
description
Type: string | undefined
User's filtering requirement description (natural language).
Contoh "Highlight data items with sales greater than 1000"
code
Type: string
Kode filter JavaScript yang dibuat AI
-
Hanya boleh menggunakan fungsi utilitas bawaan (diakses melalui _ atau R)
-
Parameter input: data (array), setiap item memiliki field __row_index yang menunjukkan nomor baris
-
Harus mengembalikan array kombinasi indeks baris dan field: Array<{ __row_index: number, field: string }>
-
__row_index menunjukkan nomor baris item data asli, field menunjukkan field yang perlu disorot
-
Dilarang menggunakan: eval, Function, operasi asinkron, DOM API, permintaan jaringan
Contoh Sorot field sales pada item data dengan sales lebih besar dari 1000
Sorot item data dengan margin laba tertinggi di setiap area
Sorot item data yang difilter oleh beberapa kondisi
fallback
Type: Selector | Selectors | undefined
field: 'sales'
field
Type: string
return _.flatten(
operator
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
op
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
sama dengan operator
value
Type: string | number | (string | number)[]
Nilai field dimensi yang dipilih; mendukung array.
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Hasil eksekusi filter dinamis (field runtime)
Ditulis pada fase prepare(); hanya-baca saat runtime
success
Type: false | true
data
Type: T[] | undefined
error
Type: string | undefined
pointVisible
Type: boolean | undefined
Apakah titik terlihat
pointSize
Type: number | undefined
Ukuran titik
Ukuran titik
pointColor
Type: string | undefined
Warna markah titik
Warna markah titik
pointColorOpacity
Type: number | undefined
Opasitas warna markah titik
Opasitas warna markah titik
pointBorderColor
Type: string | undefined
Warna border markah titik
Warna border markah titik
pointBorderWidth
Type: number | undefined
Lebar border markah titik
Lebar border markah titik
pointBorderStyle
Type: "solid" | "dashed" | "dotted" | undefined
Gaya border markah titik
Gaya border markah titik
Contoh solid
dashed
dotted
annotationPoint
Type: AnnotationPoint | AnnotationPoint[] | undefined
Konfigurasi titik anotasi. Menentukan titik anotasi chart berdasarkan data yang dipilih, termasuk posisi, format, gaya, dan pengaturan terkait.
selector
Type: Selector | Selectors | undefined
Filter label; hubungan default antar selector adalah OR
field
Type: string
return _.flatten(
operator
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
op
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
sama dengan operator
value
Type: string | number | (string | number)[]
Nilai field dimensi yang dipilih; mendukung array.
measureId
Type: string | undefined
Menentukan measure id yang dimiliki titik anotasi. Dalam skenario multi-measure, dapat digabung dengan selector untuk menemukan titik anotasi measure target secara unik.
dynamicFilter
Type: ChartDynamicFilter | undefined
Filter dinamis (eksekusi kode yang dihasilkan AI)
Mengimplementasikan logika pemfilteran data kompleks melalui kode JavaScript yang dihasilkan AI.
Kemampuan inti:
-
Mendukung kondisi pemfilteran data yang kompleks
-
Menggunakan fungsi utilitas bawaan untuk operasi data
-
Dieksekusi secara aman di lingkungan browser (sandbox Web Worker)
Persyaratan lingkungan: hanya mendukung lingkungan browser; lingkungan Node.js akan menggunakan fallback
Catatan: selector dan dynamicFilter tidak dapat digunakan bersamaan; dynamicFilter memiliki prioritas lebih tinggi
Konfigurasi filter dinamis chart
Memfilter mark chart (area, titik, dll.) melalui kode JavaScript yang dihasilkan AI
type
Type: "row-with-field"
description
Type: string | undefined
User's filtering requirement description (natural language).
Contoh "Highlight data items with sales greater than 1000"
code
Type: string
Kode filter JavaScript yang dibuat AI
-
Hanya boleh menggunakan fungsi utilitas bawaan (diakses melalui _ atau R)
-
Parameter input: data (array), setiap item memiliki field __row_index yang menunjukkan nomor baris
-
Harus mengembalikan array kombinasi indeks baris dan field: Array<{ __row_index: number, field: string }>
-
__row_index menunjukkan nomor baris item data asli, field menunjukkan field yang perlu disorot
-
Dilarang menggunakan: eval, Function, operasi asinkron, DOM API, permintaan jaringan
Contoh Sorot field sales pada item data dengan sales lebih besar dari 1000
Sorot item data dengan margin laba tertinggi di setiap area
Sorot item data yang difilter oleh beberapa kondisi
fallback
Type: Selector | Selectors | undefined
field: 'sales'
field
Type: string
return _.flatten(
operator
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
op
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
sama dengan operator
value
Type: string | number | (string | number)[]
Nilai field dimensi yang dipilih; mendukung array.
result
Type: DynamicFilterExecutionResult<RowWithFieldRes> | undefined
Hasil eksekusi filter dinamis (field runtime)
Ditulis pada fase prepare(); hanya-baca saat runtime
success
Type: false | true
data
Type: T[] | undefined
error
Type: string | undefined
text
Type: string | string[] | undefined
'red'
Contoh 'Teks penanda'
textColor
Type: string | undefined
4
Contoh 'red'
textFontSize
Type: number | undefined
[2, 2]
Contoh 12
textFontWeight
Type: number | undefined
0
Contoh 400
textAlign
Type: "left" | "right" | "center" | undefined
Perataan teks. Umumnya atur ke right agar teks tampil di kiri titik anotasi dan tetap berada di area chart yang terlihat
Disarankan menggunakan 'right' agar teks berada di kiri titik anotasi
right: teks berada di kiri titik anotasi, tepi kanan teks sejajar dengan titik anotasi
left: teks berada di kanan titik anotasi, tepi kiri teks sejajar dengan titik anotasi
center: teks berada di tengah titik anotasi
Contoh 'right' teks berada di kiri titik anotasi
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Perataan vertikal teks. Umumnya atur ke top agar teks tampil di bawah titik anotasi dan tetap berada di area chart yang terlihat
Disarankan menggunakan 'top' agar teks tampil lengkap di area chart yang terlihat
top: teks berada di bawah titik anotasi, tepi atas teks sejajar dengan titik anotasi
middle: teks berada di tengah titik anotasi
bottom: teks berada di atas titik anotasi, tepi bawah teks sejajar dengan titik anotasi
Contoh 'top' teks berada di bawah titik anotasi
textBackgroundVisible
Type: boolean | undefined
Background terlihat
Contoh true
textBackgroundColor
Type: string | undefined
Warna latar belakang
Contoh 'red'
textBackgroundBorderColor
Type: string | undefined
Warna teks
Contoh 'red'
textBackgroundBorderWidth
Type: number | undefined
Lebar border background
Contoh 2
textBackgroundBorderRadius
Type: number | undefined
Radius sudut border background
Contoh 4
textBackgroundPadding
Type: number | undefined
Padding latar belakang
Contoh 4
offsetY
Type: number | undefined
Apakah latar belakang terlihat.
Contoh true
offsetX
Type: number | undefined
Jarak offset piksel seluruh titik anotasi pada arah X. Saat titik anotasi berada di sisi kiri chart (awal sumbu kategori), disarankan nilai positif; saat berada di sisi kanan (akhir sumbu kategori), disarankan nilai negatif.
Nilai negatif menggeser seluruh komponen ke kiri; misalnya -10 menggeser titik anotasi beserta teks dan background 10 piksel ke kiri
Nilai positif menggeser seluruh komponen ke kanan; misalnya 10 menggeser titik anotasi beserta teks dan background 10 piksel ke kanan
Contoh offsetX: 5, seluruh titik anotasi bergeser 5 piksel ke kanan
annotationVerticalLine
Type: AnnotationVerticalLine | AnnotationVerticalLine[] | undefined
Garis anotasi nilai dimensi, ditampilkan secara vertikal, dengan posisi dan gaya yang dapat dikonfigurasi
xValue
Type: string | number | (string | number)[] | undefined
);
dynamicFilter
Type: ValueDynamicFilter | undefined
Filter dinamis (eksekusi kode yang dihasilkan AI)
Menghitung nilai garis anotasi secara dinamis melalui kode JavaScript yang dihasilkan AI.
Cocok saat posisi garis anotasi perlu ditentukan secara dinamis berdasarkan data, seperti rata-rata, maksimum, kuantil, atau garis bisnis.
Hanya mendukung lingkungan browser (memerlukan Web Worker).
type
Type: "value"
description
Type: string | undefined
User's filtering requirement description (natural language).
Contoh "Highlight data items with sales greater than 1000"
code
Type: string
- Parameter input: data (array), setiap item mencakup field __row_index yang menunjukkan nomor baris
- __row_index menunjukkan nomor baris item data asli; field menunjukkan field yang akan di-highlight
- Dilarang: eval, Function, operasi asinkron, DOM API, permintaan jaringan
Contoh
fallback
Type: string | number | undefined
field: 'sales'
result
Type: { success: boolean; data?: number | string; } | undefined
Hasil eksekusi filter dinamis (field runtime)
Ditulis pada fase prepare(); hanya-baca saat runtime
success
Type: false | true
data
Type: string | number | undefined
text
Type: string | string[] | undefined
'red'
Contoh 'Teks penanda'
textPosition
Type: "outsideStart" | "outsideEnd" | "outsideMiddle" | "insideStart" | "insideMiddle" | "insideEnd" | undefined
Nilai field dimensi yang dipilih; mendukung array.
Contoh 'outsideEnd'
textColor
Type: string | undefined
4
Contoh 'red'
textFontSize
Type: number | undefined
[2, 2]
Contoh 12
textFontWeight
Type: number | undefined
0
Contoh 400
textAlign
Type: "left" | "right" | "center" | undefined
Perataan teks. Umumnya atur ke right agar teks tampil di kiri titik anotasi dan tetap berada di area chart yang terlihat
Disarankan menggunakan 'right' agar teks berada di kiri titik anotasi
right: teks berada di kiri titik anotasi, tepi kanan teks sejajar dengan titik anotasi
left: teks berada di kanan titik anotasi, tepi kiri teks sejajar dengan titik anotasi
center: teks berada di tengah titik anotasi
Contoh 'right' teks berada di kiri titik anotasi
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Perataan vertikal teks. Umumnya atur ke top agar teks tampil di bawah titik anotasi dan tetap berada di area chart yang terlihat
Disarankan menggunakan 'top' agar teks tampil lengkap di area chart yang terlihat
top: teks berada di bawah titik anotasi, tepi atas teks sejajar dengan titik anotasi
middle: teks berada di tengah titik anotasi
bottom: teks berada di atas titik anotasi, tepi bawah teks sejajar dengan titik anotasi
Contoh 'top' teks berada di bawah titik anotasi
lineVisible
Type: boolean | undefined
Opasitas warna area anotasi
Contoh true
lineColor
Type: string | undefined
Warna border area anotasi.
Contoh 'red'
lineWidth
Type: number | undefined
Lebar border area anotasi.
Contoh 2
lineStyle
Type: "solid" | "dashed" | "dotted" | undefined
Gaya segmen garis
Contoh
lineStyle: 'solid'
textBackgroundVisible
Type: boolean | undefined
Background terlihat
Contoh true
textBackgroundColor
Type: string | undefined
Warna latar belakang
Contoh 'red'
textBackgroundBorderColor
Type: string | undefined
Warna teks
Contoh 'red'
textBackgroundBorderWidth
Type: number | undefined
Lebar border background
Contoh 2
textBackgroundBorderRadius
Type: number | undefined
Radius sudut border background
Contoh 4
textBackgroundPadding
Type: number | undefined
Padding latar belakang
Contoh 4
annotationHorizontalLine
Type: AnnotationHorizontalLine | AnnotationHorizontalLine[] | undefined
Garis anotasi numerik, termasuk garis rata-rata, maksimum, dan minimum. Ditampilkan secara horizontal dan dapat dikonfigurasi berdasarkan posisi serta style. Gunakan konfigurasi ini untuk menggambar garis anotasi nilai numerik seperti garis rata-rata.
yValue
Type: string | number | (string | number)[] | undefined
Nilai Y tetap untuk menandai garis horizontal. Jika sumbu kategori berada pada arah Y, masukkan nilai dimensi; jika sumbu numerik berada pada arah Y, masukkan nilai angka tertentu.
dynamicFilter
Type: ValueDynamicFilter | undefined
Filter dinamis (eksekusi kode yang dihasilkan AI)
Menghitung nilai garis anotasi secara dinamis melalui kode JavaScript yang dihasilkan AI.
Cocok saat posisi garis anotasi perlu ditentukan secara dinamis berdasarkan data, seperti rata-rata, maksimum, kuantil, atau garis bisnis.
Hanya mendukung lingkungan browser (memerlukan Web Worker).
type
Type: "value"
description
Type: string | undefined
User's filtering requirement description (natural language).
Contoh "Highlight data items with sales greater than 1000"
code
Type: string
- Parameter input: data (array), setiap item mencakup field __row_index yang menunjukkan nomor baris
- __row_index menunjukkan nomor baris item data asli; field menunjukkan field yang akan di-highlight
- Dilarang: eval, Function, operasi asinkron, DOM API, permintaan jaringan
Contoh
fallback
Type: string | number | undefined
field: 'sales'
result
Type: { success: boolean; data?: number | string; } | undefined
Hasil eksekusi filter dinamis (field runtime)
Ditulis pada fase prepare(); hanya-baca saat runtime
success
Type: false | true
data
Type: string | number | undefined
text
Type: string | string[] | undefined
'red'
Contoh 'Teks penanda'
textPosition
Type: "outsideStart" | "outsideEnd" | "outsideMiddle" | "insideStart" | "insideMiddle" | "insideEnd" | undefined
Nilai field dimensi yang dipilih; mendukung array.
Contoh 'outsideEnd'
textColor
Type: string | undefined
4
Contoh 'red'
textFontSize
Type: number | undefined
[2, 2]
Contoh 12
textFontWeight
Type: number | undefined
0
Contoh 400
textAlign
Type: "left" | "right" | "center" | undefined
Perataan teks. Umumnya atur ke right agar teks tampil di kiri titik anotasi dan tetap berada di area chart yang terlihat
Disarankan menggunakan 'right' agar teks berada di kiri titik anotasi
right: teks berada di kiri titik anotasi, tepi kanan teks sejajar dengan titik anotasi
left: teks berada di kanan titik anotasi, tepi kiri teks sejajar dengan titik anotasi
center: teks berada di tengah titik anotasi
Contoh 'right' teks berada di kiri titik anotasi
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Perataan vertikal teks. Umumnya atur ke top agar teks tampil di bawah titik anotasi dan tetap berada di area chart yang terlihat
Disarankan menggunakan 'top' agar teks tampil lengkap di area chart yang terlihat
top: teks berada di bawah titik anotasi, tepi atas teks sejajar dengan titik anotasi
middle: teks berada di tengah titik anotasi
bottom: teks berada di atas titik anotasi, tepi bawah teks sejajar dengan titik anotasi
Contoh 'top' teks berada di bawah titik anotasi
textBackgroundVisible
Type: boolean | undefined
Background terlihat
Contoh true
textBackgroundColor
Type: string | undefined
Warna latar belakang
Contoh 'red'
textBackgroundBorderColor
Type: string | undefined
Warna teks
Contoh 'red'
textBackgroundBorderWidth
Type: number | undefined
Lebar border background
Contoh 2
textBackgroundBorderRadius
Type: number | undefined
Radius sudut border background
Contoh 4
textBackgroundPadding
Type: number | undefined
Padding latar belakang
Contoh 4
lineVisible
Type: boolean | undefined
Opasitas warna area anotasi
Opasitas warna area anotasi
Contoh true
lineColor
Type: string | undefined
Warna border area anotasi.
Contoh 'red'
lineWidth
Type: number | undefined
Lebar border area anotasi.
Contoh 2
lineStyle
Type: "solid" | "dashed" | "dotted" | undefined
Gaya segmen garis
Contoh
lineStyle: 'solid'
splitLine
Type: boolean | { positiveColor?: string; negativeColor?: string; } | undefined
Gaya garis putus-putus border area anotasi.
positiveColor
Type: string | undefined
Warna utama untuk bagian yang lebih besar dari nilai anotasi
negativeColor
Type: string | undefined
0
annotationArea
Type: AnnotationArea | AnnotationArea[] | undefined
Area anotasi
Konfigurasi area anotasi; berdasarkan data yang dipilih, menentukan posisi dan style area anotasi.
selector
Type: AreaSelector | AreaSelectors | undefined
Apakah mengaktifkan fungsi linkage dimensi ketika chart mengaktifkan perspektif atau ketika measure digabungkan.
field
Type: string
return _.flatten(
operator
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
op
Type: "in" | "not in" | undefined
sama dengan operator
- in: Memilih item data yang nilai field dimensinya berada dalam nilai yang ditentukan
sama dengan operator
value
Type: string | number | (string | number)[]
Nilai field dimensi yang dipilih; mendukung array.
text
Type: string | string[] | undefined
'red'
Contoh 'Teks penanda'
textPosition
Type: "left" | "top" | "topLeft" | "topRight" | "right" | "bottom" | "bottomLeft" | "bottomRight" | undefined
2
Contoh 'top'
textColor
Type: string | undefined
4
Contoh 'red'
textFontSize
Type: number | undefined
[2, 2]
Contoh 12
textFontWeight
Type: number | undefined
0
Contoh 400
textAlign
Type: "left" | "right" | "center" | undefined
Perataan teks. Umumnya atur ke right agar teks tampil di kiri titik anotasi dan tetap berada di area chart yang terlihat
Disarankan menggunakan 'right' agar teks berada di kiri titik anotasi
right: teks berada di kiri titik anotasi, tepi kanan teks sejajar dengan titik anotasi
left: teks berada di kanan titik anotasi, tepi kiri teks sejajar dengan titik anotasi
center: teks berada di tengah titik anotasi
Contoh 'right' teks berada di kiri titik anotasi
textBaseline
Type: "top" | "bottom" | "middle" | undefined
Perataan vertikal teks. Umumnya atur ke top agar teks tampil di bawah titik anotasi dan tetap berada di area chart yang terlihat
Disarankan menggunakan 'top' agar teks tampil lengkap di area chart yang terlihat
top: teks berada di bawah titik anotasi, tepi atas teks sejajar dengan titik anotasi
middle: teks berada di tengah titik anotasi
bottom: teks berada di atas titik anotasi, tepi bawah teks sejajar dengan titik anotasi
Contoh 'top' teks berada di bawah titik anotasi
textBackgroundVisible
Type: boolean | undefined
Background terlihat
Contoh true
textBackgroundColor
Type: string | undefined
Warna latar belakang
Contoh 'red'
textBackgroundBorderColor
Type: string | undefined
Warna teks
Contoh 'red'
textBackgroundBorderWidth
Type: number | undefined
Lebar border background
Contoh 2
textBackgroundBorderRadius
Type: number | undefined
Radius sudut border background
Contoh 4
textBackgroundPadding
Type: number | undefined
Padding latar belakang
Contoh 4
areaColor
Type: string | undefined
Warna area penanda
Contoh 'red'
areaColorOpacity
Type: number | undefined
Opasitas isi area anotasi
Contoh 0.5
areaBorderColor
Type: string | undefined
Warna border area anotasi
Contoh 'red'
areaBorderWidth
Type: number | undefined
Lebar border area anotasi
Contoh 2
areaBorderRadius
Type: number | undefined
Radius border area anotasi
Contoh 4
areaLineDash
Type: number[] | undefined
Gaya garis border area anotasi
Contoh [2, 2]
outerPadding
Type: number | undefined
Margin area penanda
Contoh 0
locale
Type: "zh-CN" | "en-US" | "ja-JP" | "de-DE" | "id-ID" | "fr-FR" | "ko-KR" | "vi-VN" | undefined
Language
Konfigurasi bahasa chart. Mendukung dua bahasa, 'zh-CN' dan 'en-US'; selain itu, bahasa dapat diatur dengan memanggil intl.setLocale('zh-CN')