Графики и карты

Содержание

Визуализации в системе

Общий порядок работы с визуализациями включает следующие действия:

  1. Построение отчета. Отчет должен соответствовать требованиям к структуре для нужной визуализации.
  2. Выбор визуализации. Для этого необходимо нажать «Построить график».
  3. Настройка визуализации, сохранение.

На данный момент в системе доступны следующие виды графиков и карт:

Почти все графики строятся или по отчету целиком, или по первой строке/столбцу отчета, или по первым двум строкам/столбцам (Столбчатая диаграмма + линейный график). Строится график по строке или по столбцу - зависит от того, в строках или столбцах отчета расположены источники данных.

Графики «Спидометр», «Циферблат» и «Термометр» строятся по любой строке/столбцу или по любой ячейке. Это указывается в настройках графика.

Графики строятся только из существующих отчетов. В меню отчета нужно нажать кнопку «Графики», далее в открывшемся окне выбрать интересующий график и перейти к нему, кликнув по названию.

_images/graph_001.png

Также возможно построение графика непосредственно в аналитической панели. Для этого нужно задать структуру отчета и нажать на кнопку «Построить отчет». После этого станет активной кнопка «Построить график» в верхней панели меню страницы.

_images/graph_00.png

До построения отчета построить график по нему невозможно.

Создание графика

По нажатию на кнопку «Графики» («Построить график» в аналитической панели), появляется всплывающее окно, в котором в виде иконок перечислены все возможные в системе виды графиков.

_images/graph_001.png

По наведению на каждую из иконок, появляется всплывающая подсказка с названием данного вида графиков. Вид меню графиков в аналитической панели:

_images/graph_00-1.png

По нажатию на иконку, строится график выбранного вида по выбранному отчету. График строится в отдельном окне. При этом, в окне с иконками различных видов графиков, появляется название построенного графика, справа от названия — маленькая иконка, обозначающая вид графика.

_images/graph_00-2.png

По умолчанию график называется по названию отчета + названию вида графика.

_images/graph_002.png

До того как график был сохранен, его название пишется курсивом. После сохранения — обычным шрифтом.

Просмотр, настройка и сохранение графика

В открывшемся окне с графиком:

  • Поле для изменения названия графика.
  • Кнопка сохранения настроек графика.
  • Кнопка удаления графика.
  • Кнопка настроек графика.
  • Выбор типа графика (есть не во всех графиках).
  • Легенда графика.
  • График.

Для изменения названия графика нужно ввести новое название в поле с текущим названием графика и нажать кнопку «Сохранить». После сохранения, новое название отобразится и в списке графиков для данного отчета.

_images/graph_00-3.png

Для изменения размеров окна графика, нужно зажать левой кнопкой мыши курсор на правом нижнем углу окна и потянуть в нужном направлении. Если текущий размер графика нужно закрепить за этим графиком, необходимо нажать на кнопку «Сохранить».

_images/graph_00-4.png

Для того, чтобы убрать (или добавить) отображение значений каких-либо показателей на графике, нужно кликнуть левой кнопкой мыши по названию этого показателя в легенде графика. Показатели с круглым закрашенным индикатором рядом с названием на графике отображаются, с полым индикатором — нет.

_images/graph_00-5.png

По двойному клику по какому-либо элементу легенды графика остается отображение только значений показателя, по названию которого кликнули. По повторному (одинарному) клику снова включаются для отображения все элементы легенды.

При наведении курсора мыши на какой-либо элемент легенды появляется всплывающая подсказка с его полным названием.

_images/graph_00-12.png

Для задания некоторых настроек графика нужно нажать на кнопку с шестеренкой в правом верхнем углу окна с графиком. В выпадающем диалоговом окне можно:

  • Изменить длину легенды (количество отображаемых символов в легенде; по умолчанию все названия в легенде показываются целиком), это делается в текстовом поле «В легенде» вводом числа символов с клавиатуры, или стрелочками вверх/вниз в правом конце текстового поля.
  • Включить/отключить показ легенды (чек-бокс «показывать легенду»).
  • Включить/отключить отображение выбора видов графиков (чек-бокс «показывать настройки»).
_images/graph_00-13.png

Для сохранения настроек графика нужно нажать кнопку «Сохранить». При этом сохраняются название графика, размер окна графика, длина легенды, тип графика, отображение/не отображение легенды.

_images/graph_00-6.png

После сохранения графика, можно получить url страницы просмотра и редактирования отчета, по которому был построен график с открытым графиком. Для этого необходимо нажать на иконку со стрелочкой рядом с крестиком, закрывающим окно графика (эта иконка появляется только после сохранения графика).

_images/graph_00-14.png

Url страницы обновится, и далее его можно использовать и передавать.

При наведении курсора мыши на какой-либо элемент графика, появляется всплывающая подсказка, где указано значение показателя и название заголовка строки/столбца, для которых выведено это значение.

_images/graph_00-7.png

