Legend - Легенда слоя

class axipy.Legend

Легенда слоя. Позволяет получить информацию об условных обозначениях на слое. Созданная легенда в дальнейшем может быть помещена на лист отчета axipy.render.Report как axipy.render.LegendReportItem или же расположена в отдельном окне легенд слоев для карты axipy.render.Map.

Параметры:

lay – Слой, для которого создается легенда.

Пример создания легенды.
range1 = RangeThematicLayer("Население")
world.thematic.add(range1)
# Легенда для тематического слоя
legend = Legend(range1)
legend.columns = 2
# Зададим стиль заднего фона и окантовки
legend.border_style = LineStyle(3, Qt.red)
legend.fill_style = PolygonStyle(49, Qt.yellow)
# Изменим описание для первого элемента
item = legend.items[0]
item.title = 'Описание'
legend.items[0] = item
# Заголовок легенды
legend.caption = 'Легенда для слоя'
# Стиль заголовка
legend.style_caption = Style.from_mapinfo("Font (\"Arial\", 0, 9, 255)")
# Просмотр всех стилей легенды
for it in legend.items:
    print(it.title, it.visible, it.style.to_mapinfo())
# Изменение позиции элемента легенды
legend.items.move(0, 1)
# Отрисуем легенду в контексте вместе с картой
image = QImage(800, 600, QImage.Format_ARGB32_Premultiplied)
image.fill(Qt.white)
painter = QPainter(image)
context = Context(painter)
legend.position = (100, 50)
legend.draw(context)
'''
>>> Описание True Pen (1, 2, 8421504) Brush (2, 16776960)
>>> 55419-166640 True Pen (1, 2, 8421504) Brush (2, 12582656)
>>> 166640-631500 True Pen (1, 2, 8421504) Brush (2, 8453888)
...
'''

Свойства:

border_style

Стиль используемой окантовки.

caption

Заголовок легенды.

columns

Количество колонок в легенде.

fill_style

Стиль заливки заднего фона.

items

Перечень стилей легенды.

position

Положение легенды в контексте рисования.

style_caption

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

style_subcaption

Стиль подзаголовка легенды.

style_text

Стиль текстовых подписей.

subcaption

Подзаголовок легенды.

Методы:

draw(context)

Рисует легенду в контексте.

refresh()

Обновляет стили из источника.

to_image(width, height)

Возвращает легенду в виде растра.

property border_style: Style

Стиль используемой окантовки. Отображается если has_border установлено в True.

property caption: str

Заголовок легенды. Стиль заголовка задается свойством style_caption

property columns: int

Количество колонок в легенде. По умолчанию 1.

draw(context: Context)

Рисует легенду в контексте.

Легенду также можно отрисовать совместно с картой в одном контексте (см. Map.draw()).

Параметры:

context – Контекст рисования.

property fill_style: Style

Стиль заливки заднего фона.

property items: ListLegendItems

Перечень стилей легенды. Реализован в виде списка. Для изменения какого-либо параметра необходимо сначала получить элемент, затем поменять требуемое свойство, а затем измененный элемент переназначить.

property position: Pnt

Положение легенды в контексте рисования.

refresh()

Обновляет стили из источника.

property style_caption: Style

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

property style_subcaption: Style

Стиль подзаголовка легенды.

property style_text: Style

Стиль текстовых подписей.

property subcaption: str

Подзаголовок легенды. Стиль заголовка задается свойством style_subcaption

to_image(width: int, height: int) QImage

Возвращает легенду в виде растра.

Параметры:
  • width – Ширина выходного растра.

  • height – Высота выходного растра.