axioma.render.
BarSizeParam
¶Параметры масштабирования столбчатой диаграммы. Содержит соответствие между масштабом карты, значения по заданному выражению и размером диаграммы
axioma.render.
BarThematicStyleProvider
¶Класс провайдера стилей для тематического слоя BarThematicLayer
в виде столбчатой диаграммы.
Унаследован от: ThematicStyleProvider
, AllocationThematic
, OrientationThematic
BarThematicStyleProvider
(layer)¶Конструктор
Параметры: layer ( ThematicLayer
) – Ссылка на тематический слой, к которому привязан данный провайдер стилей.
BarThematicStyleProvider
(other)Копирующий конструктор
Параметры: other ( BarThematicStyleProvider
) – Исходный объект BarThematicStyleProvider, на базе которого необходимо сделать копию.
setExpressions
(list)¶Задание списка выражений и соответствующих им стилей для каждого результирующего сегмента
Параметры: list ( list
[ThematicColorExpressionParam
]) – Список, содержащий параметры.
setSizeParam
(v)¶Задание параметров масштабирования
Параметры: v ( BarSizeParam
) – Новое значение.
sizeParam
()¶Текущие параметры масштабирования
Результат: Установленные параметры масштабирования Тип результата: BarSizeParam
isStacked
()¶Располагать ли столбчатые диаграммы стопкой
Результат: True, если да. В противном случае False Тип результата: bool
setIsStacked
(value)¶Установить вид расположения столбцов диаграммы. True, если необходимо расположить в виде стопки. По-умолчанию False
param value: Значение type value: bool
calculateMaximum
(table)¶Расчет максимального значения по заданным выражениям по всем записям таблицы
Параметры: table ( Table
) – Анализируемая таблицаРезультат: Рассчитанное значение Тип результата: float
thematicColorExpressionParams
()¶Список параметров по анализируемым сегментам
Результат: Список Тип результата: list
[ThematicColorExpressionParam
]
setThematicStyleParam
(ind, param)¶Задание нового значения ( замена существующего ) параметра по его индексу
Параметры:
- ind (
int
) – Индекс параметра- param (
ThematicColorExpressionParam
) – Параметр
thematicStyleParam
(index)¶Запрос параметров сегмента по его индексу
Параметры: index ( int
) – ИндексРезультат: Полученный по индексу параметр Тип результата: ThematicColorExpressionParam
axioma.render.
BarThematicLayer
¶Тематический слой в виде столбчатой диаграммы.
Унаследован от: ThematicLayer
BarThematicLayer
(parent)¶Конструктор
Параметры: parent ( FeatureLayer
) – Ссылка на слой, на базе которого создается данный тематический слой.
BarThematicLayer
(other)Копирующий конструктор
Параметры: other ( BarThematicLayer
) – Исходный слой, на базе которого создается новый слой.
styleProvider
()¶Возвращает текущий провайдер стилей для слоя.
Результат: Копия провайдера стиля, установленного для слоя на данный момент Тип результата: BarThematicStyleProvider
setStyleProvider
(provider)¶Устанавливает новый провайдер стилей для слоя.
Параметры: provider ( BarThematicStyleProvider
) – Новый провайдер стилей.
Пример использования:
# Импорт from axioma.render import * from axioma.core.sql import * from axioma.mapinfo import * # Создание переменной для обеспечения возможности вычисления выражений runtime = SqlRuntime() # Добавление слоя в конец списка def addLayer(layer, thematic): layer.appendLayer(thematic); # Создание выражения по полю def makeExpressionForWorld(layer, attr): evaluator = FeatureExpressionEvaluator(runtime, layer.tableSchema()) if not evaluator.setExpression(axioma.app.mainWindow.tr(attr)): print(evaluator.errorString()) return evaluator # Создание пар стиль - выражение def makeStylePair(layer, color, attr): style = polygonStyleForColor(color) expr = makeExpressionForWorld(layer, attr) return ThematicColorExpressionParam(style, expr) # Создание списка выражений по цветам def makeExpressionListForWorld(layer): list = [] list.append(makeStylePair(layer, Qt.red, QObject().tr("Население"))) list.append(makeStylePair(layer, Qt.blue, QObject().tr("Pop_Male"))) list.append(makeStylePair(layer, Qt.green, QObject().tr("Pop_Fem"))) return list # Столбчатая диаграмма def addBarThematic(layer): barLayer = BarThematicLayer(layer) barStyleProvider = BarThematicStyleProvider(barLayer) barStyleProvider.setExpressions(makeExpressionListForWorld(layer)) # Установим выражения if len(barStyleProvider.thematicColorExpressionParams()) > 1: barStyleProvider.setIsStacked(True) # Стопкой barStyleProvider.setAllocationType(AllocationThematic.AT_LINEAR) # Распределение значений sizeParam = barStyleProvider.sizeParam() sizeParam.value = barStyleProvider.calculateMaximum(layer.table()) # максимальное значение sizeParam.mapScale = 160000000 # для масштаба sizeParam.diameter = UnitValue(Unit.cm(), 1.0) # размер в сантиметрах barStyleProvider.setSizeParam(sizeParam) barLayer.setStyleProvider(barStyleProvider) # Установка провайдера стиля addLayer(layer, barLayer)