# BarThematicLayer - Столбчатые диаграммы

class axipy.BarThematicLayer

  Базовые классы: `ThematicLayer`, `AllocationThematic`, `OrientationThematic`, `StyledByIndexThematic`

  Тематика в виде столбчатых диаграмм.

  Параметры:

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

  Создание тематики с последующим добавлением ее к базовому слою.

      bar = BarThematicLayer(["Население", "Мужское", "Женское"])
      # Добавляем к основному слою
      world.thematic.add(bar)

  Классовые методы:

  `create`(dataObject) | Создает слой на базе открытой таблицы или растра.

  Свойства:

  `allocationType` | Тип распределения значений.
  `coordsystem` | Возвращает координатную систему, в которой находятся данные, отображаемые слоем.
  `data_object` | Возвращает источник данных для слоя.
  `isStacked` | Расположение столбчатой диаграммы в виде стопки, если True.
  `is_valid` | Возвращает признак валидности слоя.
  `max_zoom` | Устанавливает или возвращает максимальную ширину окна, при которой слой отображается на карте.
  `min_zoom` | Устанавливает или возвращает минимальную ширину окна, при которой слой отображается на карте.
  `opacity` | Устанавливает или возвращает прозрачность слоя в составе карты.
  `orientationType` | Ориентация относительно центроида.
  `selectable` | Устанавливает или возвращает признак доступности выбора объектов слоя, если это поддерживается.
  `title` | Устанавливает или возвращает наименование слоя.
  `visible` | Устанавливает или возвращает признак видимости слоя.
  `zoom_restrict` | Устанавливает или возвращает признак, будет ли использоваться ограничение по отображению.

  Атрибуты:

  `CENTER` | Диаграмма рисуется по центру (по умолчанию)
  `DOWN` | Диаграмма выравнивается по нижнему краю.
  `LEFT` | Диаграмма выравнивается по левому краю.
  `LEFT_DOWN` | Диаграмма выравнивается по нижнему левому краю.
  `LEFT_UP` | Диаграмма выравнивается по левому верхнему краю.
  `LINEAR` | Линейное (по умолчанию)
  `LOG10` | Логарифмическое.
  `RIGHT` | Диаграмма выравнивается по правому краю.
  `RIGHT_DOWN` | Диаграмма выравнивается по нижнему правому краю.
  `RIGHT_UP` | Диаграмма выравнивается по верхнему правому краю.
  `SQRT` | Квадратичное.
  `UP` | Диаграмма выравнивается по верхнему краю.

  Методы:

  `get_bounds`() | Возвращает область, которая содержит все данные слоя.
  `get_style`(idx) | Стиль для указанного выражения.
  `set_style`(idx, style) | Установка стиля оформления для выражения по его индексу в списке выражений.

  Сигналы:

  `data_changed` | Сигнал об изменении контента слоя.
  `need_redraw` | Сигнал о необходимости перерисовать слой.

  Специальные методы:

  `__eq__`(other) | Оператор равенства (==).
  `__repr__`() | Официальное строковое представление объекта при вызове `repr()`.
  `__str__`() | Неформальное строковое представление объекта при вызове `str` или `print()`.

  CENTER

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

  DOWN

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

  LEFT

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

  LEFT_DOWN

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

  LEFT_UP

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

  LINEAR

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

  LOG10

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

  RIGHT

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

  RIGHT_DOWN

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

  RIGHT_UP

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

  SQRT

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

  UP

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

  __eq__(other: object) → bool

    Оператор равенства (==).

  __repr__() → str

    Официальное строковое представление объекта при вызове `repr()`.

  __str__() → str

    Неформальное строковое представление объекта при вызове `str` или `print()`.

  property allocationType: int

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

    Допустимые значения.
    Константа | Значение | Описание
    --- | --- | ---
    LINEAR | 1 | Линейное (по умолчанию)
    SQRT | 2 | Квадратичное
    LOG10 | 3 | Логарифмическое

  property coordsystem: CoordSystem

    Возвращает координатную систему, в которой находятся данные, отображаемые слоем.

  classmethod create(dataObject: DataObject) → Layer

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

    Параметры:

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

    Пример создания слоя на базе файла.

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

  property data_changed: Signal

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

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

      Signal[]

  property data_object: DataObject

    Возвращает источник данных для слоя.

  get_bounds() → Rect

    Возвращает область, которая содержит все данные слоя.

  get_style(idx: int) → Style

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

    Параметры:

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

  property isStacked: bool

    Расположение столбчатой диаграммы в виде стопки, если True.

  property is_valid: bool

    Возвращает признак валидности слоя.

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

  property max_zoom: float

    Устанавливает или возвращает максимальную ширину окна, при которой слой отображается на карте.

    Учитывается только при установленном zoom_restrict=True.

  property min_zoom: float

    Устанавливает или возвращает минимальную ширину окна, при которой слой отображается на карте.

    Учитывается только при установленном zoom_restrict=True.

  property need_redraw: Signal

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

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

      Signal[]

  property opacity: int

    Устанавливает или возвращает прозрачность слоя в составе карты.

    Доступные значения от 0 до 100.

  property orientationType: int

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

    Допустимые значения.
    Константа | Значение | Описание
    --- | --- | ---
    CENTER | 0 | Диаграмма рисуется по центру (по умолчанию)
    LEFT_UP | 1 | Диаграмма выравнивается по левому верхнему краю
    UP | 2 | Диаграмма выравнивается по верхнему краю
    RIGHT_UP | 3 | Диаграмма выравнивается по верхнему правому краю
    RIGHT | 4 | Диаграмма выравнивается по правому краю
    RIGHT_DOWN | 5 | Диаграмма выравнивается по нижнему правому краю
    DOWN | 6 | Диаграмма выравнивается по нижнему краю
    LEFT_DOWN | 7 | Диаграмма выравнивается по нижнему левому краю
    LEFT | 8 | Диаграмма выравнивается по левому краю

  property selectable: bool

    Устанавливает или возвращает признак доступности выбора объектов слоя, если это поддерживается.

  set_style(idx: int, style: Style)

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

    Параметры:

      - idx – Индекс.

      - style – Назначаемый стиль.

    Пример установки стиля для значения с индексом 2 первого тематического слоя.

        style_new = Style.from_mapinfo("Brush (2, 255, 0)")
        world.thematic[0].set_style(2, style_new)

  property title: str

    Устанавливает или возвращает наименование слоя.

  property visible: bool

    Устанавливает или возвращает признак видимости слоя.

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

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

  property zoom_restrict: bool

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

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