Representasi visual pohon data, tempat setiap node dapat memiliki nol atau beberapa turunan, dan satu induk (kecuali untuk root, yang tidak memiliki induk). Setiap node ditampilkan sebagai persegi panjang, dengan ukuran dan
warna sesuai dengan nilai yang Anda tetapkan. Ukuran dan warna bernilai
relatif terhadap semua node lainnya dalam grafik. Anda dapat menentukan jumlah
level yang akan ditampilkan secara bersamaan, dan secara opsional untuk menampilkan
level yang lebih dalam dengan petunjuk. Jika node adalah node daun, Anda dapat
menentukan ukuran dan warna; jika bukan node daun, node tersebut akan ditampilkan
sebagai kotak pembatas untuk node daun. Perilaku defaultnya adalah menggerakkan
pohon ke bawah saat pengguna mengklik kiri node, dan berpindah ke atas
pohon ketika pengguna mengklik kanan grafik.
Ukuran total grafik ditentukan oleh ukuran elemen di dalamnya
yang Anda sisipkan di halaman. Jika Anda memiliki node daun dengan nama yang terlalu panjang untuk ditampilkan,
nama akan terpotong dengan elipsis (...).
Anda dapat menentukan apakah elemen harus disorot, dan menetapkan warna tertentu untuk
elemen tertentu yang akan digunakan saat ini terjadi. Untuk mengaktifkan penyorotan, tetapkan highlightOnMouseOver:true (untuk v49 atau sebelumnya) atau enableHighlight: true (untuk v50+). Dari sana, Anda dapat menyetel warna untuk menggunakan penyorotan 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'],
}
};
Tooltip
Secara default, tooltip peta pohon bersifat dasar, yang menunjukkan label
sel peta hierarki. Hal ini berguna jika sel terlalu kecil untuk memuat
label, tetapi Anda dapat menyesuaikannya lebih lanjut seperti yang dijelaskan di bagian ini.
Tooltip peta hierarki disesuaikan secara berbeda dari diagram lainnya: Anda
menentukan fungsi, lalu menetapkan opsi generateTooltip
ke fungsi tersebut. Berikut adalah contoh sederhana:
Pada diagram di atas, kita menentukan fungsi yang disebut showStaticTooltip yang hanya menampilkan string dengan HTML yang akan ditampilkan setiap kali pengguna mengarahkan kursor ke sel peta hierarki. Cobalah! Kode untuk menghasilkannya 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 menginginkan tooltip yang bervariasi berdasarkan nilai data. Contoh berikut menunjukkan cara mengakses setiap kolom dalam
data.
Jika mengarahkan kursor ke sel dalam peta hierarki di atas, Anda akan melihat
tooltip yang berbeda untuk setiap sel. Fungsi tooltip peta pohon semuanya 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
Di showFullTooltip, string yang kita tampilkan adalah kotak HTML dengan lima baris:
Baris 1 menunjukkan baris yang sesuai dari tabel, sehingga
menggunakan data.getValue secara bebas.
Baris 2 memberi tahu Anda baris yang 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 dalam tabel. Ini adalah
nilai, tetapi dinyatakan sebagai angka antara 0 dan 1 yang sesuai dengan
warna sel.
Nama class visualisasinya 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 diukur dan
diberi warna sesuai dengan nilainya dibandingkan dengan node lain yang saat ini ditampilkan.
Tabel data harus memiliki empat kolom dalam format berikut:
Kolom 0 - [string] ID untuk node ini. Ini dapat berupa string JavaScript apa pun yang valid, termasuk spasi, dan panjang apa pun yang dapat ditampung string. Nilai ini ditampilkan sebagai header node.
Kolom 1 - [string] - ID node induk. Jika ini adalah node
root, kosongkan kolom ini. 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 relatif terhadap semua
node lain yang saat ini ditampilkan. Untuk node yang tidak berdaun, nilai ini diabaikan dan
dihitung dari ukuran semua turunannya.
Kolom 3 - [opsional, number] - Nilai opsional yang digunakan untuk menghitung warna untuk node ini. Semua nilai, positif atau negatif, diizinkan.
Nilai warna pertama-tama 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 menampilkan efek yang ditandai. Pemicu default adalah saat mouse diarahkan ke atas.
Pemicu dapat dikonfigurasi dengan eventsConfig. Jika ditetapkan ke
true, sorotan untuk elemen yang berbeda dapat ditentukan menggunakan berbagai
opsi highlightColor.
Jenis: boolean
Default: false (salah)
eventConfig (untuk v50+)
Konfigurasi peristiwa untuk memicu interaksi peta hierarki.
Format untuk mengonfigurasi interaksi:
Jika array konfigurasi tidak ditentukan atau tidak ada untuk interaksi, default akan digunakan.
Jika konfigurasi berupa array kosong, interaksi akan dinonaktifkan.
Untuk konfigurasi yang valid, mouse_event diperlukan dan harus merupakan peristiwa mouse yang didukung. Kemudian, Anda dapat memiliki hingga empat pengubah kunci opsional.
Menggambar diagram di dalam frame inline. (Perhatikan bahwa di IE8, opsi ini diabaikan; semua diagram IE8 digambar dalam i-frame.)
Jenis: boolean
Default: false (salah)
WarnaHeader
Warna bagian header untuk setiap node. Tentukan nilai warna HTML.
Jenis: string
Default: #988f86
tinggi header
Ketinggian bagian header untuk setiap node, dalam piksel (bisa nol).
Nomor Jenis
Default: 0
headerHighlightColor
Warna header node mengarahkan kursor. Tentukan nilai warna HTML atau null;
jika null, nilai ini akan headerColor diringankan 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 akan menampilkan efek yang ditandai saat mouse diarahkan ke atas. Jika ditetapkan ke
true, sorotan untuk elemen yang berbeda dapat ditentukan menggunakan berbagai
opsi highlightColor.
Jenis: boolean
Default: false (salah)
hintOpacity
Jika maxPostDepth lebih besar dari 1, menyebabkan node di bawah kedalaman saat ini ditampilkan, hintOpacity akan menentukan seberapa transparan seharusnya node tersebut ditampilkan. Harus antara 0 dan 1. Semakin tinggi nilainya, semakin rendah node.
Jenis: angka
Default: 0,0
maxColor
Warna untuk persegi panjang dengan nilai kolom 3 maxColorValue. Tentukan nilai warna HTML.
Jenis: string
Default: #00dd00
maxDepth
Jumlah tingkat node maksimum untuk ditampilkan di tampilan saat ini. Level akan diratakan
ke bidang saat ini. Jika hierarki Anda memiliki lebih banyak level dari level tersebut, Anda harus naik atau turun untuk melihatnya. Anda juga dapat melihat tingkat maxPostDepth di bawah ini sebagai persegi panjang berarsir dalam node ini.
Jenis: angka
Default: 1
maxHighlightColor
Warna sorotan yang digunakan untuk node dengan nilai terbesar di kolom 3. Tentukan nilai warna
HTML atau null; jika null, nilai ini akan menjadi nilai maxColor
yang diringankan sebesar 35%
Jenis: string
Default: null
maxPostDepth
Jumlah level node di luar maxDepth yang akan ditampilkan dengan cara "diberi petunjuk".
Node yang diindikasikan ditampilkan sebagai persegi panjang berarsir dalam node yang berada dalam
batas maxDepth.
Jenis: angka
Default: 0
maxColorValue
Nilai maksimum yang diizinkan di kolom 3. Semua nilai yang lebih besar dari nilai ini akan dipangkas menjadi nilai ini. Jika ditetapkan ke null, nilai tersebut akan ditetapkan ke nilai maksimum dalam kolom.
Jenis: angka
Default: null
warna tengah
Warna untuk persegi panjang dengan nilai kolom 3 di tengah-tengah antara maxColorValue dan minColorValue. Tentukan nilai warna HTML.
Jenis: string
Default: #000000
midHighlightColor
Warna sorotan yang digunakan untuk node dengan nilai kolom 3 di dekat median
minColorValue dan maxColorValue. Tentukan nilai warna HTML atau
null; jika null, nilai ini akan menjadi nilai midColor yang diringankan sebesar 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 digunakan untuk node dengan nilai kolom 3 yang terdekat dengan minColorValue. Tentukan nilai warna HTML atau null; jika null, nilai ini akan
menjadi nilai minColor yang diringankan sebesar 35%
Jenis: string
Default: null
minColorValue
Nilai minimum yang diizinkan di kolom 3. Semua nilai yang kurang dari ini akan dipangkas menjadi nilai ini. Jika disetel ke null, nilai tersebut akan dihitung sebagai nilai minimum di kolom.
Jenis: angka
Default: null
tanpawarna
Warna yang digunakan untuk persegi panjang ketika node tidak memiliki nilai untuk kolom 3, dan node tersebut adalah daun (atau hanya berisi daun). Tentukan nilai warna HTML.
Jenis: string
Default: #000000
noHighlightColor
Warna yang digunakan untuk persegi panjang warna "tidak" saat ditandai. Tentukan nilai warna
HTML atau null; jika null, ini akan menjadi nilai noColor yang diringankan sebesar
35%.
Jenis: string
Default: null
showScale
Apakah akan menampilkan skala gradien warna dari minColor ke maxColor di sepanjang bagian atas diagram. Tentukan true untuk menampilkan timbangan.
Jenis: boolean
Default: false (salah)
showTooltips
Apakah tooltip ditampilkan atau tidak.
Jenis: boolean
Default: true (benar):
gayaTeks
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 (salah)
Metode
Metode
draw(data, options)
Menggambar diagram.
Jenis Hasil: tidak ada
getEventsConfig() (for v50+)
Menampilkan konfigurasi interaksi saat ini. Ini dapat digunakan untuk memverifikasi opsi konfigurasi eventsConfig
Jenis Hasil: 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 dalam satu waktu.
Jenis Hasil: Array elemen pilihan
setSelection()
Implementasi
setSelection()
standar. Elemen yang dipilih adalah node. Hanya satu node yang dapat dipilih dalam satu waktu.
Jenis Hasil: tidak ada
goUpAndDraw()
Pindahkan pohon ke atas sebesar satu tingkat dan gambar ulang. Tidak melemparkan error jika node tersebut adalah
node root. Metode ini diaktifkan secara otomatis saat pengguna mengklik kanan node.
Jenis Hasil: tidak ada
getMaxPossibleDepth()
Menampilkan kedalaman maksimum yang memungkinkan untuk tampilan saat ini.
Jenis Hasil: angka
clearChart()
Menghapus diagram, dan melepaskan semua resource yang dialokasikan.
Jenis Hasil: tidak ada
Acara
Lihat eventsConfig untuk pemicu peristiwa yang dapat dikonfigurasi.
Name
onmouseover
Dipicu jika pengguna mengarahkan mouse ke node. Pengendali peristiwa diteruskan indeks baris untuk entri yang sesuai di tabel data.
Properti: baris
highlight (for v50+)
Dipicu jika pengguna menandai node. Pemicu default adalah pengarahan mouse.
Ini dapat dikonfigurasi dengan eventsConfig untuk v50+. Pengendali peristiwa diteruskan indeks baris untuk entri yang sesuai di tabel data.
Properti: baris
onmouseout
Dipicu saat pengguna mengarahkan mouse ke luar node. Pengendali peristiwa diteruskan indeks baris untuk entri yang sesuai di tabel data.
Properti: baris
unhighlight (for v50+)
Dipicu jika pengguna menghapus sorotan node. Pemicu default adalah mouseout.
Ini dapat dikonfigurasi dengan eventsConfig untuk v50+. Pengendali peristiwa diteruskan indeks baris untuk entri yang sesuai di 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
Dipicu jika pengguna membuka kembali hierarki. Pemicu default adalah mengklik kanan.
Library ini dapat dikonfigurasi dengan eventsConfig untuk v50+. Properti baris yang diteruskan ke pengendali peristiwa adalah baris node tempat pengguna melakukan navigasi dari, bukan baris yang dinavigasikan pengguna.
Properti: baris
select
Diaktifkan saat pengguna melihat perincian, atau menggabungkan node. Juga diaktifkan saat metode
setSelection() atau goUpAndDraw() dipanggil.
Untuk mempelajari node yang dipilih, panggil
getSelection().
Properti: tidak ada
drilldown (for v50+)
Dipicu jika pengguna menavigasi lebih dalam ke hierarki. Pemicu default adalah mengklik.
Class 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.