Omówienie
Wykres dynamiczny badający kilka wskaźników w czasie. Wykres jest renderowany w przeglądarce za pomocą Flasha.
Uwaga dla programistów: ze względu na ustawienia zabezpieczeń Flasha to (wraz ze wszystkimi wizualizacjami opartymi na Flashu) może nie działać prawidłowo, gdy otworzysz plik z poziomu lokalizacji pliku w przeglądarce (np. file:///c:/webhost/myhost/myviz.html), a nie z adresu URL serwera WWW (np. http://www.mojhost.com/myviz.html). Zazwyczaj jest to problem związany tylko z testowaniem. Możesz rozwiązać ten problem w sposób opisany na stronie Adobe.
Przykład
Ten kod nie będzie działać po wczytaniu jako plik lokalny. Musisz go wczytać z serwera WWW.
<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>
Wczytuję
Nazwa pakietu google.charts.load
to "motionchart"
.
google.charts.load('current', {'packages': ['motionchart']});
Nazwa klasy wizualizacji to google.visualization.MotionChart
.
var visualization = new google.visualization.MotionChart(container);
Format danych
- Pierwsza kolumna musi być typu „ciąg znaków” i zawierać nazwy jednostek (np. „Jabłka”, „Pomarańcze”, „Banany” w przykładzie powyżej).
- Druga kolumna musi zawierać wartości czasu. Czas może być wyrażony w dowolnym z tych formatów:
- Rok – typ kolumny: „liczba”. Przykład: 2008.
- Miesiąc, dzień i rok – typ kolumny: „data”. Wartościami powinny być wystąpieniami
Date
w JavaScripcie. - Numer tygodnia – typ kolumny: „ciąg znaków”. Wartości powinny mieć format RRRRWww zgodny z normą ISO 8601. Przykład: „2008W03”.
- Kwartał – typ kolumny: „ciąg znaków”. Wartości powinny mieć format RRRRQq zgodny ze standardem ISO 8601. Przykład: „2008Q3”.
- Kolejne kolumny mogą być typu „liczba” lub „ciąg znaków”. Kolumny z liczbami pojawią się w menu dla osi X, Y, Kolor i Rozmiar. Kolumny z ciągami znaków pojawią się tylko w menu Kolor. Zobacz przykład powyżej.
Ustawianie stanu początkowego
Możesz określić, że wykres ruchomy zaczyna się od określonego stanu, czyli zbioru wybranych elementów i wyświetlania dostosowań. W tym celu musisz najpierw utworzyć i wyświetlić wykres, następnie wprowadzić dowolne zmiany stanu, które mają być widoczne na wykresie (wybrać wartości, zmienić ustawienia itp.), wyeksportować te ustawienia jako ciąg znaków, a na koniec użyć tego ciągu znaków w kodzie, przypisując go do opcji „stan”. W następnych 2 sekcjach opisano sposób eksportowania i używania kodu stanu.
- Otwórz wykres roboczy i ustaw ustawienia, które chcesz przechwytywać. Możesz określić ustawienia obejmujące poziomy przezroczystości, powiększenie i skalowanie logu w porównaniu z skalowaniem liniowym.
- Otwórz panel Ustawienia, klikając symbol klucza w prawym dolnym rogu wykresu.
- W lewym dolnym rogu kliknij link Zaawansowane, aby dodać do zestawu panel Zaawansowane.
- Rozwiń panel Zaawansowane i skopiuj do schowka zawartość pola State (Stan). (Uwaga: zamiast korzystać z menu opisanego w krokach 2–4, możesz wstawić na stronie przycisk, który wywołuje funkcję
getState()
i wyświetla bieżący stan w polu wiadomości). - Przypisz ciąg stanu skopiowany w poprzednim kroku do parametru opcji „state” w kodzie, jak pokazano tutaj. Po przekazaniu do metody
draw()
wykres zostanie zainicjowany do stanu określonego podczas uruchamiania.
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);
Opcje konfiguracji
Nazwa | Typ | Domyślne | Opis |
---|---|---|---|
wysokość | Liczba | 300 | Wysokość wykresu w pikselach. |
szerokość | Liczba | 500 | Szerokość wykresu w pikselach. |
state | string, | brak | Początkowy stan wyświetlania wykresu. To zserializowany obiekt JSON, który opisuje poziom powiększenia, wybrane wymiary, wybrane dymki/elementy i inne opisy stanów. Informacje o tym, jak to ustawić, znajdziesz w sekcji Ustawianie stanu początkowego. |
showChartButtons | boolean | prawda | Wartość false ukrywa przyciski sterujące typem wykresu (dymki / linie / kolumny) w prawym górnym rogu. |
showHeader | boolean | prawda | Wartość false ukrywa etykietę tytułu elementów (pochodzącą z etykiety pierwszej kolumny w tabeli danych). |
showSelectListComponent | boolean | prawda | Wartość false ukrywa listę widocznych elementów. |
showSidePanel | boolean | prawda | Wartość false ukrywa prawy panel. |
showXMetricPicker | boolean | prawda | Wartość false ukrywa selektor danych dla wartości x. |
showYMetricPicker | boolean | prawda | Wartość false ukrywa selektor danych dla wartości y. |
showXScalePicker | boolean | prawda | Wartość false ukrywa selektor skali dla X. |
showYScalePicker | boolean | prawda | Wartość false ukrywa selektor skali dla y. |
showAdvancedPanel | boolean | prawda | false wyłącza przedział opcji w panelu ustawień. |
Metody
Metoda | Typ zwracanej wartości | Opis |
---|---|---|
draw(data, options) |
brak | Rysuje wykres przy użyciu dostępnych opcji. |
getState() |
string, | Zwraca bieżący state wykresu ruchomego zserializowanego do ciągu JSON. Aby przypisać ten stan do wykresu, przypisz ten ciąg do opcji state w metodzie draw() . Często jest on używany do określania niestandardowego stanu wykresu podczas uruchamiania, zamiast użycia stanu domyślnego. |
Zdarzenia
Nazwa | Opis | Właściwości |
---|---|---|
error |
Uruchamiane, gdy podczas próby wyrenderowania wykresu wystąpi błąd. | identyfikator, wiadomość |
gotowa | Wykres jest gotowy do obsługi wywołań metod zewnętrznych. Jeśli chcesz korzystać z wykresu i metod wywołań po jego narysowaniu, skonfiguruj detektor tego zdarzenia przed wywołaniem metody rysowania i używaj ich dopiero po wywołaniu zdarzenia. | Brak |
zmiana stanu | Użytkownik wszedł w interakcję z wykresem. Wywołaj metodę getState() , aby poznać bieżący stan wykresu. |
Brak |
Zasady dotyczące danych
Cały kod i dane są przetwarzane i renderowane w przeglądarce. Żadne dane nie są wysyłane na żaden serwer.
Uwagi
Ze względu na ustawienia zabezpieczeń Flash ten element (podobnie jak wszystkie wizualizacje oparte na Flashu) może nie działać prawidłowo, gdy zostanie otwarty z lokalizacji pliku w przeglądarce (np. file:///c:/webhost/myhost/myviz.html), a nie z adresu URL serwera WWW (np. http://www.mojhost.com/myviz.html). Zazwyczaj jest to tylko problem testowy. Możesz rozwiązać ten problem w sposób opisany w witrynie Macromedia.