Для закрытия окна с графиком необходимо нажать на крестик в правом верхнем углу окна с графиком. Это действие требует подтверждения, если какие-либо изменения в структуре графика не были сохранены.

Для удаления графика нужно нажать на кнопку с иконкой корзины в правом верхнем углу окна работы с графиком. Это действие также требует подтверждения.

_images/graph_00-8.png

Открытие сохраненных графиков

Если по отчету уже были построены и сохранены графики, то в общем списке отчетов (на странице анализа данных) рядом с названием такого отчета будет нарисована иконка столбчатой диаграммы.

_images/graph_00-9.png

Для открытия сохраненных графиков по отчету нужно открыть интересующий вас отчет и нажать кнопку «Построить график» в панели меню. В открывшемся окне под иконками для создания новых графиков будет список всех уже сохраненных по этому отчету графиков (слева от названий — картинка, обозначающая вид графика).

_images/286.png

Для открытия интересующего вас графика нужно кликнуть левой кнопкой мыши по его названию.

Виды графиков

Линейный график

Линейные графики строятся по всему отчету. По оси Y располагаются числовые значения показателей-источников отчета, по оси Х располагаются значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков столбцов.

_images/graph_05.png

График можно построить как по строкам, так и по столбцам. Для настройки графика и легенды нужно нажать на кнопку с шестеренкой.

_images/graph_05-0.png

В цветной легенде указаны все значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков строк.

На самом графике линиями отображены изменения значений показателей из заголовков строк. При наведении на какую-либо точку со значением, во всплывающей подсказке отображаются значения всех показателей, включенных для отображения на графике при выбранном значении заголовка столбца.

_images/graph_05-1.png

Линейный график с накоплением

Вариация линейных графиков — линейные графики с накоплением. Такой график строится также по всему отчету.

По оси Y располагаются числовые значения показателей-источников отчета (либо % — для соответствующей настройки), по оси Х располагаются значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков столбцов.

В цветной легенде указаны все значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков строк.

У графика есть несколько вариантов отображения, задающихся настройками графика рядом с цветовой легендой:

  • Обычный.
  • Потоковый.
  • Процентный.

В варианте с накоплением на графике закрашенными областями под линиями отображены значения показателей из заголовков строк. Значение показателя из каждой следующей строки прибавляется к уже отображенным на графике. При наведении курсора мыши на любую область графика во всплывающей подсказке отображаются значения всех показателей, включенных для отображения на графике при выбранном значении заголовка столбца.

_images/graph_02-1.png

При включенной функции равномерного распределения закрашенные области значений максимально симметрично располагаются относительно горизонтальной осевой линии графика. Это сделано для сглаживания границ каждой из областей и облегчения восприятия доли каждого из значений в общей сумме. При наведении курсора мыши на любую область графика во всплывающей подсказке отображаются значения всех показателей, включенных для отображения на графике при выбранном значении заголовка столбца.

_images/graph_02-2.png

В случае с процентным отображением графика по оси Y отображаются проценты — от 0 до 100. За 100 % берется сумма всех включенных для отображения показателей в каждой точке (для каждого столбца отчета). При наведении курсора мыши на диаграмму во всплывающей подсказке указывается процентное содержание каждого из показателей для выбранного заголовка столбца в общей сумме показателей.

_images/graph_02-3.png

Накопительные кривые

Еще одна вариация линейных графиков — накопительные кривые. График также строится по всему отчету.

По оси Х располагаются значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков столбцов.

В цветной легенде указаны все значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков строк.

А по оси Y — проценты.

При помощи клика левой кнопкой мыши по любой точке графика указывается, значения из какого столбца отчета для всех показателей будут приниматься за точку отсчета (0%) на графике. В этом месте рисуется вертикальная красная линия. Остальные значения будут перерассчитаны относительно этой точки отсчета и отображены в процентах от нее. При наведении курсора мыши на любую область графика во всплывающей подсказке отображаются процентные значения всех показателей, включенных для отображения на графике при выбранном значении заголовка столбца, относительно точки отсчета.

_images/graph_06.png

Точку отсчета можно передвигать, схватив левой кнопкой мыши за красную линию. График в процессе ее перемещений будет перестраиваться.

_images/graph_06-1.png

По умолчанию на графике включена настройка «Масштабировать ось Y». С этой настройкой значения процентов на оси Y распределяются таким образом, чтобы максимум и минимум для всех показателей относительно выбранной точки отсчета совпадали с минимумом и максимумом оси.

При выключенной этой настройке с минимумом и максимумом оси Y будут совпадать минимум и максимум значений процентов относительно всех возможных точек начала отсчета.

Горизонтальная столбчатая диаграмма

Горизонтальная столбчатая диаграмма строится по всему отчету. По оси Y располагаются значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков столбцов.

По оси Х — числовые значения показателей-источников отчета.

В цветной легенде указаны все значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков строк.

_images/graph_07-1.png

