Representasi visual hierarki data, dengan setiap node dapat memiliki nol turunan atau lebih, dan satu induk (kecuali untuk root, yang tidak memiliki induk). Setiap node ditampilkan sebagai persegi panjang, yang berukuran dan
diberi warna sesuai dengan nilai yang Anda tetapkan. Ukuran dan warna dinilai secara relatif terhadap semua node lain dalam grafik. Anda dapat menentukan jumlah level yang ditampilkan secara bersamaan, dan jika ingin, untuk menampilkan level yang lebih dalam dengan petunjuk. Jika node adalah node daun, Anda dapat
menentukan ukuran dan warna; jika bukan daun, node akan ditampilkan
sebagai kotak pembatas untuk node daun. Perilaku defaultnya adalah bergerak ke bawah pada hierarki saat pengguna mengklik kiri node, dan kembali ke atas hierarki saat pengguna mengklik kanan grafik.
Ukuran total grafik ditentukan oleh ukuran elemen penampung yang Anda sisipkan di halaman. Jika Anda memiliki node daun dengan nama yang terlalu panjang untuk ditampilkan,
nama tersebut akan dipotong dengan elipsis (...).
Anda dapat menentukan apakah elemen harus disorot, dan menetapkan warna spesifik untuk
elemen tertentu yang akan digunakan saat hal ini terjadi. Untuk mengaktifkan sorotan, setel
highlightOnMouseOver:true (untuk v49 atau sebelumnya) atau enableHighlight: true (untuk v50+).
Dari sana, Anda dapat menetapkan warna yang akan digunakan
untuk menyorot elemen menggunakan berbagai opsi HighlightColor.
var options = { // For v49 or before
highlightOnMouseOver: true,
maxDepth: 1,
maxPostDepth: 2,
minHighlightColor: '#8c6bb1',
midHighlightColor: '#9ebcda',
maxHighlightColor: '#edf8fb',
minColor: '#009688',
midColor: '#f7f7f7',
maxColor: '#ee8100',
headerHeight: 15,
showScale: true,
height: 500,
useWeightedAverageForAggregation: true
};
var optionsV50 = { // For v50+
enableHighlight: true,
maxDepth: 1,
maxPostDepth: 2,
minHighlightColor: '#8c6bb1',
midHighlightColor: '#9ebcda',
maxHighlightColor: '#edf8fb',
minColor: '#009688',
midColor: '#f7f7f7',
maxColor: '#ee8100',
headerHeight: 15,
showScale: true,
height: 500,
useWeightedAverageForAggregation: true,
// Use click to highlight and double-click to drill down.
eventsConfig: {
highlight: ['click'],
unhighlight: ['mouseout'],
rollup: ['contextmenu'],
drilldown: ['dblclick'],
}
};
Tips alat
Secara default, tooltip peta hierarki bersifat dasar, yang menampilkan label
sel peta hierarki. Hal ini berguna jika sel terlalu kecil untuk menampung label, tetapi Anda dapat menyesuaikannya lebih lanjut seperti yang dijelaskan di bagian ini.
Tooltip peta hierarki disesuaikan secara berbeda dari diagram lain: Anda
menentukan fungsi, lalu menetapkan opsi generateTooltip
ke fungsi tersebut. Berikut adalah contoh sederhana:
Pada diagram di atas, kita menentukan fungsi bernama showStaticTooltip yang hanya menampilkan string dengan HTML yang akan ditampilkan setiap kali pengguna mengarahkan kursor ke sel peta hierarki. Cobalah! Kode untuk membuatnya adalah sebagai berikut:
var options = {
minColor: '#e7711c',
midColor: '#fff',
maxColor: '#4374e0',
showScale: true,
generateTooltip: showStaticTooltip
};
tree.draw(data, options);
function showStaticTooltip(row, size, value) {
return '<div style="background:#fd9; padding:10px; border-style:solid">' +
'Read more about the <a href="http://en.wikipedia.org/wiki/Kingdom_(biology)">kingdoms of life</a>.</div>';
}
Fungsi generateTooltip dapat berupa JavaScript apa pun yang Anda sukai. Biasanya, Anda memerlukan tooltip yang bervariasi berdasarkan nilai data. Contoh berikut menunjukkan cara mengakses setiap kolom dalam
tabel data.
Jika mengarahkan kursor ke sel dalam peta hierarki di atas, Anda akan melihat
tooltip yang berbeda untuk setiap sel. Semua fungsi tooltip peta hierarki
menggunakan tiga nilai: row, size,
dan value.
row: baris sel dari tabel data
size: jumlah nilai (kolom 3) dari sel ini dan semua turunannya
value: warna sel, yang dinyatakan sebagai
angka dari 0 hingga 1
Dalam showFullTooltip, string yang kita tampilkan adalah kotak
HTML dengan lima baris:
Baris 1 menampilkan baris yang sesuai dari tabel data, yang menggunakan data.getValue secara bebas.
Baris 2 memberi tahu Anda baris mana, yang hanya merupakan parameter row.
Baris 3 memberi Anda informasi dari kolom 3 tabel data: jumlah nilai kolom 3 dari baris ini, ditambah nilai dari turunan.
Baris 4 memberi Anda informasi dari kolom 4 dari tabel data tersebut. Nilai merupakan
nilai, tetapi dinyatakan sebagai angka antara 0 dan 1 yang sesuai dengan
warna sel.
Nama class visualisasi adalah google.visualization.TreeMap.
var visualization = new google.visualization.TreeMap(container);
Format Data
Setiap baris dalam tabel data menjelaskan satu node (persegi panjang dalam grafik). Setiap node (kecuali node root) memiliki satu node induk. Setiap node diberi ukuran dan diberi warna sesuai dengan nilainya yang terkait dengan node lain yang saat ini ditampilkan.
Tabel data harus memiliki empat kolom dalam format berikut:
Kolom 0 - [string] ID untuk node ini. String ini dapat berupa string JavaScript yang valid, termasuk spasi, dan panjang yang dapat ditampung string. Nilai ini ditampilkan sebagai header node.
Kolom 1 - [string] - ID node induk. Jika ini adalah node root, biarkan kosong. Hanya satu root yang diizinkan per peta hierarki.
Kolom 2 - [angka] - Ukuran node. Nilai positif apa pun
diizinkan. Nilai ini menentukan ukuran node, yang dihitung secara relatif terhadap semua node lain yang saat ini ditampilkan. Untuk node non-leaf, nilai ini diabaikan dan dihitung dari ukuran semua turunannya.
Kolom 3 - [opsional, angka] - Nilai opsional yang digunakan untuk menghitung warna untuk node ini. Nilai apa pun, positif atau negatif, akan diizinkan.
Nilai warna pertama kali dihitung ulang pada skala dari minColorValue hingga maxColorValue, lalu node diberi warna dari gradien antara minColor dan maxColor.
Opsi
Konfigurasi
Name
enableHighlight (untuk v50+)
Menentukan apakah elemen harus menunjukkan efek yang disorot. Pemicu default adalah saat kursor diarahkan ke atasnya.
Pemicu dapat dikonfigurasi dengan eventsConfig. Jika ditetapkan ke true, penandaan untuk berbagai elemen dapat ditentukan menggunakan berbagai opsi highlightColor.
Jenis: boolean
Default: false
eventsConfig (untuk v50+)
Konfigurasi peristiwa untuk memicu interaksi peta hierarki.
Format untuk mengonfigurasi interaksi:
Jika array konfigurasi tidak ditentukan atau tidak ada untuk interaksi, nilai default akan digunakan.
Jika konfigurasi adalah array kosong, interaksi akan dinonaktifkan.
Untuk konfigurasi yang valid, mouse_event diperlukan dan harus berupa peristiwa mouse yang didukung. Kemudian, Anda dapat memiliki hingga empat pengubah kunci opsional.
Interaksi yang didukung:
sorot, hapus sorotan, gabungkan, lihat perincian.
Peristiwa mouse yang didukung:
'click', 'contextmenu', 'dblclick', 'mouseout', 'mouseover'. Penggunaan 'contextmenu' sesuai dengan klik kanan.
Menggambar diagram di dalam bingkai inline. (Perhatikan bahwa pada IE8, opsi ini diabaikan; semua diagram IE8 digambar dalam i-frame.)
Jenis: boolean
Default: false
headerColor
Warna bagian header untuk setiap node. Tentukan nilai warna HTML.
Jenis: string
Default: #988f86
headerHeight
Tinggi bagian header untuk setiap node, dalam piksel (dapat bernilai nol).
Nomor jenis
Default: 0
headerHighlightColor
Warna header dari node yang ditunjuk dengan kursor. Tentukan nilai warna HTML atau null; jika null, nilai ini akan headerColor dikurangi sebesar 35%.
Jenis: string
Default: null
highlightOnMouseOver (tidak digunakan lagi untuk v50+)
Tidak digunakan lagi untuk v50+. Untuk v50 dan yang lebih baru, gunakan enableHighlight.
Menentukan apakah elemen harus menampilkan efek yang disorot saat kursor diarahkan ke atasnya. Jika ditetapkan ke true, penandaan untuk berbagai elemen dapat ditentukan menggunakan berbagai opsi highlightColor.
Jenis: boolean
Default: false
hintOpacity
Jika maxPostDepth lebih besar dari 1, sehingga node di bawah kedalaman saat ini akan
ditampilkan, hintOpacity akan menentukan tingkat transparansinya. Nilainya harus antara 0 dan 1; semakin tinggi nilainya, semakin redup node tersebut.
Jenis: nomor
Default: 0,0
maxColor
Warna untuk persegi panjang dengan nilai kolom 3 maxColorValue. Tentukan nilai warna HTML.
Jenis: string
Default: #00dd00
maxDepth
Jumlah maksimum tingkat node yang akan ditampilkan dalam tampilan saat ini. Level akan diratakan ke bidang saat ini. Jika hierarki Anda memiliki lebih banyak level dari ini, Anda harus naik atau turun untuk melihatnya. Anda juga dapat melihat level maxPostDepth di bawahnya sebagai
persegi panjang yang berarsir di dalam node ini.
Jenis: nomor
Default: 1
maxHighlightColor
Warna sorotan yang akan digunakan untuk node dengan nilai terbesar di kolom 3. Tentukan nilai warna HTML atau null; Jika null, nilai ini akan menjadi nilai maxColor yang dikurangi 35%
Jenis: string
Default: null
maxPostDepth
Jumlah level node di luar maxDepth yang akan ditampilkan dengan cara "diisyaratkan".
Node yang diberi petunjuk ditampilkan sebagai persegi panjang yang berarsir di dalam node yang berada dalam batas
maxDepth.
Jenis: nomor
Default: 0
maxColorValue
Nilai maksimum yang diizinkan di kolom 3. Semua nilai yang lebih besar dari ini akan dipangkas ke nilai ini. Jika ditetapkan ke null, nilai tersebut akan ditetapkan ke nilai maksimum di kolom.
Jenis: nomor
Default: null
midColor
Warna persegi panjang dengan nilai kolom 3 di tengah antara maxColorValue
dan minColorValue. Tentukan nilai warna HTML.
Jenis: string
Default: #000000
midHighlightColor
Warna sorotan yang akan digunakan untuk node dengan nilai kolom 3 yang dekat dengan median minColorValue dan maxColorValue. Tentukan nilai warna HTML atau null; jika null, nilai ini akan menjadi nilai midColor yang dikurangi 35%.
Jenis: string
Default: null
minColor
Warna untuk persegi panjang dengan nilai kolom 3 minColorValue. Tentukan nilai warna HTML.
Jenis: string
Default: #dd0000
minHighlightColor
Warna sorotan yang akan digunakan untuk node dengan nilai kolom 3 yang paling dekat dengan
minColorValue. Tentukan nilai warna HTML atau null; jika null, nilai ini akan
menjadi nilai minColor yang dikurangi 35%
Jenis: string
Default: null
minColorValue
Nilai minimum yang diizinkan di kolom 3. Semua nilai yang kurang dari ini akan dipangkas ke nilai ini. Jika ditetapkan ke null, nilai tersebut akan dihitung sebagai nilai minimum dalam kolom.
Jenis: nomor
Default: null
noColor
Warna yang akan digunakan untuk persegi panjang jika node tidak memiliki nilai untuk kolom 3, dan node tersebut adalah sebuah
daun (atau hanya berisi daun). Tentukan nilai warna HTML.
Jenis: string
Default: #000000
noHighlightColor
Warna yang akan digunakan untuk persegi panjang dengan warna "no" saat disorot. Tentukan nilai warna HTML atau null; jika null, ini akan menjadi nilai noColor yang dikurangi 35%.
Jenis: string
Default: null
showScale
Apakah akan menampilkan skala gradien warna dari minColor hingga maxColor di sepanjang bagian atas diagram atau tidak. Tentukan true untuk menampilkan skala.
Jenis: boolean
Default: false
showTooltips
Apakah akan menampilkan tooltip.
Jenis: boolean
Default: benar (true)
textStyle
Objek yang menentukan gaya teks, untuk diagram tertentu yang memiliki teks di area konten seperti peta hierarki. Objek memiliki format ini:
Apakah akan menggunakan rata-rata tertimbang untuk agregasi.
Jenis: boolean
Default: false
Metode
Metode
draw(data, options)
Menggambar diagram.
Jenis Pengembalian: tidak ada
getEventsConfig() (for v50+)
Menampilkan konfigurasi interaksi saat ini. Link ini dapat digunakan untuk memverifikasi opsi konfigurasi eventsConfig
Jenis Pengembalian: Objek
{ // An empty array (i.e. []) means the interaction is disabled.
highlight: string[],
unhighlight: string[],
rollup: string[],
drilldown: string[] }
getSelection()
Implementasi
getSelection()
standar. Elemen yang dipilih adalah node. Hanya satu node yang dapat dipilih pada satu waktu.
Jenis Pengembalian: Array elemen pilihan
setSelection()
Implementasi
setSelection()
standar. Elemen yang dipilih adalah node. Hanya satu node yang dapat dipilih pada satu waktu.
Jenis Pengembalian: tidak ada
goUpAndDraw()
Naikkan pohon satu level dan gambar ulang. Tidak menampilkan error jika node adalah
node root. Fungsi ini diaktifkan secara otomatis saat pengguna mengklik kanan node.
Jenis Pengembalian: tidak ada
getMaxPossibleDepth()
Menampilkan kedalaman maksimum yang memungkinkan untuk tampilan saat ini.
Jenis Pengembalian: nomor
clearChart()
Mengosongkan diagram, dan melepaskan semua resource yang dialokasikan.
Jenis Pengembalian: tidak ada
Acara
Lihat eventsConfig untuk pemicu peristiwa yang dapat dikonfigurasi.
Name
onmouseover
Diaktifkan saat pengguna mengarahkan mouse ke node. Pengendali peristiwa diberi indeks baris dari entri yang sesuai dalam tabel data.
Properti: baris
highlight (for v50+)
Diaktifkan saat pengguna menandai node. Pemicu default adalah pengarahan mouse.
Pengendali peristiwa dapat dikonfigurasi dengan eventsConfig untuk v50+.
Pengendali peristiwa diberi indeks baris dari entri yang sesuai dalam tabel data.
Properti: baris
onmouseout
Diaktifkan saat pengguna mengarahkan mouse dari node. Pengendali peristiwa diberi indeks baris dari entri yang sesuai dalam tabel data.
Properti: baris
unhighlight (for v50+)
Diaktifkan saat pengguna menghapus sorotan node. Pemicu default adalah mouseout.
Pengendali peristiwa dapat dikonfigurasi dengan eventsConfig untuk v50+.
Pengendali peristiwa diberi indeks baris dari entri yang sesuai dalam tabel data.
Properti: baris
ready
Diaktifkan saat diagram siap untuk panggilan metode eksternal. Jika ingin berinteraksi dengan diagram, dan memanggil metode setelah menggambarnya, Anda harus menyiapkan pemroses untuk peristiwa ini sebelum memanggil metode draw, dan memanggilnya hanya setelah peristiwa diaktifkan.
Properti: Tidak ada
rollup
Diaktifkan saat pengguna kembali ke hierarki. Pemicu default adalah mengklik kanan.
Atribut ini dapat dikonfigurasi dengan eventsConfig untuk v50+.
Properti baris yang diteruskan ke pengendali peristiwa adalah baris node yang menjadi tujuan navigasi pengguna
dari, bukan baris yang dituju oleh pengguna.
Properti: baris
select
Diaktifkan saat pengguna melihat perincian atau memutar node. Juga diaktifkan saat metode
setSelection() atau goUpAndDraw() dipanggil.
Untuk mengetahui node mana yang dipilih, panggil
getSelection().
Properti: tidak ada
drilldown (for v50+)
Diaktifkan saat pengguna membuka hierarki lebih dalam. Pemicu default adalah mengklik.
Node ini dapat dikonfigurasi dengan eventsConfig untuk v50+.
Untuk mempelajari node mana yang diklik, panggil getSelection().
Properti: tidak ada
Kebijakan Data
Semua kode dan data diproses dan dirender di browser. Tidak ada data yang dikirim ke server mana pun.