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)