PieThematicLayer - Круговые диаграммы

digraph geometry {
    node [shape="box", style=filled, fillcolor="lightgray"]
    rankdir=LR
    labelloc="t";
    label="Иерархия классов:";

    ThematicLayer  [ href="ThematicLayer.html#ref-label-thematiclayer-class" ];
    PieThematicLayer  [ href="PieThematicLayer.html#ref-label-piethematiclayer-class" ];
    AllocationThematic  [ href="AllocationThematic.html#ref-label-allocationthematiclayer-class" ];
    OrientationThematic  [ href="OrientationThematic.html#ref-label-orientationthematiclayer-class" ];
    StyledByIndexThematic  [ href="StyledByIndexThematic.html#ref-label-styledbythematicthematiclayer-class" ];

    ThematicLayer -> PieThematicLayer;
    AllocationThematic -> PieThematicLayer;
    OrientationThematic -> PieThematicLayer;
    StyledByIndexThematic -> PieThematicLayer;
}
class axipy.render.PieThematicLayer(expressions)

Тематика в виде круговых диаграмм.

Параметры

expressions (List) – Наименования атрибутов или выражений в виде списка list.

Создание тематики с последующим добавлением ее к базовому слою.
pie = PieThematicLayer(["Население", "Мужское", "Женское"])
pie.allocationType = PieThematicLayer.SQRT
style_lay_pie = Style.from_mapinfo("Brush (8, 65535, 0)")
# Заменим стиль
pie.set_style (0, style_lay_pie)
# Добавляем к основному слою
world.thematic.add(pie)

Attributes:

allocationType

Тип распределения значений.

coordsystem

Координатная система, в которой находятся данные, отображаемые слоем.

data_changed

Signal[] Сигнал об изменении контента слоя.

data_object

Источник данных для слоя.

is_valid

Проверка на валидность объекта.

max_zoom

Максимальная ширина окна, при котором слой отображается на карте.

min_zoom

Минимальная ширина окна, при котором слой отображается на карте.

need_redraw

Signal[] Сигнал о необходимости перерисовать слой.

opacity

Прозрачность слоя в составе карты.

orientationType

Ориентация относительно центроида.

startAngle

Начальный угол отсчета диаграммы.

title

Наименование слоя.

visible

Управляет видимостью слоя.

zoom_restrict

Будет ли использоваться ограничение по отображению.

Methods:

create(dataObject)

Создает слой на базе открытой таблицы или растра.

get_bounds()

Возвращает область, в которую попадают все данные, которые могут быть отображены на слое.

get_style(idx)

Стиль для указанного выражения.

set_style(idx, style)

Установка стиля оформления для выражения по его индексу в списке выражений.

property allocationType

Тип распределения значений.

Допустимые значения.

Константа

Значение

Описание

LINEAR

1

Линейное (по умолчанию)

SQRT

2

Квадратичное

LOG10

3

Логарифмическое

Тип результата

int

property coordsystem

Координатная система, в которой находятся данные, отображаемые слоем.

Тип результата

CoordSystem

classmethod create(dataObject)

Создает слой на базе открытой таблицы или растра.

Параметры

dataObject (DataObject) – Таблица или растр. В зависимости от переданного объекта будет создан VectorLayer или RasterLayer.

Пример создания слоя на базе файла.
# Векторный слой
table = provider_manager.openfile(filepath)
vector_layer = Layer.create(table)
# Подпишемся на обновление контента слоя
vector_layer.need_redraw.connect(lambda: print('Update layer'))
Тип результата

Layer

property data_changed

Signal[] Сигнал об изменении контента слоя.

Тип результата

Signal

property data_object

Источник данных для слоя.

Тип результата

DataObject

get_bounds()

Возвращает область, в которую попадают все данные, которые могут быть отображены на слое.

Тип результата

Rect

get_style(idx)

Стиль для указанного выражения.

Параметры

idx (int) – Порядковый номер выражения.

Тип результата

Style

property is_valid

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

Тип результата

bool

property max_zoom

Максимальная ширина окна, при котором слой отображается на карте. Учитывается только при установленном zoom_restrict=True

Тип результата

float

property min_zoom

Минимальная ширина окна, при котором слой отображается на карте. Учитывается только при установленном zoom_restrict=True

Тип результата

float

property need_redraw

Signal[] Сигнал о необходимости перерисовать слой.

Тип результата

Signal

property opacity

Прозрачность слоя в составе карты. Доступные значения от 0 до 100.

Тип результата

int

property orientationType

Ориентация относительно центроида.

Допустимые значения.

Константа

Значение

Описание

CENTER

0

Диаграмма рисуется по центру (по умолчанию)

LEFT_UP

1

Диаграмма выравнивается по левому верхнему краю

UP

2

Диаграмма выравнивается по верхнему краю

RIGHT_UP

3

Диаграмма выравнивается по верхнему правому краю

RIGHT

4

Диаграмма выравнивается по правому краю

RIGHT_DOWN

5

Диаграмма выравнивается по нижнему правому краю

DOWN

6

Диаграмма выравнивается по нижнему краю

LEFT_DOWN

7

Диаграмма выравнивается по нижнему левому краю

LEFT

8

Диаграмма выравнивается по левому краю

Тип результата

int

set_style(idx, style)

Установка стиля оформления для выражения по его индексу в списке выражений.

Параметры
  • idx (int) – Индекс.

  • style (Style) – Назначаемый стиль.

Пример установки стиля для значения с индексом 2 первого тематического слоя.
style_new = Style.from_mapinfo("Brush (2, 255, 0)")
world.thematic[0].set_style(2, style_new)
property startAngle

Начальный угол отсчета диаграммы.

Тип результата

bool

property title

Наименование слоя.

Тип результата

str

property visible

Управляет видимостью слоя.

Выключение видимости верхнего слоя для активной карты:

if view_manager.active is not None:
    view_manager.active.map.layers[0].visible = False
property zoom_restrict

Будет ли использоваться ограничение по отображению. Если установлено True, то для ограничения отображения слоя в зависимости от масштаба используются значения свойств zoom_min и zoom_max

Тип результата

bool