Übersicht
Ein dynamisches Diagramm zur Untersuchung mehrerer Indikatoren im Zeitverlauf. Das Diagramm wird im Browser mithilfe von Flash gerendert.
Hinweis für Entwickler: Aufgrund der Flash-Sicherheitseinstellungen funktionieren diese Methode (und alle Flash-basierten Visualisierungen) möglicherweise nicht richtig, wenn der Zugriff von einem Dateispeicherort im Browser (z.B. file:///c:/webhost/myhost/myviz.html) statt von einer Webserver-URL (z.B. http://www.myhost.com/myviz.html) aus erfolgt. Dies ist normalerweise nur ein Testproblem. Du kannst dieses Problem wie auf der Adobe-Website beschrieben beheben.
Beispiel
Der folgende Code funktioniert nicht, wenn er als lokale Datei geladen wird. Er muss von einem Webserver geladen werden.
<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>
Wird geladen
Der Paketname „google.charts.load
“ lautet "motionchart"
.
google.charts.load('current', {'packages': ['motionchart']});
Der Klassenname der Visualisierung lautet google.visualization.MotionChart
.
var visualization = new google.visualization.MotionChart(container);
Datenformat
- Die erste Spalte muss vom Typ „string“ sein und die Entitätsnamen enthalten (z.B. „Äpfel“, „Orangen“, „Bananen“ im obigen Beispiel).
- Die zweite Spalte muss Zeitwerte enthalten. Die Zeit kann in einem der folgenden Formate ausgedrückt werden:
- Jahr – Spaltentyp: "number". Beispiel: 2008.
- Monat, Tag und Jahr – Spaltentyp: 'Datum'; Werte sollten JavaScript-
Date
-Instanzen sein. - Wochennummer – Spaltentyp: „string“. Für die Werte muss das Muster „JJJJWww“ verwendet werden, das ISO 8601 entspricht. Beispiel: „2008W03“.
- Quartal: Spaltentyp: "string". Die Werte sollten das Muster YYYYQq haben, das ISO 8601 entspricht. Beispiel: „2008Q3“.
- Die nachfolgenden Spalten können den Typ „number“ (Zahl) oder „string“ (String) haben. Zahlenspalten werden in den Drop-down-Menüs für X-, Y-, Farbe- und Größe-Achsen angezeigt. Stringspalten werden nur im Drop-down-Menü für Farbe angezeigt. Siehe das Beispiel oben.
Anfangszustand festlegen
Sie können festlegen, dass das Bewegungsdiagramm mit einem bestimmten Status beginnt, also mit einem Satz ausgewählter Entitäten und Ansichtenanpassungen. Dazu müssen Sie zuerst das Diagramm erstellen und anzeigen lassen und dann alle Statusänderungen vornehmen, die im Diagramm angezeigt werden sollen (Werte auswählen, Einstellungen ändern usw.), diese Einstellungen dann als String exportieren und diesen String schließlich in Ihrem Code verwenden, indem Sie ihn der Option „Status“ zuweisen. In den nächsten beiden Abschnitten wird beschrieben, wie der Bundesstaatcode exportiert und anschließend verwendet wird.
- Öffnen Sie ein funktionierendes Diagramm und legen Sie die Einstellungen fest, die erfasst werden sollen. Sie können unter anderem folgende Einstellungen festlegen: Deckkraft, Zoom und die Skala im Vergleich zur linearen oder linearen Skalierung.
- Öffnen Sie die Einstellungen, indem Sie unten rechts im Diagramm auf das Schraubenschlüsselsymbol klicken.
- Klicken Sie links unten auf den Link Erweitert, um das Steuerfeld Erweitert zu den Gruppen hinzuzufügen.
- Maximieren Sie den Bereich Erweitert und kopieren Sie den Inhalt des Textfelds Status in die Zwischenablage. Hinweis: Anstatt das in den Schritten 2–4 beschriebene Menü zu verwenden, können Sie auf Ihrer Seite eine Schaltfläche einfügen, die
getState()
aufruft und den aktuellen Status in einem Nachrichtenfeld anzeigt. - Weisen Sie den im vorherigen Schritt kopierten String für den Status dem Optionsparameter „state“ in Ihrem Code zu, wie hier gezeigt. Bei Übergabe an die Methode
draw()
wird das Diagramm mit dem beim Start angegebenen Status initialisiert.
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);
Konfigurationsoptionen
Name | Typ | Standard | Beschreibung |
---|---|---|---|
height | number | 300 | Höhe des Diagramms in Pixeln. |
width | number | 500 | Breite des Diagramms in Pixeln. |
state | String | Keine | Anfänglicher Anzeigestatus des Diagramms. Dies ist ein serialisiertes JSON-Objekt, das die Zoomstufe, ausgewählte Dimensionen, ausgewählte Blasen/Entitäten und andere Statusbeschreibungen beschreibt. Weitere Informationen dazu, wie Sie diesen festlegen, finden Sie unter Anfangszustand festlegen. |
showChartButtons | boolean | true | false blendet die Schaltflächen zur Steuerung des Diagrammtyps (Blasen / Linien / Spalten) oben rechts aus. |
showHeader | boolean | true | false blendet die Titelbezeichnung der Entitäten aus (abgeleitet von der Bezeichnung der ersten Spalte in der Datentabelle). |
showSelectListComponent | boolean | true | false blendet die Liste der sichtbaren Entitäten aus. |
showSidePanel | boolean | true | false blendet das rechte Steuerfeld aus. |
showXMetricPicker | boolean | true | false blendet die Messwertauswahl für x aus. |
showYMetricPicker | boolean | true | false blendet die Messwertauswahl für „y“ aus. |
showXScalePicker | boolean | true | false blendet die Skalierungsauswahl für x aus. |
showYScalePicker | boolean | true | false blendet die Skalierungsauswahl für y aus. |
showAdvancedPanel | boolean | true | false deaktiviert das Optionsfach im Einstellungssteuerfeld. |
Methoden
Methode | Rückgabetyp | Beschreibung |
---|---|---|
draw(data, options) |
keine | Zeichnet das Diagramm mit den bereitgestellten Optionen. |
getState() |
String | Gibt den aktuellen state des Bewegungsdiagramms serialisiert in einen JSON-String zurück. Wenn Sie dem Diagramm diesen Status zuweisen möchten, weisen Sie diesen String der Option state in der Methode draw() zu. Dies wird häufig verwendet, um beim Start einen benutzerdefinierten Diagrammstatus anzugeben, statt den Standardstatus zu verwenden. |
Ereignisse
Name | Beschreibung | Attribute |
---|---|---|
error |
Wird ausgelöst, wenn beim Versuch, das Diagramm zu rendern, ein Fehler auftritt. | ID, Nachricht |
bereit | Das Diagramm ist bereit für externe Methodenaufrufe. Wenn Sie mit dem Diagramm interagieren und Methoden aufrufen möchten, nachdem Sie es gezeichnet haben, sollten Sie vor dem Aufrufen der Zeichenmethode einen Listener für dieses Ereignis einrichten. Dieser Listener sollte erst nach dem Auslösen des Ereignisses aufgerufen werden. | Ohne |
Statechange | Der Nutzer hat mit dem Diagramm interagiert. Rufen Sie getState() auf, um den aktuellen Status des Diagramms zu erfahren. |
Ohne |
Datenrichtlinie
Sämtlicher Code und alle Daten werden im Browser verarbeitet und gerendert. Es werden keine Daten an einen Server gesendet.
Hinweise
Aufgrund der Flash-Sicherheitseinstellungen funktionieren diese Methode (und alle Flash-basierten Visualisierungen) möglicherweise nicht ordnungsgemäß, wenn sie von einem Dateispeicherort im Browser (z.B. file:///c:/webhost/myhost/myviz.html) statt über eine Webserver-URL (z.B. http://www.myhost.com/myviz.html) aufgerufen werden. Dies ist in der Regel nur ein Testproblem. Du kannst dieses Problem wie auf der Macromedia-Website beschrieben beheben.