У графика есть два варианта отображения (переключаются во флагах настройки графика):

  • «Обычная» диаграмма - все значения показателей из строк сгруппированы по оси Y у соответствующего показателя из столбцов. В этом режиме можно зафиксировать отображение информации по каждому столбцу диаграммы, кликнув по графику, - справа от столбца на графике отобразится соответствующая ему цифра, и так по всем столбцам.
  • Диаграмма «С накоплением» - все значения показателей из строк накапливаются по оси Х у соответствующего показателя из столбцов по оси Y.
_images/graph_07-2.png

Столбчатая диаграмма

Столбчатая диаграмма являет собой повернутый на 90 градусов график вида «Горизонтальная столбчатая диаграмма». График тоже строится по всему отчету. Но теперь значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков столбцов располагаются по оси Х, а по оси Y — числовые значения показателей-источников отчета.

_images/graph_03-1.png

В цветной легенде снова указаны все значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков строк, настройки графика абсолютно аналогичны — есть возможность показывать данные сгруппированными («Grouped») или с накоплением («Stacked»)

_images/graph_03-2.png

Столбчатая диаграмма + линейный график

Этот вид графиков представляет собой сочетание столбчатой диаграммы и линейного графика. Строится он по первым двум строкам отчета. По первой строке строится столбчатая диаграмма, по второй — линейный график.

Значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков столбцов располагаются по оси Х, в цветной легенде указаны значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков первых двух строк.

_images/graph_09.png

У графика две оси Y — правая и левая. По правой указаны значения показателя из второй строки (по которому строится линейный график), по левой — значения показателя из первой строки (для столбчатой диаграммы).

_images/graph_09-1.png _images/graph_09-2.png

При этом, на левой оси Y за начало отсчета (пересечение с осью Х) берется 0, а на правой — минимальное значение показателя.

Столбчатая диаграмма по строке/столбцу

Столбчатая диаграмма по строке строится только по первой строке или столбцу отчета, в зависимости от того где расположены источники данных.

Значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков столбцов располагаются по оси Х, по оси Y — значения показателей.

_images/graph_04.png

Цветная легенда у графика отсутствует, но каждому столбцу в отчете соответствует свой цвет столбца на графике. Можно зафиксировать отображение информации по каждому столбцу диаграммы кликнув по графику - над столбцом на графике отобразится соответствующая ему цифра и так по всем столбцам.

Круговая диаграмма

Второй вид графиков — круговая диаграмма. Этот график, на текущий момент, строится только по первой строке или столбцу отчета, в зависимости от того, где расположены источники данных.

_images/graph_01.png

За 100 % принимается сумма всех значений показателей в первой строке, включенных для отображения на графике.

В легенде перечислены все значения (названия) показателей из заголовков столбцов.

Значения показателей отображаются во всплывающей подсказке при наведении на интересующий сектор.

_images/graph_01-1.png

На круговой диаграмме можно сделать отверстие. Для этого необходимо нажать на шестеренку и выбрать значение радиуса отверстия. Значение радиуса отверстия указывается в долевом соотношении от значения всего радиуса. Например R=0,1 обозначает то, что радиус отверстия будет составлять 10%(0,1) от радиуса всей круговой диаграммы.

_images/graph_01-2.PNG

Спидометр, Циферблат, Термометр

Эти графики по умолчанию строятся по первой строке.

_images/graph_10.png _images/graph_12.png _images/graph_15.png

При клике на иконку с шестеренкой откроется окно настроек графика, в котором можно указать номера строк и/или столбцов, по которым строить график.

_images/graph_11.png

Можно управлять внешним видом графика с помощью различных параметров.

_images/graph_13.png

Для управления внешним видом графика предназначено поле «Параметры» (размеры, цвета, подписи и т.п.). Параметры необходимо указывать в фигурных скобках, через запятую, например:

{"size":180, "min":0}

По клику на иконку «?» около поля «Параметры» откроется подсказка. По клику на каждый из параметров в подсказке он будет добавляться в поле «Параметры» со значением по умолчанию. Для применения настроек необходимо нажать кнопку «Обновить».

_images/graph_14.png

Ниже приведены описания параметров для каждого из этих графиков.

Параметры спидометра

Размеры
«size»:200 — Размер области (в px)
«clipWidth»:200 — Ширина спидометра (в px)
«clipHeight»:140 — Высота спидометра (в px)
«ringInset»:18 — Отступ внешнего радиуса от края (size / 2 - this)
«ringWidth»:40 — Ширина полукольца (в px)
«pointerWidth»:10 — Ширина стрелки в месте крепления (в px)
«pointerTailLength»:5 — Длина «хвоста» стрелки (в px)
«pointerHeadLengthScale»:0.9 — Относительная длина стрелки (radius * this)
Границы
«min»:511575 — Минимальное значение на шкале
«max»:10 — Максимальное значение на шкале
«minAngle»:-90 — Угол раскрытия шкалы влево (до -90)
«maxAngle»:90 — Угол раскрытия шкалы вправо (до 90)
«majorTicks»:5 — Число секторов
Цвета
«fontColor»:»#333» — Цвет подписей
«startArcColor»:»#e8e2ca» — Цвет левого сектора
«stopArcColor»:»#3e6c0a» — Цвет правого сектора
Настройки подписей
«titlePosition»:»bottom» — Положение подписи («bottom» или «top»)
«showValue»:true — Показать значение (true или false)
«labelInset»:12 — Радиус для размещения значений
«titleOffset»:30 — Отступ для подписи (fit to fontSize)
«valueLabelOffset»:20 — Отступ для значения (radius - this)
«labelFormatString»:»s» — Правило форматирования подписей (использует *d3.format*_)
«valueLabelFormatString»:».3s» — Правило форматирования для текущего значения (использует *d3.format*_)
Прочие настройки
«transitionDuration»:750 — Время анимации (в ms)

