Bina visualisasi data untuk dashboard anda dengan AI. Tak perlu tahu Chart.js — hanya describe apa yang anda nak, dan AI akan tulis kod.
Apa itu Chart.js dan bagaimana ia berfungsi dalam dashboard anda.
Chart.js adalah library JavaScript yang popular untuk mencipta carta interaktif di web. Ia ringan, mudah digunakan, dan menyokong pelbagai jenis carta — bar, line, pie, doughnut, radar, dan banyak lagi.
Bagaimana data bergerak dari pangkalan data ke carta visual.
Sebelum mula, fahami aliran data ini. Setiap carta melalui 3 langkah yang sama:
Ambil data dari Supabase menggunakan supabase-js client.
Ubah format data supaya sesuai dengan Chart.js. Biasanya kita kumpul ikut kategori atau ikut bulan.
Hantar data yang sudah di-transform ke Chart.js untuk dilukis sebagai carta.
Guna bar chart bila nak bandingkan nilai antara kategori berbeza.
Guna line chart bila nak tunjukkan perubahan data sepanjang masa.
Guna pie/doughnut chart bila nak tunjukkan bahagian dari keseluruhan (peratusan).
Kadang-kadang cara terbaik untuk lihat data adalah dalam bentuk jadual yang boleh diurus.
Padankan chart dengan tema gelap dashboard anda.
Guna palet warna ini untuk chart yang konsisten dengan tema dashboard:
Pastikan chart nampak baik di semua saiz skrin.
Chart.js ada built-in responsive support. Tapi ada beberapa setting yang perlu di-tune:
Salin template ini untuk mulakan chart pertama anda dengan cepat.
Template penuh yang boleh anda terus guna. Hanya tukar URL, Key, dan table name:
Masalah biasa dan cara selesaikannya.
| Masalah | Sebab | Penyelesaian |
|---|---|---|
| Chart blank / tak nampak | Canvas ID tak match atau chart destroy sebelum update | Semak ID canvas dalam HTML dan JavaScript. Cuba destroy() dulu sebelum buat chart baru. |
| Chart.js not defined | CDN tak berjaya dimuatkan | Semak Network tab — CDN URL betul? Cuba guna CDN lain atau download Chart.js tempatan. |
| Data tak nampak dalam chart | Labels dan data arrays tak sama panjang | Cuba console.log(labels, values) — confirm kedua-dua ada dan sama panjang. |
| Chart tak responsive | Container chart tak ada width/height yang jelas | Pastikan container chart ada width: 100% dan position: relative. Chart.js responsive perlukan parent element yang jelas. |
| Data dari Supabase tak sampai ke chart | Transform data salah atau async issue | Cuba console.log(data) terus dari Supabase. Confirm format data sebelum transform. Pastikan updateChart() dipanggil SELEPAS data diterima. |