GraduatedColorsRenderer

Краткая информация

Класс GraduatedColorsRenderer использует метод отображения градуированными цветами для визуализации количественных различий значений объектов с помощью цветовой шкалы.

Обсуждение

Эти свойства действуют примерно так же, как и опции, использующиеся в приложении. Например, изменение числа классов автоматически перестроит граничные значения и их подписи. Если вы измените upperBound в ClassBreak, classificationMethod автоматически изменится на ManualInterval. Вам также необходимо будет вручную обновить labels и/или descriptions соответственно.

Свойства

СвойствоОписаниеТип данных
breakCount
(чтение и запись)

Целое число, представляющее количество классов, использующихся с текущим методом классификации.

Integer
classBreaks
(чтение и запись)

Список объектов ClassBreak, который обеспечивает доступ к отдельным объектам, таким как label и description, а так же к отдельным символам объектов.

List
classificationField
(чтение и запись)

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

String
classificationMethod
(чтение и запись)

Строка, представляющая корректный метод классификации. Корректными значениями являются следующие:

  • DefinedIntervalЗаданный интервал
  • EqualIntervalРавный интервал
  • GeometricIntervalГеометрический интервал
  • ManualIntervalИнтервал вручную
  • NaturalBreaksЕстественные границы
  • QuantileКвантили
  • StandardDeviationСреднеквадратическое отклонение
String
colorRamp
(чтение и запись)

Предоставляет доступ к объекту ColorRamp.

ColorRamp
deviationInterval
(чтение и запись)

Число с плавающей точкой двойной точности, представляющее корректный интервал среднеквадратического отклонения, доступный только если classificationMethod установлен на StandardDeviation. Допустимыми значениями являются 1.0, 0.5, 0.333 и 0.25. Те же опции доступны и в приложении.

Double
intervalSize
(чтение и запись)

Число с плавающей точкой двойной точности, представляющее размер интервала, classificationMethod установлен на DefinedInterval.

Double
normalizationField
(чтение и запись)

Строка, представляющая имя поля в слое, использующегося для нормирования.

String
normalizationType
(чтение и запись)

Специальная строка, представляющая корректное ключевое слово нормирования. Например, чтобы удалить нормирование, попробуйте gradColors.renderer.nomalizationType = "<None>".

  • <None>Нет нормирования
  • <percentage of total>Процент от общего
  • <log>Журнал
String
type
(только чтение)

Возвращает строку, которая отображает тип метода отображения.

String

Пример кода

GraduatedColorsRenderer, пример 1

В следующем скрипте сначала тестируется, поддерживают ли символы слоя свойство renderer, затем подтверждается, что метод отображения – SimpleSymbolRenderer. Далее метод отображения меняется на GraduatedColorsRenderer и меняет classificationField и breakCount. Наконец, ColorRamp меняется на цветовую шкалу с именем Голубой – фиолетовый.

import arcpy, os, sys

relpath = os.path.dirname(sys.argv[0])

p = arcpy.mp.ArcGISProject(relpath + r'\\GraduatedColors.aprx')
m = p.listMaps('Layers')[0]
l = m.listLayers('State*')[0]
sym = l.symbology

if hasattr(sym, 'renderer'):
  if sym.renderer.type == 'SimpleRenderer':
    sym.updateRenderer('GraduatedColorsRenderer')
    sym.renderer.classificationField = 'Shape_Area'
    sym.renderer.breakCount = 10
    sym.renderer.colorRamp = p.listColorRamps('Cyan to Purple')[0]

    l.symbology = sym

p.saveACopy(relpath + r'\\SavedOutput.aprx')
GraduatedColorsRenderer, пример 2

Следующий скрипт изменяет символы полигонального слоя, использующего отображение градуированными цветами. Он задает classificationField и breakCount, и повторно проходит каждую границу класса, изменяя upperBound, label, description и такие свойства символов, как color, outlineColor и size. В формат надписей границ вносится разделитель разрядов. Цвет заливки меняется от красного к синему, цвет рамки – от синего к красному, размер у каждой границы увеличивается.

# -*- coding: utf-8 -*-
import arcpy, os, sys, locale

relpath = os.path.dirname(sys.argv[0])

p = arcpy.mp.ArcGISProject(relpath + r"\\GraduatedColors.aprx")
m = p.listMaps("Layers")[0]
l = m.listLayers("Natural*")[0]

sym = l.symbology
sym.renderer.classificationField = "Shape_Area"
sym.renderer.breakCount = 7

breakVal = 100000000000
cv = 0
lw = 1
for brk in sym.renderer.classBreaks:
  brk.upperBound = breakVal
  brk.label = "\u2264" + str(locale.format("%d", breakVal, grouping=True))
  brk.description = "Description " + str(cv)
  brk.symbol.color = {'HSV' : [cv, 100, 100, 100]}
  brk.symbol.outlineColor = {'HSV' : [240-cv, 100, 100, 100]}
  brk.symbol.size = lw

  breakVal +=100000000000
  cv += 40
  lw += 0.5
l.symbology = sym

p.saveACopy(relpath + r'\\SavedOutput.aprx')