Параметры циферблата

Размеры
«size»:200 — Размер (в px)
«sizeScale»:0.9 — Коэффициент сжатия-растяжения всего (1 – нет сжатия, size * this)
«radiusScale»:0.485 — Радиус относительно размера (size * this)
«titleFontScale»:11 — Относительный размер шрифта для подписей (size / this)
«valueFontScale»:16 — Относительный размер шрифта для значения (size / this)
Границы
«min»:0 — Минимальное значение на шкале
«max»:100 — Максимальное значение на шкале
«minorTicks»:5 — Число второстепенных делений
«majorTicks»:5 — Число главных делений
«greenRanges»:»» — Границы «зеленой» зоны
«yellowRanges»:[0.75,0.9] — Границы «желтой» зоны
«redRanges»:[0.9,1] — Границы «красной» зоны
Цвета
«fontColor»:»#333» — Цвет шрифта
«greenColor»:»#109618» — «Зеленый» цвет
«yellowColor»:»#FF9900» — «Желтый» цвет
«redColor»:»#DC3912» — «Красный» цвет
Настройки подписей
«titlePosition»:»inside» — Положение загловка: «inside», «top» или «bottom»
«labelFormatString»:».3s» — Правило форматирования подписей (использует *d3.format*_)
Прочие настройки
«transitionDuration»:500 — Время анимации (в ms)

Параметры термометра

Размеры
«size»:180 — Размер (в px)
«sizeScale»:1 — Коэффициент сжатия-растяжения всего (1 – нет сжатия size * this)
«innerRadiusScale»:3 — Внутренний радиус относительно размера (size / this)
«outerRadiusScale»:2.2 — Внешний радиус относительно размера (size / this)
«titleFontScale»:12 — Относительный размер шрифта для подписей (size / this)
«valueFontScale»:10 — Относительный размер шрифта для значения (size / this)
Границы
«min»:0 — Минимальное значение на шкале
«max»:100 — Максимальное значение на шкале
Цвета
«fontColor»:»#333» — Цвет шрифта
«circleBgColor»:»#e6e7e8» — Цвет фона внутреннего круга
«ringBgColor»:»#565656» — Цвет фона кольца
«defaultColor»:»#ff5f24» — Цвет заливки по умолчанию
«hotColor»:»#990000» — Цвет максимума (100%)
«warmColor»:»#ff5f24» — Цвет больше 1/2 круга
«coldColor»:»#009eff» — Цвет меньше 1/2 круга
«frostyColor»:»#065aa9» — Цвет минимума
Настройки подписей
«labelFormatString»:».3s» — Правило форматирования подписей (использует *d3.format*_)
«valueAlignXScale»:1 — Сдвинуть значение по оси X относительно центра (1 – нет сдвига, radius * this)
«valueAlignYScale»:1.3 — Сдвинуть значение по оси Y относительно центра (1 – нет сдвига, radius * this)
«titlePosition»:»bottom» — Положение заголовка: «inside», «top» или «bottom»
«titleAlignXScale»:1 — Сдвинуть подпись по оси X относительно центра (1 – нет сдвига, radius * this)
«titleAlignYScale»:1 — [только для «titlePosition»:»inside»] Сдвинуть подпись по оси Y относительно центра (1 – нет сдвига, radius * this)
Прочие настройки
«transitionDuration»:500 — Время анимации (в ms)
«showDegreeSign»:false — Показать значок градуса (true или false)

Точечная диаграмма

Этот вид графиков также строится по всему отчету. По оси Y располагаются числовые значения показателей-источников отчета, по оси Х располагаются значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков столбцов.

В цветной легенде указаны все значения (названия) показателей-фильтров или показателей-источников из нижнего уровня вложенности заголовков строк.

Точечная диаграмма позволяет оценить скорее не динамику показателей, а их среднестатистическое состояние. Она особенно удобна при большом количестве столбцов, когда обычный линейный график будет слишком «шумным».

_images/graph_08.png

Число

График «Число» используется в случае, если нужно проследить динамику и отобразить последнюю актуальную цифру на текущий момент. График строится по строке или столбцу.

_images/graph_16.png

Можно настроить, чтобы под числом отображались график:

_images/graph_18.png

или стрелка:

_images/graph_17.png

