PP.MapBarAxis(settings: Object);
settings. JSON-объект со значениями свойств класса.
Конструктор MapBarAxis создает экземпляр класса MapBarAxis.
Для выполнения примера необходимо наличие на html-странице компонента MapChart с наименованием «map» (см. «Пример создания компонента MapChart»). Создадим столбиковый показатель для области слоя карты с идентификатором «RU-KYA», содержащий ось и отображающий данные только за первый период времени:
// Возвращает слой с областями карты function getWorkLayer() { return map.getLayer("Regions"); } // Возвращает текущую отметку измерения для оси карты function getSelectedIndex() { return 2; } // Возвращает базовый класс столбикового показателя карты function getBarVisual() { return map.getVisuals().barVisual0; } // Возвращает область слоя карты с указанным идентификатором function getShape(shapeId) { var shape = getWorkLayer().getParentLayer().getShape(shapeId); map.setBarHoverness(shape); return shape; } // Возвращает настройки сопоставления данных высоте элементов визуализатора function getHeightMapping() { return getBarVisual().getHeightMappings()[0]; } // Устанавливаем настройки сопоставления данных function setupHeightMapping() { getHeightMapping().setType(PP.DataMappingType.Transformer); var dataTransformer = new PP.CoordinateTransformer({ IncludeZero: true, UseSignDivision: true, }); dataTransformer.getValue = function getValue(data) { if (!this.getUseSignDivision()) { return this.getValue(data); } else { // Удваиваем входное значение return data * 2; } } getHeightMapping().setDataTransformer(dataTransformer); } // Создаёт ось для столбикового показателя function createBarAxis() { var barAxis = new PP.MapBarAxis({ Pen: new PP.Pen({ Color: PP.Color.Colors.black, // Цвет деления Style: PP.PenStyle.Dashed, // Стиль линии для деления Width: 4 // Ширина деления }), Visibility: PP.Ui.Visibility.Hidden }); // Подготавливаем ось для рисования barAxis.prepareToRender(map.getBarLayer()); return barAxis; } // Скрывает ось для столбикового показателя function hideAxis(mapBar) { mapBar.getAxis().setVisibility(PP.Ui.Visibility.Hidden); mapBar.refresh(); } // Отображает ось для столбикового показателя function showAxis(mapBar) { mapBar.getAxis().setVisibility(PP.Ui.Visibility.Visible); mapBar.refresh(); } // Создаёт столбиковый показатель function createMapBar() { // Создаём столбиковый показатель var mapBar = new PP.MapBar({ Axis: createBarAxis(), // Ось для столбикового представления AllPeriod: false, Chart: map, Shape: getShape("RU-KYA"), // Область слоя карты, для которой строим показатель BorderThickness: 0.5, // Толщина границы столбцов Visual: getBarVisual(), // Ширина столбца с минимальным значением LeastWidthPart: getHeightMapping().getDataTransformer().getValue(2.5), // Высота столбца с минимальным значением LeastHeightPart: getHeightMapping().getDataTransformer().getValue(17.5), IsPercentage: true }); mapBar.refresh = function () { this.getChart().draw(); } return mapBar; } // Отрисовывает столбиковый показатель function drawMapBar(mapBar) { mapBar.setSelectedIndex(getSelectedIndex()); mapBar.getLayer().getMapBarCollection().push(mapBar); // Заново отрисовываем карту mapBar.refresh(); } // Устанавливаем настройки сопоставления данных setupHeightMapping(); // Создаём столбиковый показатель var mapBar = createMapBar(); // Отрисовываем данный показатель drawMapBar(mapBar); // Отображаем ось showAxis(mapBar);
В результате выполнения примера был отображён столбиковый показатель для области слоя карты с идентификатором «RU-KYA», содержащий ось и отображающий данные только за первый период времени:
См. также: