BarSizeParam¶
-
class
axioma.render.
BarSizeParam
¶ Параметры масштабирования столбчатой диаграммы. Содержит соответствие между масштабом карты, значения по заданному выражению и размером диаграммы
BarThematicStyleProvider¶
-
class
axioma.render.
BarThematicStyleProvider
¶ Класс провайдера стилей для тематического слоя
BarThematicLayer
в виде столбчатой диаграммы.Унаследован от:
ThematicStyleProvider
,AllocationThematic
,OrientationThematic
Установить вид расположения столбцов диаграммы. True, если необходимо расположить в виде стопки. По умолчанию False
- param value
Значение
- type value
-
BarThematicStyleProvider
(layer)¶ Конструктор
- Параметры
layer (
ThematicLayer
) – Ссылка на тематический слой, к которому привязан данный провайдер стилей.
-
BarThematicStyleProvider
(other)¶ Копирующий конструктор
- Параметры
other (
BarThematicStyleProvider
) – Исходный объект BarThematicStyleProvider, на базе которого необходимо сделать копию.
-
calculateMaximum
(table)¶ Расчет максимального значения по заданным выражениям по всем записям таблицы
-
isGraduired
()¶ Является ли диаграмма масштабируемой в зависимости от полученного значения выражения
- Результат
True, если размеры всех диаграмм тематического слоя имеют одинаковый размер. False, если размер масштабируется по выражению
- Тип результата
-
isStacked
()¶ Располагать ли столбчатые диаграммы стопкой
- Результат
True, если да. В противном случае False
- Тип результата
-
setExpressions
(list)¶ Задание списка выражений и соответствующих им стилей для каждого результирующего сегмента
- Параметры
list (
list
[ThematicColorExpressionParam
]) – Список, содержащий параметры.
-
setIsGraduired
(value)¶ Установить признак необходимости масштабирования диаграммы
- Параметры
value (
bool
) – True, если производить масштабирование не требуется. False в противном случае
-
setIsStacked
(value)¶
-
setSizeParam
(v)¶ Задание параметров масштабирования
- Параметры
v (
BarSizeParam
) – Новое значение.
-
setThematicStyleParam
(ind, param)¶ Задание нового значения ( замена существующего ) параметра по его индексу
- Параметры
ind (
int
) – Индекс параметраparam (
ThematicColorExpressionParam
) – Параметр
-
sizeParam
()¶ Текущие параметры масштабирования
- Результат
Установленные параметры масштабирования
- Тип результата
-
thematicColorExpressionParams
()¶ Список параметров по анализируемым сегментам
- Результат
Список
- Тип результата
BarThematicLayer¶
-
class
axioma.render.
BarThematicLayer
¶ Тематический слой в виде столбчатой диаграммы.
Унаследован от:
ThematicLayer
-
BarThematicLayer
(parent)¶ Конструктор
- Параметры
parent (
FeatureLayer
) – Ссылка на слой, на базе которого создается данный тематический слой.
-
BarThematicLayer
(other)¶ Копирующий конструктор
- Параметры
other (
BarThematicLayer
) – Исходный слой, на базе которого создается новый слой.
-
setStyleProvider
(provider)¶ Устанавливает новый провайдер стилей для слоя.
- Параметры
provider (
BarThematicStyleProvider
) – Новый провайдер стилей.
-
styleProvider
()¶ Возвращает текущий провайдер стилей для слоя.
- Результат
Копия провайдера стиля, установленного для слоя на данный момент
- Тип результата
-
Пример использования:
# Импорт 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)