Если не нужно ничего отображать, то стоит установить опцию «снизу пусто».

Двусторонний график

Двусторонний график строится по отчетам cледующего вида:

  • Отчето-реестр с одним источником.
  • Отчето-реестр с двумя источниками.
  • Отчет с «двумя» фильтрами.

При построении данные берутся из ячеек, а не из заголовков. График используется в том случае, когда необходимо визуализировать распределение одного свойства показателя в зависимости от другого свойства. На следующем рисунке отображен пример отчета, на основе которого строится визуализация.

_images/otchetdvustoronnuy.png

Рассмотрим структуру отчета на следующем рисунке.

_images/otchetdvustoronnuy1.png

Далее рассмотрим отображение визуализации по предыдущему отчету на следующем рисунке.

_images/dvustoronnuy.png

Визуализация является интерактивной, а именно при наведении на параметр (фильтр, аналитический признак) визуализация перестраивается.

Рассмотрим выбор определенного пользователя справа и отображение данного выбора на визуализации: отображен показатель в разрезе проектов для выбранного пользователя.

_images/dvustoronnuy1.png

Далее рассмотрим выбор определенного проекта слева и отображение данного выбора на визуализации: отображен показатель в разрезе пользователей для выбранного проекта.

_images/dvustoronnuy2.png

Солнечный график

Солнечный график можно построить по отчету, в котором значения определенного числового показателя рассматриваются в разрезе нескольких аналитических признаков.

Пример такого отчета приведен на рисунке:

_images/sunburst_a.png

Показатель «Дебиторская задолженность организации, млн.руб.» представлен в 3-х аналитических разрезах:

  • Группы организаций по направлениям деятельности.
  • Организации.
  • Виды дебиторской задолженности.

Нажимаем кнопку «Построить график» и выбираем вид графика «Солнечный график»:

_images/sunburst_b.png

Получим трехуровневый «солнечный график»:

_images/sunburst_c.png

Внутреннее кольцо отображает верхний уровень аналитических признаков в отчете, т.е. группы организаций по направлениям деятельности - «Научные» и «Промышленные».

_images/sunburst_d.png

Размеры дуг кольца пропорциональны объемам дебиторской задолженности по соответствующим аналитическим разрезам.

При выборе пользователем дуги кольца, соответствующей определенному признаку («Научные» или «Промышленные»), в центре «солнца» показывается значение доли объема дебиторской задолженности, относящейся к выбранному признаку.

Среднее кольцо отображает средний уровень аналитических признаков в отчете, т.е. организации.

Наружное кольцо отображает нижний уровень аналитики, т.е. виды задолженности - «Авансы выданные», «Покупатели/заказчики», «Прочие».

При выборе одного из признаков нижнего уровня подсвечиваются также соответствующие ему признаки на верхних уровнях:

_images/sunburst_e.png

Над графиком в виде «хлебных крошек» отображается весь состав выбранных пользователем признаков.

При настройке «солнечного графика» пользователь имеет возможность выбрать или отменить опции «Показывать легенду», «Показывать «хлебные крошки», а также задать ограничение на длину подписей в легенде.

Если в отчете несколько столбцов - график строится по первому столбцу. Если показатели-источники размещены в строках отчета, а иерархия фильтров - в столбцах, отчет строится по строкам, а не по столбцам.

Радар

График «Радар» строится по отчету, который содержит набор значений одного или нескольких числовых показателей в разрезе одного аналитического признака.

Пример такого отчета приведен на рисунке:

_images/radar_a.png

Показатель «Дебиторская задолженность организации, млн.руб.» представлен в разрезе организаций.

Нажимаем кнопку «Построить график» и выбираем вид графика «Радар»:

_images/radar_b.png

Получим визуальное представление данных, позволяющее нагладно сравнить величину дебиторской задолженности различных организаций.

_images/radar_c.png

По умолчанию на графике отображаются 6 уровней значений показателя (концентрических окружностей), которые упрощают сравнение значений показателя.

При настройке графика можно изменить количество уровней, чтобы более наглядно сгруппировать точки с близкими значениями:

_images/radar_d.png

На радаре можно одновременно показать значения из нескольких столбцов отчета.

Рассмотрим для примера отчет с двумя числовыми показателями-источниками:

_images/radar_e.png

В этом случае на радаре будут отображаться 2 линии разных цветов.

_images/radar_f.png

Если в отчете значения показателя-источника рассматриваются в разрезе нескольких аналитических признаков, например:

_images/radar_g.png

то оси радара помечаются комбинацией признаков:

_images/radar_h.png

Если показатели-источники размещены в строках отчета, а фильтры - в столбцах, отчет строится по строкам, а не по столбцам.

Карта дерева

График «Карта дерева» используется для визуального сравнения значений показателя, заданного в разрезе 2-х аналитических признаков.

Пример такого отчета приведен на рисунке:

_images/treemap_a.png

Нажимаем кнопку «Построить график» и выбираем вид графика «Карта дерева»:

_images/treemap_b.png

