Обзор
Динамический график для изучения нескольких индикаторов с течением времени. Диаграмма отображается в браузере с помощью Flash.
Примечание для разработчиков . Из-за настроек безопасности Flash это (и все визуализации на основе Flash) может работать неправильно при доступе из местоположения файла в браузере (например, file:///c:/webhost/myhost/myviz.html). ), а не с URL-адреса веб-сервера (например, http://www.myhost.com/myviz.html). Обычно это проблема только тестирования. Эту проблему можно решить, как описано на веб-сайте Adobe .
Пример
(Обратите внимание, что следующий код не будет работать при загрузке как локальный файл; его необходимо загрузить с веб-сервера.)
<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>
Загрузка
 Имя пакета google.charts.load — "motionchart" .
  google.charts.load('current', {'packages': ['motionchart']});
 Имя класса визуализации — google.visualization.MotionChart .
var visualization = new google.visualization.MotionChart(container);
Формат данных
- Первый столбец должен иметь тип «строка» и содержать имена объектов (например, «Яблоки», «Апельсины», «Бананы» в приведенном выше примере).
-  Второй столбец должен содержать значения времени. Время может быть выражено в любом из следующих форматов:- Год — тип столбца: «число». Пример: 2008 год.
-  Месяц, день и год . Тип столбца: «дата»; значения должны быть экземплярами Datejavascript.
- Номер недели . Тип столбца: «строка»; значения должны использовать шаблон YYYYWww, соответствующий стандарту ISO 8601 . Пример: «2008W03».
- Квартал — тип столбца: «строка»; значения должны иметь шаблон YYYYQq, соответствующий стандарту ISO 8601 . Пример: «3 квартал 2008 г.».
 
- Последующие столбцы могут иметь тип «число» или «строка». Числовые столбцы будут отображаться в раскрывающихся меню для осей X, Y, цвета и размера. Столбцы строк будут отображаться только в раскрывающемся меню «Цвет». См. пример выше.
Установка исходного состояния
Вы можете указать, что диаграмма движения начинается с определенного состояния: то есть набора выбранных объектов и настроек представления. Для этого вам нужно сначала создать и отобразить диаграмму, затем внести любые изменения состояния, которые вы хотите, чтобы диаграмма отображала (выбрать значения, изменить настройки и т. д.), затем экспортировать эти настройки в виде строки и, наконец, использовать это строку в вашем коде, назначив ее опции «state». В следующих двух разделах описывается, как экспортировать и затем использовать код штата.
- Откройте рабочую диаграмму и задайте настройки, которые вы хотите сохранить. Настройки, которые вы можете указать, включают уровни непрозрачности, масштабирование и логарифмическое и линейное масштабирование.
- Откройте панель «Настройки» , щелкнув символ гаечного ключа в правом нижнем углу диаграммы.
- Нажмите ссылку «Дополнительно» в левом нижнем углу, чтобы добавить панель «Дополнительно» в набор.
-  Разверните панель «Дополнительно» и скопируйте содержимое текстового поля «Состояние» в буфер обмена. (Примечание: вместо использования меню, описанного в шагах 2–4, вы можете вставить на свою страницу кнопку, которая вызывает getState()и отображает текущее состояние в окне сообщения.)
-  Назначьте строку состояния, скопированную на предыдущем шаге, параметру «state» в вашем коде, как показано здесь. При передаче в метод draw()диаграмма будет инициализирована в состояние, указанное при запуске.
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);
Параметры конфигурации
| Имя | Тип | По умолчанию | Описание | 
|---|---|---|---|
| высота | число | 300 | Высота диаграммы в пикселях. | 
| ширина | число | 500 | Ширина диаграммы в пикселях. | 
| состояние | нить | никто | Исходное состояние отображения диаграммы. Это сериализованный объект JSON, который описывает уровень масштабирования, выбранные измерения, выбранные пузырьки/объекты и другие описания состояний. См. раздел «Настройка исходного состояния» , чтобы узнать, как это установить. | 
| показатьChartButtons | логическое значение | истинный | false скрывает кнопки, управляющие типом диаграммы (пузырьки/линии/столбцы) в правом верхнем углу. | 
| шоухедер | логическое значение | истинный | false скрывает метку заголовка сущностей (полученную из метки первого столбца в таблице данных). | 
| шоуселектлисткомпонент | логическое значение | истинный | false скрывает список видимых объектов. | 
| шоусайдпанель | логическое значение | истинный | false скрывает правую панель. | 
| showXMetricPicker | логическое значение | истинный | false скрывает средство выбора метрики для x. | 
| showYMetricPicker | логическое значение | истинный | false скрывает средство выбора метрики для y. | 
| showXScalePicker | логическое значение | истинный | false скрывает средство выбора масштаба для x. | 
| показатьYScalePicker | логическое значение | истинный | false скрывает средство выбора масштаба для y. | 
| показатьAdvancedPanel | логическое значение | истинный | false отключает раздел параметров на панели настроек. | 
Методы
| Метод | Тип возврата | Описание | 
|---|---|---|
| draw(data, options) | никто | Рисует диаграмму с предоставленными параметрами. | 
| getState() | нить | Возвращает текущее состояние диаграммы движения, сериализованное в строку JSON. Чтобы назначить это состояние диаграмме, назначьте эту строку параметру stateв методеdraw(). Это часто используется для указания пользовательского состояния диаграммы при запуске вместо использования состояния по умолчанию. | 
События
| Имя | Описание | Характеристики | 
|---|---|---|
| error | Вызывается, когда возникает ошибка при попытке отобразить диаграмму. | идентификатор, сообщение | 
| готовый | Диаграмма готова для вызовов внешних методов. Если вы хотите взаимодействовать с диаграммой и вызывать методы после ее рисования, вам следует настроить прослушиватель этого события до вызова метода рисования и вызывать их только после того, как событие было запущено. | Никто | 
| изменение состояния | Пользователь каким-то образом взаимодействовал с диаграммой. Вызовите getState(), чтобы узнать текущее состояние диаграммы. | Никто | 
Политика данных
Весь код и данные обрабатываются и отображаются в браузере. Никакие данные не отправляются ни на один сервер.
Примечания
Из-за настроек безопасности Flash это (и все визуализации на основе Flash) может работать неправильно при доступе из местоположения файла в браузере (например, file:///c:/webhost/myhost/myviz.html), а не из URL-адрес веб-сервера (например, http://www.myhost.com/myviz.html). Обычно это проблема только тестирования. Эту проблему можно решить, как описано на веб-сайте Macromedia .