D3.js adalah library JavaScript yang dipakai untuk memanipulasi dokumen HTML dan menggambar diagram berdasarkan data yang diberikan. Library ini menggunakan HTML, CSS, dan SVG Untuk membuat representasi visual dari kumpulan data yang bisa dilihat diberbagai browser modern.
D3.js juga memiliki fitur untuk membuat diagram yang interaktif dengan animasi-animasi menarik.
Di tutorial ini kita akan mengenal konsep dasar penggunaan D3.js. Kita akan pelajari bagaimana menggunakannya dengan me-render sebuah diagram batang, elemen HTML dan SVG, serta menerapkan transformasi dan event ke diagram tersebut.
Mulai Menggunakan D3
Karena D3.js adalah library JavaScript, untuk memakainya kita cukup menulis baris berikut di dalam file HTML.
DOM Selection
Dengan D3.js kita bisa memanipulasi Document Object Model (DOM), yang artinya kita bsa memilih elemen dan memberikan berbagai jenis transformasi ke elemen tersebut.
Mari mulai dengan contoh sederhana dimana kita akan memakai D3 untuk memilih dan mengubah warna dan ukuran font tag heading.
Disini kita hanya menautkan mehod
select()
di objek d3
yang memilih elemen tertentu, dan diikuti dengan method style()
. Di method style()
, parameter pertama menentukan apa yang ingin diubah dan parameter kedua memberikan nilai yang baru. Berikut hasilnya:Data Binding
Konsep berikutnya yang perlu dipelajari adalah data binding karena konsep ini sangat penting di D3. Dengan menggunakannya, kita bisa mengisi atau memanipulasi elemen DOM secara realtime.
Pada kode JavaScript di atas, D3 membaca elemen
<ul>
dan seluruh elemen <li>
di dalamnya menggunakan select()
dan selectAll()
. Agaknya aneh kita membaca elemen li
yang belum kita tamahkan disana, tapi begitulah cara kerja D3.
Kita lalu mengirimkan data dengan method
data()
, dan memanggil enter()
yang akan mengulangi (melakukan looping atau perulangan) method-method di bawahnya (append
dan text
) sampai isi arrray fruits
habis di baca satu persatu.
Dengan kata lain, perintah tersebut, menambahkan sebuah
<li>
untuk setiap item di dalam array. Untuk setiap tag li
, ia juga menambahkan teks didalamnya menggunakan mehod text()
. Parameter d
didalam text()
adalah fungsi callback yang mengarah ke elemen di dalam array saat looping terjadi (apple, mango, dst satu persatu).Membuat Diagram Batang
D3 memungkinkan kita untuk membuat berbagai jenis diagram agar bisa merepresentasikan data dengan lebih efisien. Pada contoh di bawah, kita membuat diagram batang sederhana dengan D3.
Pada kode di atas, kita memiliki sebuah array yang berisi angka-angka untuk ditampilkan di diagram batang kita tadi. Setiap item di dalam array akan mengisi satu batang.
Setelah memilih elemen svg dan rect, kita mengirim data dengan method
data()
dan memanggil enter()
untuk melakukan looping kode-kode di bawahnya sampai isi array habis di baca.
Untuk setiap item, kita menggambar sebuah kotak dan mengatur lebarnya sesuai dengan nilai yang dimiliki. Kita lalu mengatur tinggi setiap kotak dan untuk menghindari overlapping, kita memberikan padding dengan mengurangi
barHeight
sebesar 1.
Kita lalu memberikan sebuah transformasi agar kotak-kotak tersebut berada kotak sebelumnya. Fungsi
transform()
menerima fungsi callback yang mengambil data dan indeks data tersebut sebagai parameter. Kita memodifikasi nilai y kotak dengan mengalikan index dengan tinggi kotak.
0 komentar:
Posting Komentar