Получим карту дерева, где площадь каждого прямоугольника пропорциональна объему дебиторской задолженности, относящейся к соответствующей организации и виду задолженности.

_images/treemap_c.png

Щелкнув по одному из красных прямоугольников (отображающих данные организации «АО «НИИМП-К»), развернем на весь экран карту этой организации (три красных прямоугольника).

_images/treemap_e.png

Еще один щелчок по карте вернет нас к предыдущему состоянию Карты дерева.

Чтобы вывести на карту числовые значения показателя, можно задать опцию «Показывать значения»:

_images/treemap_d.png

Если в отчете несколько столбцов - график строится по первому столбцу.

Если показатели-источники размещены в строках отчета, а иерархия фильтров - в столбцах, отчет строится по строкам, а не по столбцам.

Если в отчете значения показателя заданы в 3-х или более аналитических разрезах - верхние уровни дерева признаков игнорируются.

Хорды

График «Хорды» строится по отчету, отображающему двусторонние связи между объектами.

Пример такого отчета приведен на рисунке:

_images/chord_a.png

Отчет показывает суммы контрактов, заключенных организациями-заказчиками с организациями-исполнителями. Организация может выступать как в роли заказчика контракта, так и в роли исполнителя контракта.

Нажимаем кнопку «Построить график» и выбираем вид графика «Хорды»:

_images/chord_b.png

Получаем график, на котором в виде кольца расположены названия организаций.

_images/chord_c.png

Каждая пара взаимодействующих организаций соединяется хордой.

Длина дуги кольца, соответствующей определенной организации, пропорциональна сумме контрактов, заключенных этой организацией-заказчиком. К дуге кольца примыкает несколько дуг, соединяющих эту организацию-заказчика с организациями-исполнителями контрактов. Толщина хорды в месте примыкания к дуге организации-заказчика пропорциональна сумме контрактов, заключенных этим заказчиком с организацией-исполнителем, находящейся на противоположном конце хорды.

Если при просмотре графика пользователь наведет курсор на дугу кольца с названием определенной организации, на графике всплывает надпись о сумме контрактов, заключенных данной организацией-заказчиком, а из всех хорд останутся видны только хорды, соответствующие заключенным контрактам данной организации-заказчика:

_images/chord_d.png

Виды карт

Карта с регионами

Порядок работы с визуализацией:

  1. Проверить, что в систему загружен системный справочник «Административная структура» (/relation/-2000/), в котором содержатся объекты административно-территориального деления Российской Федерации регионального и районного значения, с указанием Кодов ОКАТО (или Гео-кодов).
  2. Сделать отчет, в котором заголовки строк - показатель из справочника «Административная структура», а заголовок столбца - численный показатель (столбцов может быть несколько). Отчет может быть параметризован.
  3. Сохранить отчет, в режиме просмотра нажать кнопку «Построить график» и выбрать визуализацию «Карта с регионами».
  4. Открывается окно, в котором построена карта по данным в первом столбце отчета. Система сама вводит градацию данных по шести цветам. Соответствующая легенда располагается слева от карты. Регионы, по которым данные отсутствуют, окрашиваются в серый цвет. При наведении курсора мыши на какую-либо область на карте, прямо над картой будет выводиться название региона и значение показателя для него.
  5. После окончания работы с визуализацией, ввести название над картой (или останется название по умолчанию) и нажать «Сохранить». Для закрытия карты без сохранения - нажать «закрыть» в правом верхнем углу.

Для изменения настроек карты необходимо нажать иконку «Настройки» в правом углу окна. В данном окне настраивается:

  • По какому показателю раскрашивается карта (введите цифру).
  • Количество градаций цвета на карте (их может быть любое количество, но не меньше двух и не больше общего числа значений в столбце, по которому раскрашивается карта).
  • Границы значений, по которым раскрашивается карта (необходимо указать верхние значения всех границ от 1 цвета до предпоследнего. Числа указываются через «;», в качестве разделителя между целой и дробной частью числа должна стоять точка. Нижнее значение будет совпадать с верхним значением предыдущего цвета. Нижнее значение первого цвета и верхнее значение последнего цвета берутся как наибольшее и наименьшее значение в столбце).
  • Отображать ли цветовую легенду.

Также можно настроить:

  • Цветовое решение карты (по клику на первый и на последний цвета в легенде открывается палитра, на которой можно указать цвет, с которого будет начинаться градуирование, или которым оно будет заканчиваться).
  • Позицию карты (для этого необходимо с помощь кнопок «+» и «-» настроить нужный масштаб).

Ограничение числа знаков после запятой

