Документация
Справочник JavaScript API
2.1.64 (текущая версия)
collection
interactivityModel
Интерфейсы

layout.PieChart

Расширяет layout.templateBased.Base.

Макет в виде круговой диаграммы. Доступен в хранилище макетов по ключу 'default#pieChart'. Макет может использоваться как инструмент визуализации произвольных данных, так и в связке с другими визуальными компонентами API, такими как метки, кластеризатор, менеджер объектов.

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

См.: Placemark Clusterer ObjectManager RemoteObjectManager LoadingObjectManager

Конструктор | Поля | События | Методы

Конструктор

layout.PieChart(data)

Параметры:

ПараметрЗначение по умолчаниюОписание
data *
[no-highlight[

* Обязательный параметр/опция.

]no-highlight]

Тип: Object

Данные макета.

data.option.pieChartRadius 25 + 2 * Math.log(sum)

Тип: Number|Function

Радиус диаграммы в пикселях. Может задаваться числом либо функцией, принимающей в качестве параметров properties и options макета и возвращающей радиус диаграммы в виде числа. По умолчанию радиус определяется как 25 + 2 * Math.log(sum) пикселей, где sum — сумма весов секторов;

data.options

Тип: IOptionManager

Опции отрисовки макета.

data.options.pieChartCaptionMaxWidth 200

Тип: Number

Максимальный размер подписи (iconCaption), в пикселях.

data.options.pieChartCoreFillStyle white

Тип: String

Стиль заливки центральной части. Задается строкой, кодирующей цвет заливки;

data.options.pieChartCoreRadius pieChartRadius - 15

Тип: Number|Function

Радиус центральной части макета, в которой отображается контент. Задается аналогично pieChartRadius — числом или функцией. По умолчанию принимает значение на 15 пикселей меньше pieChartRadius;

data.options.pieChartStrokeStyle white

Тип: String

Стиль линий-разделителей секторов и внешней обводки диаграммы. Задается строкой, кодирующей цвет линии;

data.options.pieChartStrokeWidth 2

Тип: Number

Ширина линий-разделителей секторов и внешней обводки диаграммы в пикселях. Задается целым числом.

data.properties *
[no-highlight[

* Обязательный параметр/опция.

]no-highlight]

Тип: IDataManager|Object

Свойства геообъекта, который визуализируется макетом.

data.properties.data *
[no-highlight[

* Обязательный параметр/опция.

]no-highlight]

Тип: Object[]|Function

Статистические данные, на основе которых строится макет. Должны представлять собой массив JSON-объектов с полями weight и color (вес и цвет сектора) либо функцию, возвращающую такой массив.

data.properties.geoObjects

Тип: IGeoObject[]

Массив геообъектов в составе кластера, который требуется визуализировать. Используется в случае отсутствия properties.data. В этом случае макет проходит по всем геообъектам, определяет значение опции iconColor каждого объекта и на основе этих данных строит диаграмму.

data.properties.iconCaption ""

Тип: String

Подпись к диаграмме.

data.properties.iconContent The sum of all the sectors

Тип: String

Значение, которое пишется в центре диаграммы. Если не задано — выводится сумма весов секторов.

* Обязательный параметр/опция.

Пример:

var geoObject = new ymaps.Placemark([55.25, 37.43], {
        // Данные, на основе которых будет формироваться диаграмма.
        data: [
            { weight: 5, color: '#224080' },
            { weight: 3, color: '#408022' },
            { weight: 2, color: '#802240' }
        ]
    }, {
        iconLayout: 'default#pieChart',
        // Также можно переопределить опции макета с префиксом icon.
        iconPieChartCoreRadius: 15
    });

myMap.geoObjects.add(geoObject);

Поля

ИмяТипОписание
events IEventManager

Менеджер событий.

Унаследовано от IDomEventEmitter.

События

ИмяОписание
click

Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

contextmenu

Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

dblclick

Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

emptinesschange

Изменение признака пустоты макета. Экземпляр класса Event.

Унаследовано от ILayout.

mousedown

Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mouseenter

Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mouseleave

Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mousemove

Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mouseup

Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

multitouchend

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

Унаследовано от IDomEventEmitter.

multitouchmove

Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:

  • clientX - координата касания X относительно видимой области браузера;
  • clientY - координата касания Y относительно видимой области браузера;
  • pageX - координата касания X касания относительно начала документа;
  • pageY - координата касания Y касания относительно начала документа.

Унаследовано от IDomEventEmitter.

multitouchstart

Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:

  • clientX - координата касания X относительно видимой области браузера;
  • clientY - координата касания Y относительно видимой области браузера;
  • pageX - координата касания X касания относительно начала документа;
  • pageY - координата касания Y касания относительно начала документа.

Унаследовано от IDomEventEmitter.

parentelementchange

Изменение родительского элемента. Экземпляр класса Event.

Унаследовано от ILayout.

shapechange

Изменение фигуры области охватывающей макет. Экземпляр класса Event.

Унаследовано от ILayout.

wheel

Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

Методы

ИмяВозвращаетОписание
build()

Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент.

Унаследован от layout.templateBased.Base.

clear()

Удаляет содержимое макета из DOM.

Унаследован от layout.templateBased.Base.

destroy()

Деструктор. Вызывается при завершении работы с макетом.

Унаследован от ILayout.

getData()

Object

Возвращает объект данных макета.

Унаследован от ILayout.

getParentElement()

HTMLElement

Возвращает родительский HTML-элемент.

Унаследован от ILayout.

getShape()

IShape|null

Возвращает фигуру, описывающую форму области, охватывающей макет, либо null, если нет возможности рассчитать данную фигуру. По умолчанию пытается построить фигуру через опцию shape - this.getData().options.get('shape'). В опции можно задать как инстанцию класса, реализующего интерфейс IShape, так и JSON-описание пиксельной геометрии фигуры. Координаты геометрии фигуры должны отсчитываться от точки привязки родительского элемента макета.

Унаследован от layout.templateBased.Base.

isEmpty()

Boolean

Возвращает true, если макет пуст, т.е. не имеет содержимого. Данный признак используется для сокрытия пустых объектов, таких как хинт, балун и другие.

Унаследован от ILayout.

onSublayoutSizeChange(sublayoutInfo, nodeSizeByContent)

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

Унаследован от layout.templateBased.Base.

rebuild()

Перестраивает макет.

Унаследован от layout.templateBased.Base.

setData(data)

Задает данные макета.

Унаследован от ILayout.

setParentElement(parent)

Добавляет макет в DOM-дерево.

Унаследован от ILayout.