Визуальное представление дерева данных, где каждый узел может иметь ноль или более дочерних узлов и одного родительского узла (за исключением корня, у которого нет родителей). Каждый узел отображается в виде прямоугольника, размер и цвет которого соответствуют назначенным вами значениям. Размеры и цвета оцениваются относительно всех остальных узлов графа. Вы можете указать, сколько уровней будет отображаться одновременно, а также, при необходимости, отображать более глубокие уровни в виде подсказок. Если узел является конечным узлом, вы можете указать размер и цвет; если это не лист, он будет отображаться как ограничивающая рамка для листовых узлов. Поведение по умолчанию — перемещение вниз по дереву, когда пользователь щелкает левой кнопкой мыши узел, и перемещение обратно вверх по дереву, когда пользователь щелкает график правой кнопкой мыши.
Общий размер графика определяется размером содержащего его элемента, который вы вставляете на свою страницу. Если у вас есть листовые узлы с именами, слишком длинными для отображения, имя будет сокращено до многоточия (...).
Вы можете указать, должны ли элементы выделяться, и установить определенные цвета для определенных элементов, которые будут использоваться в этом случае. Чтобы включить подсветку, установите highlightOnMouseOver:true (для версии 49 или более ранней) или enableHighlight: true (для версии 50+). Отсюда вы можете установить цвета для выделения элементов, используя различные параметры 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'],
}
};
Подсказки
По умолчанию всплывающие подсказки древовидной карты являются базовыми и показывают метку ячейки древовидной карты. Это полезно, когда ячейки слишком малы для размещения меток, но вы можете настроить их дополнительно, как описано в этом разделе.
Всплывающие подсказки древовидной карты настраиваются иначе, чем другие диаграммы: вы определяете функцию, а затем устанавливаете для этой функции generateTooltip . Вот простой пример:
На приведенной выше диаграмме мы определяем функцию под названием showStaticTooltip , которая просто возвращает строку с HTML-кодом, который будет отображаться всякий раз, когда пользователь наводит курсор на ячейку древовидной карты. Попробуй это! Код для его создания выглядит следующим образом:
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>';
}
generateTooltip может представлять собой любой JavaScript, который вам нравится. Обычно вам нужны всплывающие подсказки, которые различаются в зависимости от значений данных. В следующем примере показано, как получить доступ к каждому полю в таблице данных.
Если вы наведете курсор на ячейки в древовидной карте выше, вы увидите разные всплывающие подсказки для каждой ячейки. Все функции подсказки древовидной карты принимают три значения: row , size и value .
row : строка ячейки из таблицы данных
size : сумма значений (столбец 3) этой ячейки и всех ее дочерних элементов.
value : цвет ячейки, выраженный числом от 0 до 1.
В showFullTooltip строка, которую мы возвращаем, представляет собой HTML-поле из пяти строк:
В строке 1 показана соответствующая строка из таблицы данных, при этом широко используется data.getValue .
Строка 2 сообщает вам, что это за строка, и это всего лишь параметр row .
В строке 3 выводится информация из столбца 3 таблицы данных: сумма значений столбца 3 из этой строки плюс значения потомков.
В строке 4 представлена информация из столбца 4 таблицы данных. Это значение, но выраженное в виде числа от 0 до 1, соответствующего цвету ячейки.
Имя класса визуализации — google.visualization.TreeMap .
var visualization = new google.visualization.TreeMap(container);
Формат данных
Каждая строка в таблице данных описывает один узел (прямоугольник на графике). Каждый узел (кроме корневого узла) имеет один родительский узел. Каждый узел имеет размер и цвет в соответствии с его значениями относительно других узлов, отображаемых в данный момент.
Таблица данных должна иметь четыре столбца в следующем формате:
Столбец 0 – [ строка ] Идентификатор этого узла. Это может быть любая допустимая строка JavaScript, включая пробелы, и любой длины, которую может содержать строка. Это значение отображается как заголовок узла.
Столбец 1 — [ строка ] — идентификатор родительского узла. Если это корневой узел, оставьте это поле пустым. Для каждой карты дерева разрешен только один корень.
Столбец 2 — [ число ] — Размер узла. Допускается любое положительное значение. Это значение определяет размер узла, вычисляемый относительно всех других узлов, отображаемых в данный момент. Для нелистовых узлов это значение игнорируется и рассчитывается на основе размера всех его дочерних узлов.
Столбец 3 — [ необязательно , число ] — необязательное значение, используемое для расчета цвета для этого узла. Допускается любое значение, положительное или отрицательное. Значение цвета сначала пересчитывается по шкале от minColorValue до maxColorValue , а затем узлу присваивается цвет из градиента между minColor и maxColor .
Параметры конфигурации
Имя
EnableHighlight (для v50+)
Определяет, должны ли элементы отображать выделенные эффекты. Триггер по умолчанию — при наведении курсора мыши. Триггер можно настроить с помощью eventsConfig . Если установлено значение true , подсветку различных элементов можно указать с помощью различных параметров highlightColor .
Тип: логический
По умолчанию: ложь
eventConfig (для v50+)
Конфигурация событий для запуска взаимодействия с древовидной картой. Формат для настройки взаимодействия:
Если массив конфигурации не определен или отсутствует для взаимодействия, будет использоваться значение по умолчанию .
Если конфиг представляет собой пустой массив, взаимодействие будет отключено.
Для корректной конфигурации необходимо указать mouse_event , которое должно быть поддерживаемым событием мыши. Тогда вы можете иметь до четырех дополнительных ключевых модификаторов.
Рисует диаграмму внутри встроенного фрейма. (Обратите внимание, что в IE8 этот параметр игнорируется; все диаграммы IE8 рисуются в i-кадрах.)
Тип: логический
По умолчанию: ложь
заголовокЦвет
Цвет раздела заголовка для каждого узла. Укажите значение цвета HTML.
Тип: строка
По умолчанию: #988f86.
высота заголовка
Высота раздела заголовка для каждого узла в пикселях (может быть равна нулю).
Введите номер
По умолчанию: 0
заголовокHighlightColor
Цвет заголовка узла, над которым наведен курсор. Укажите значение цвета HTML или ноль; если значение равно нулю, это значение будет headerColor на 35%.
Тип: строка
По умолчанию: ноль
ВыделитеOnMouseOver (устарело для версии 50+)
Устарело для v50+. Для версии 50 и более поздних используйте enableHighlight . Определяет, должны ли элементы отображать выделенные эффекты при наведении курсора мыши. Если установлено значение true , подсветку различных элементов можно указать с помощью различных параметров highlightColor .
Тип: логический
По умолчанию: ложь
подсказкаНепрозрачность
Когда maxPostDepth больше 1, что приводит к отображению узлов ниже текущей глубины, hintOpacity указывает, насколько прозрачными они должны быть. Оно должно быть между 0 и 1; чем выше значение, тем тусклее узел.
Тип: номер
По умолчанию: 0,0
МаксКолор
Цвет прямоугольника со значением столбца 3 maxColorValue . Укажите значение цвета HTML.
Тип: строка
По умолчанию: #00dd00
Максимальная глубина
Максимальное количество уровней узлов, отображаемых в текущем представлении. Уровни будут сглажены в текущей плоскости. Если в вашем дереве больше уровней, вам придется подняться или опуститься, чтобы увидеть их. Вы также можете увидеть уровни maxPostDepth ниже этого уровня в виде заштрихованных прямоугольников внутри этих узлов.
Тип: номер
По умолчанию: 1
maxHighlightColor
Цвет выделения, который будет использоваться для узла с наибольшим значением в столбце 3. Укажите значение цвета HTML или нулевое значение; Если значение равно нулю, это значение будет значением maxColor , освещенным на 35 %.
Тип: строка
По умолчанию: ноль
МаксПостДепт
Сколько уровней узлов за пределами maxDepth нужно показывать в виде «намеков». Узлы с подсказками отображаются в виде заштрихованных прямоугольников внутри узла, находящегося в пределах предела maxDepth .
Тип: номер
По умолчанию: 0
Максколорвалуе
Максимальное значение, разрешенное в столбце 3. Все значения, превышающие это значение, будут обрезаны до этого значения. Если установлено значение null, ему будет присвоено максимальное значение в столбце.
Тип: номер
По умолчанию: ноль
мидколор
Цвет прямоугольника со значением столбца 3, находящимся посередине между maxColorValue и minColorValue . Укажите значение цвета HTML.
Тип: строка
По умолчанию: #000000
MidHighlightColor
Цвет выделения, который будет использоваться для узла со значением столбца 3 рядом с медианой minColorValue и maxColorValue . Укажите значение цвета HTML или ноль; если значение равно нулю, это значение будет значением midColor , освещенным на 35%.
Тип: строка
По умолчанию: ноль
минколор
Цвет прямоугольника со значением minColorValue в столбце 3. Укажите значение цвета HTML.
Тип: строка
По умолчанию: #dd0000
minHighlightColor
Цвет выделения, используемый для узла со значением столбца 3, ближайшим к minColorValue . Укажите значение цвета HTML или ноль; если значение равно нулю, это значение будет значением minColor , освещенным на 35 %.
Тип: строка
По умолчанию: ноль
минколорвалуе
Минимальное значение, разрешенное в столбце 3. Все значения меньше этого значения будут обрезаны до этого значения. Если установлено значение null, оно будет рассчитано как минимальное значение в столбце.
Тип: номер
По умолчанию: ноль
noColor
Цвет, используемый для прямоугольника, когда узел не имеет значения для столбца 3 и этот узел является листом (или содержит только листья). Укажите значение цвета HTML.
Тип: строка
По умолчанию: #000000
noHighlightColor
Цвет, используемый для прямоугольника цвета «нет», когда он выделен. Укажите значение цвета HTML или ноль; если значение равно нулю, это будет значение noColor , освещенное на 35%.
Тип: строка
По умолчанию: ноль
шоуМасштаб
Показывать ли шкалу цветового градиента от minColor до maxColor в верхней части диаграммы. Укажите true, чтобы отобразить масштаб.
Тип: логический
По умолчанию: ложь
Показать подсказки
Показывать ли всплывающие подсказки.
Тип: логический
По умолчанию: правда
текстовый стиль
Объект, определяющий стиль текста для определенных диаграмм, в области содержимого которых есть текст, например в древовидной карте. Объект имеет следующий формат:
color может быть любой цветовой строкой HTML, например: 'red' или '#00cc00' . Также см. fontName и fontSize .
Тип: объект
По умолчанию:{color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
useWeightedAverageForAggregation
Использовать ли средневзвешенные значения для агрегирования.
Тип: логический
По умолчанию: ложь
Методы
Метод
draw(data, options)
Рисует диаграмму.
Тип возврата: нет
getEventsConfig() (for v50+)
Возвращает текущую конфигурацию взаимодействия. Это можно использовать для проверки параметра конфигурации eventsConfig
Тип возвращаемого значения: Объект
{ // An empty array (i.e. []) means the interaction is disabled.
highlight: string[],
unhighlight: string[],
rollup: string[],
drilldown: string[] }
getSelection()
Стандартная реализация getSelection() . Выбранные элементы являются узлами. Одновременно можно выбрать только один узел.
Тип возвращаемого значения: Массив элементов выбора.
setSelection()
Стандартная реализация setSelection() . Выбранные элементы являются узлами. Одновременно можно выбрать только один узел.
Тип возврата: нет
goUpAndDraw()
Поднимите дерево на один уровень вверх и перерисуйте его. Не выдает ошибку, если узел является корневым узлом. Это запускается автоматически, когда пользователь щелкает правой кнопкой мыши узел.
Тип возврата: нет
getMaxPossibleDepth()
Возвращает максимально возможную глубину текущего представления.
Тип возврата: число
clearChart()
Очищает диаграмму и освобождает все выделенные ей ресурсы.
Тип возврата: нет
События
Пожалуйста, обратитесь к eventsConfig для получения информации о настраиваемых триггерах событий.
Имя
onmouseover
Запускается, когда пользователь наводит указатель мыши на узел. Обработчику событий передается индекс строки соответствующей записи в таблице данных.
Свойства: строка
highlight (for v50+)
Запускается, когда пользователь выделяет узел. Триггер по умолчанию — наведение курсора мыши. Его можно настроить с помощью eventsConfig для v50+. Обработчику событий передается индекс строки соответствующей записи в таблице данных.
Свойства: строка
onmouseout
Вызывается, когда пользователь уводит указатель мыши за пределы узла. Обработчику событий передается индекс строки соответствующей записи в таблице данных.
Свойства: строка
unhighlight (for v50+)
Вызывается, когда пользователь снимает выделение с узла. Триггер по умолчанию — mouseout. Его можно настроить с помощью eventsConfig для v50+. Обработчику событий передается индекс строки соответствующей записи в таблице данных.
Свойства: строка
ready
Вызывается, когда диаграмма готова к вызову внешних методов. Если вы хотите взаимодействовать с диаграммой и вызывать методы после ее рисования, вам следует настроить прослушиватель этого события до вызова метода draw и вызывать их только после того, как событие было запущено.
Свойства: Нет
rollup
Запускается, когда пользователь возвращается вверх по дереву. Триггер по умолчанию — щелчок правой кнопкой мыши. Его можно настроить с помощью eventsConfig для v50+. Свойство row, передаваемое в обработчик событий, — это строка узла, от которого пользователь переходит, а не строка, к которой пользователь переходит.
Свойства: строка
select
Запускается, когда пользователь детализирует или сворачивает узел. Также запускается при вызове метода setSelection() или goUpAndDraw() . Чтобы узнать, какой узел был выбран, вызовите getSelection() .
Свойства: нет
drilldown (for v50+)
Запускается, когда пользователь перемещается глубже в дерево. Триггер по умолчанию — щелчок. Его можно настроить с помощью eventsConfig для v50+. Чтобы узнать, какой узел был выбран, вызовите getSelection() .
Свойства: нет
Политика данных
Весь код и данные обрабатываются и отображаются в браузере. Никакие данные не отправляются ни на один сервер.