На графике «Карта с регионами» показатель типа «число» показывается с 16 знаками после запятой. В отчетах по умолчанию вещественные числа показываются с 3 знаками после запятой, изменить количество отображаемых знаков после запятой можно с помощью раскрасок (подробнее см. в разделе Раскраски.

Для примера рассмотрим отчет, в котором значение показателя для Владимирской области вычисляется как частное от деления 10 на 3:

_images/map-okrug-1.png

График «Карта с регионами» имеет следующий вид:

_images/map-okrug-2.png

Чтобы на карте значения показателя отображались с 3-мя знаками после запятой, можно использовать следующий способ.

Создадим новый показатель с использованием функции округления:

Показатель с округлением_ = ОКРУГЛ( Показатель для карты_ * 1000) / 1000

В результате получим отчет:

_images/map-okrug-1a.png

с графиком:

_images/map-okrug-3.png

Карта (с карточками объектов)

Порядок работы с визуализацией:

  1. Сделать отчет, в котором:
  • Заголовки строк: названия объектов, которые необходимо отобразить на карте.
  • Заголовки столбцов: первый показатель - «Долгота» (например 55.715565), второй показатель - «Широта» (например 37.552292), третий и последущий - иные показатели, которые должны быть отображены в карточке объекта.

Обратите внимание:

  • Показатели «Долгота» и «Широта» - не системные показатели, а произвольные показатели типа «число».
  • В отчете по умолчанию показывается только три знака после запятой, а «Широта» и «Долгота» - имеют больше знаков. Количество отображаемых знаков можно задать с помощью раскрасок (подробнее см. в разделе Раскраски. Даже если в очете отображены три знака после запятой, объект на карте отображается по полным (введенным в систему) координатам.
  1. Сохранить отчет, в режиме просмотра нажать кнопку «Построить график» и выбрать визуализацию «Карта».
  2. При необходимости настроить позицию карты - для этого нужно с помощью кнопок «+» и «-» настроить нужный масштаб.
  3. После окончания работы с визуализацией введите название над картой (или останется название по умолчанию) и нажмите «Сохранить». Для закрытия карты без сохранения - нажмите «закрыть» в правом верхнем углу.

Особенности визуализации «Карта»:

  • Отчет может быть параметризирован: на карту выводятся только те объекты, которые попадают в отчет при заданных значениях параметров.
  • Если объектов много рядом, то отображается «кружок» с количеством объектов. Маркеры объектов попадают в один «кружок», если расстояние между ними 40 или менее пикселей.
  • При нажатии на «кружок» карта увеличивает масштаб, при достаточном увеличении «кружок» распадается на отдельные маркеры объектов.
  • При клике на маркер объекта около него появляется «карточка»: в заголовке указано название объекта, ниже перечислены свойства объекта: названия дополнительных столбцов (третий и далее) и значения в этих столбцах.

Добавление нового типа графиков

Для создания в системе нового типа графика (визуализации) в справочник «Типы графиков» (/registry/set/-5001/) нужно добавить элемент с показателями:

  • Название (id = -3) - название типа графика, оно будет отображаться (1) во всплывающей подсказке к изображению типа графика - в списке типов графиков на странице отчета, (2) в квадратных скобках после названия отчета - в названии графика по умолчанию, в заголовке окна с графиком на странице отчета.
  • Имя view для графика (id = -5006) - разделенные точкой любых два слова латиницей (первое слово обозначает пространство имен, второе - имя функции-конструктора графиков данного типа), по этим словам будет найден код функции-конструктора графиков.
  • Обозначение типа визуализации (id = -5010) - любое слово латиницей, оно будет добавляться как css-класс к элементу типа графика и элементу графика этого типа в списке графиков (для возможности задания картинки для типа графика).
  • Порядковый номер (id = -100) - число для определения места типа графика в списке типов графиков при создании нового графика к отчету.
  • Тип визуализации используется (флаг) (id = -5009) - булев признак, определяющий будет тип графика показываться в списке типов на странице отчета или нет.
  • Файл (id = -125) - изображение типа графика, будет отображаться в списке типов графиков на странице отчета.

Код, который выполняется при рисовании графика данного типа, задается (инициализируется) на странице настройки внешнего вида приложения /project/description (см. раздел Настройка стилей интерфейса системы). Идентификация кода, соответствующего данному типу графиков, осуществляется по значению признака Имя view для графика.

В глобальном объекте window доступна вспомогательная функция makeChartType для связывания кода рисования графика с типом графика и адаптации кода рисования графика к размерам окна графика.

Для инициализации кода графика надо вызвать функцию makeChartType с тремя аргументами:

  • Строка - значение Имя view для графика соответствующего типа графика в справочнике типов графиков.
  • Функция (callback), непосредственно рисующая график.
  • Строка, значение которой будет добавлено как css-класс к контейнеру с графиком, для возможности стилизации.

При создании графика нового типа вызывается функция - второй аргумент makeChartType, в которую передается четыре аргумента:

  • svg - контейнер, в котором надо рисовать элементы графика,

  • data - данные отчета в виде двумерного массива объектов, представляющего сетку отчета:

    [{
      label: название из заголовка (столбца/строки) отчета,
      values: [{
          label: строка - название из заголовка (строки/столбца) отчета, объединяющее через запятую название всех заголовков-предков,
                 если заголовки иерархичные, в порядке от корня до текущего
          key: массив строк - названий заголовков - текущего и заголовков предков, в порядке от корня до текущего
          value: значение в ячейке,
      }]
    },
    {
    ...
    }
    ]
    
  • color - функция, возвращающая цвет элемента данных по индексу, принимает два аргумента - элемент данных (игнорируется) и индекс, возвращает строку цвета из стандартного набора цветов для всех графиков,

  • utils - объект с вспомогательными функциями:

    dataToTree - для преобразования данных data в древовидный формат, понимаемый иерархическим layout d3,
    wrap - для разбивки текста svg-элемента text по словам,
    crop - для обрезания длинного текста svg-элемента text.
    

Для назначения типу графика картинки (preview) надо в справочнике типов графиков в столбце «Файл» приложить файл с изображением графика данного типа, а затем использовать ссылку на этот файл в css в /project/description, например:

.viz-types .viz-abcdef {
  background: url(/media/20190201T184815/picture.png) no-repeat top left;
  background-size: cover;
}

.viz-list .viz-items span.abcdef {
  background: url(/media/20190201T184815/picture.png) no-repeat top left;
  background-size: cover;
}

где abcdef - это «Обозначение типа визуализации» (id = -5010) соответствующего типа графика в справочнике типов графиков.

Пример настройки нового типа графиков

Рассмотрим параметры настройки нового типа графиков на примере типа графиков «Хорда».

_images/chart_type_added.png
  • Название = «Хорды».
  • Имя view для графика = «CustomCharts.Chord».
  • Обозначение типа визуализации = «charts-chord».
  • Порядковый номер = 20.0.
  • Тип визуализации используется (флаг) = «Да».
  • Файл = изображение графика (preview), после сохранения файла доступно по ссылке «/media/20190207T183306/chord.png».

В /project/description добавляем

в css:

.viz-types .viz-charts-chord {
  background: url(/media/20190207T183306/chord.png) no-repeat top left;
  background-size: cover;
}

.viz-list .viz-items span.viz-charts-chord {
  background: url(/media/20190207T183306/chord.png) no-repeat top left;
  background-size: cover;
}

в js:

window.makeChartType('CustomCharts.Chord', function (svg, data, color) {
  var width = svg.attr('width'),
      height = svg.attr('height'),
      outerRadius = Math.min(width, height) / 2 - 10,
      innerRadius = outerRadius - 24;

  var formatPercent = d3.format(".1%");

  var arc = d3.svg.arc()
      .innerRadius(innerRadius)
      .outerRadius(outerRadius);

  var layout = d3.layout.chord()
      .padding(.04)
      .sortSubgroups(d3.descending)
      .sortChords(d3.ascending);

  var path = d3.svg.chord()
      .radius(innerRadius);

  svg = svg.append("g")
      .attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");

  svg.append("circle")
      .attr("r", outerRadius)
      .style('fill', 'none')
      .style('pointer-events', 'all');

  var keys = _.pluck(data, 'label');
  var matrix = _.map(_.pluck(data, 'values'), function (values) {
      return _.pluck(values, 'value');
  });
  // Compute the chord layout.
  layout.matrix(matrix);

  // Add a group per neighborhood.
  var group = svg.selectAll(".group")
      .data(layout.groups)
      .enter().append("g")
      .attr("class", "group")
      .on("mouseover", mouseover);

  // Add a mouseover title.
  group.append("title").text(function(d, i) {
      return keys[i] + ": " + formatPercent(d.value) + " of origins";
  });

  // Add the group arc.
  var groupPath = group.append("path")
      .attr("id", function(d, i) { return "group" + i; })
      .attr("d", arc)
      .style("fill", function(d, i) { return color(d, i); })
      .style('fill-opacity', 0.5);

  // Add a text label.
  var groupText = group.append("text")
      .attr("x", 6)
      .attr("dy", 15);

  groupText.append("textPath")
      .attr("xlink:href", function(d, i) { return "#group" + i; })
      .text(function(d, i) { return keys[i]; });

  //// Remove the labels that don't fit. :(
  groupText.filter(function(d, i) { return groupPath[0][i].getTotalLength() / 2 - 16 < this.getComputedTextLength(); })
      .remove();

  //Add the chords.
  var chord = svg.selectAll(".chord")
      .data(layout.chords)
      .enter().append("path")
      .attr("class", "chord")
      .style("fill", function(d) { return color(d.source, d.source.index); })
      .attr("d", path);

  // Add an elaborate mouseover title for each chord.
  chord.append("title").text(function(d) {
      return keys[d.source.index]
          + " → " + keys[d.target.index]
          + ": " + formatPercent(d.source.value)
          + "\n" + keys[d.target.index]
          + " → " + keys[d.source.index]
          + ": " + formatPercent(d.target.value);
  });

  function mouseover(d, i) {
      chord.style('display', function (p) {
          if (p.source.index != i && p.target.index != i) {
              return 'none';
          } else {
              return '';
          }
      });
  }
  svg.on("mouseleave", function () {
      chord.style('display', '');
  });
});

Получаем:

_images/result.png