Ringkasan
Diagram dinamis untuk mengeksplorasi beberapa indikator dari waktu ke waktu. Diagram dirender pada browser menggunakan Flash.
Catatan untuk Developer: Karena setelan keamanan Flash, fitur ini (dan semua visualisasi berbasis Flash) mungkin tidak berfungsi dengan benar saat diakses dari lokasi file di browser (misalnya file:///c:/webhost/myhost/myviz.html), bukan dari URL server web (misalnya http://www.myhost.com/myviz.html). Masalah ini biasanya hanya merupakan masalah pengujian. Anda dapat mengatasi masalah ini seperti yang dijelaskan di situs Adobe.
Contoh
(Perhatikan bahwa kode berikut tidak akan berfungsi saat dimuat sebagai file lokal; kode ini harus dimuat dari server web.)
<html> <head> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('current', {packages:["motionchart"]}); google.charts.setOnLoadCallback(drawChart); function drawChart() { var data = new google.visualization.DataTable(); data.addColumn('string', 'Fruit'); data.addColumn('date', 'Date'); data.addColumn('number', 'Sales'); data.addColumn('number', 'Expenses'); data.addColumn('string', 'Location'); data.addRows([ ['Apples', new Date (1988,0,1), 1000, 300, 'East'], ['Oranges', new Date (1988,0,1), 1150, 200, 'West'], ['Bananas', new Date (1988,0,1), 300, 250, 'West'], ['Apples', new Date (1989,6,1), 1200, 400, 'East'], ['Oranges', new Date (1989,6,1), 750, 150, 'West'], ['Bananas', new Date (1989,6,1), 788, 617, 'West'] ]); var chart = new google.visualization.MotionChart(document.getElementById('chart_div')); chart.draw(data, {width: 600, height:300}); } </script> </head> <body> <div id="chart_div" style="width: 600px; height: 300px;"></div> </body> </html>
Memuat
Nama paket google.charts.load
adalah "motionchart"
.
google.charts.load('current', {'packages': ['motionchart']});
Nama class visualisasi adalah google.visualization.MotionChart
.
var visualization = new google.visualization.MotionChart(container);
Format Data
- Kolom pertama harus berjenis 'string' dan berisi nama entity (misalnya, "Apel", "Jeruk", "Pisang" dalam contoh di atas).
- Kolom kedua harus berisi nilai waktu. Waktu dapat dinyatakan dalam salah satu format berikut:
- Tahun - Jenis kolom: 'angka'. Contoh: 2008.
- Bulan, hari, dan tahun - Jenis kolom: 'tanggal'; nilai harus berupa instance
Date
javascript. - Nomor minggu- Jenis kolom: 'string'; nilai harus menggunakan pola YYYYWww, yang sesuai dengan ISO 8601. Contoh: '2008W03'.
- Quarter - Jenis kolom: 'string'; nilai harus memiliki pola YYYYQq, yang sesuai dengan ISO 8601. Contoh: '2008Q3'.
- Kolom berikutnya dapat berjenis 'angka' atau 'string'. Kolom angka akan muncul di menu dropdown untuk sumbu X, Y, Warna, dan Ukuran. Kolom string hanya akan muncul di menu dropdown untuk Color. Lihat contoh di atas.
Menetapkan Status Awal
Anda dapat menentukan agar diagram gerakan dimulai dengan status tertentu: yaitu, kumpulan entitas yang dipilih dan penyesuaian tampilan. Untuk melakukannya, Anda harus membuat dan menampilkan diagram terlebih dahulu, lalu membuat perubahan status yang Anda inginkan untuk ditampilkan diagram (pilih nilai, ubah setelan, dll), lalu mengekspor setelan ini sebagai string, dan terakhir menggunakan string ini dalam kode Anda, menetapkannya ke opsi "status". Dua bagian berikutnya menjelaskan cara mengekspor, lalu menggunakan kode status.
- Buka bagan yang berfungsi dan tetapkan pengaturan yang ingin Anda ambil. Setelan yang dapat Anda tentukan mencakup tingkat opasitas, zoom, dan penskalaan log vs. linear.
- Buka panel Setelan dengan mengklik simbol kunci pas di sudut kanan bawah diagram.
- Klik link Advanced di sudut kiri bawah untuk menambahkan panel Advanced ke kumpulan.
- Luaskan panel Advanced dan salin konten kotak teks State
ke papan klip. (Catatan: daripada menggunakan menu yang dijelaskan pada langkah 2—4, Anda dapat menyisipkan tombol di halaman yang memanggil
getState()
dan menampilkan status saat ini dalam kotak pesan.) - Tetapkan string status yang Anda salin di langkah sebelumnya ke parameter opsi "state"
dalam kode Anda, seperti yang ditunjukkan di sini. Saat diteruskan ke metode
draw()
, diagram akan diinisialisasi ke status yang ditentukan saat startup.
var options = {}; options['state'] = '{"iconKeySettings":[],"stateVersion":3,"time":"notime","xAxisOption":"_NOTHING","playDuration":15,"iconType":"BUBBLE","sizeOption":"_NOTHING","xZoomedDataMin":null,"xZoomedIn":false,"duration":{"multiplier":1,"timeUnit":"none"},"yZoomedDataMin":null,"xLambda":1,"colorOption":"_NOTHING","nonSelectedAlpha":0.4,"dimensions":{"iconDimensions":[]},"yZoomedIn":false,"yAxisOption":"_NOTHING","yLambda":1,"yZoomedDataMax":null,"showTrails":true,"xZoomedDataMax":null};'; options['width'] = 600; options['height'] = 400; chart.draw(data, options);
Opsi Konfigurasi
Name | Jenis | Default | Deskripsi |
---|---|---|---|
tinggi | number | 300 | Tinggi diagram dalam piksel. |
lebar | number | 500 | Lebar diagram dalam piksel. |
state | string | none | Status tampilan awal diagram. Objek ini adalah objek JSON serial yang mendeskripsikan tingkat zoom, dimensi yang dipilih, balon/entitas yang dipilih, dan deskripsi status lainnya. Lihat Menyetel Status Awal untuk mempelajari cara menyetelnya. |
showChartButtons | boolean | true | false menyembunyikan tombol yang mengontrol jenis diagram (gelembung / garis / kolom) di sudut kanan atas. |
showHeader | boolean | true | false menyembunyikan label judul entitas (berasal dari label kolom pertama dalam tabel data). |
showSelectListComponent | boolean | true | false menyembunyikan daftar entitas yang terlihat. |
showSidePanel | boolean | true | {i>false <i}menyembunyikan panel sebelah kanan. |
showXMetricPicker | boolean | true | false menyembunyikan pemilih metrik untuk x. |
showYMetricPicker | boolean | true | false menyembunyikan pemilih metrik untuk y. |
showXScalePicker | boolean | true | false menyembunyikan pemilih skala untuk x. |
showYScalePicker | boolean | true | false menyembunyikan pemilih skala untuk y. |
showAdvancedPanel | boolean | true | false menonaktifkan kompartemen opsi di panel pengaturan. |
Metode
Metode | Jenis Nilai yang Ditampilkan | Deskripsi |
---|---|---|
draw(data, options) |
tidak ada | Menggambar diagram dengan opsi yang disediakan. |
getState() |
string | Menampilkan state motionchart saat ini, yang diserialisasi ke string JSON. Untuk menetapkan status ini ke diagram, tetapkan string ini ke opsi state di metode draw() . Atribut ini sering digunakan untuk menentukan status diagram kustom saat memulai, bukan menggunakan status default. |
Acara
Name | Deskripsi | Properti |
---|---|---|
error |
Diaktifkan saat terjadi error saat mencoba merender diagram. | id, pesan |
siap | 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 gambar, dan memanggilnya hanya setelah peristiwa diaktifkan. | Tidak ada |
perubahan negara | Pengguna telah berinteraksi dengan diagram dengan beberapa cara. Panggil getState() untuk mempelajari status diagram saat ini. |
Tidak ada |
Kebijakan Data
Semua kode dan data diproses dan dirender di browser. Tidak ada data yang dikirim ke server mana pun.
Catatan
Karena setelan keamanan Flash, ini (dan semua visualisasi berbasis Flash) mungkin tidak berfungsi dengan benar saat diakses dari lokasi file di browser (misalnya file:///c:/webhost/myhost/myviz.html), bukan dari URL server web (misalnya, http://www.myhost.com/myviz.html). Masalah ini biasanya hanya merupakan masalah pengujian. Anda dapat mengatasi masalah ini seperti yang dijelaskan di situs Macromedia.