GraduatedSymbolsRenderer

概要

The GraduatedSymbolsRenderer class represents the graduated symbols renderer definition that shows qualitative differences in feature values using a range of symbol sizes.

ディスカッション

The properties behave in a similar manner to the options exposed in the application. For example, changing the number of classes will automatically adjust the break values and their labels. If you change upperBound of a ClassBreak, the classificationMethod automatically changes to ManualInterval. You also need to manually update the labels and/or descriptions properties accordingly.

プロパティ

プロパティ説明データ タイプ
backgroundSymbol
(読み書き)

A symbol that represents the background symbol for the features in the layer. It only applies to polygon feature classes.

Symbol
breakCount
(読み書き)

An integer that represents the number of classes to be used with the current classification method.

Integer
classBreaks
(読み書き)

A list of ClassBreak objects that provides access to individual properties such as label and description as well as individual symbol objects.

List
classificationField
(読み書き)

A string that represents a valid field name used for the layer's classification method.

String
classificationMethod
(読み書き)

A string that represents a valid classification method. The valid values are as follows:

  • DefinedIntervalDefined Interval
  • EqualIntervalEqual Interval
  • GeometricIntervalGeometric Interval
  • ManualIntervalManual Interval
  • NaturalBreaksNatural Breaks (Jenks)
  • QuantileQuantile
  • StandardDeviationStandard Deviation
String
colorRamp
(読み書き)

Provides access to the ColorRamp object.

ColorRamp
deviationInterval
(読み書き)

A double that represents a valid deviation interval that is only available if the classificationMethod is set to StandardDeviation. Valid values are 1.0, 0.5, 0.333, and 0.25. These are the same options available in the application.

Double
intervalSize
(読み書き)

A double that represents an interval size that is only available if the classificationMethod is set to DefinedInterval. Valid values are 1.0, 0.5, 0.333, and 0.25. These are the same options available in the application.

Double
maximumSymbolSize
(読み書き)

A double that represents the size of the largest graduated symbol.

Double
minimumSymbolSize
(読み書き)

A double that represents the size of the smallest graduated symbol.

Double
normalizationField
(読み書き)

A string that represents a valid layer field name that is used for normalization.

String
normalizationType
(読み書き)

A specific string that represents a valid normalization key word. For example, to clear the normalization, try gradSymbols.renderer.nomalizationType = "<None>".

  • <None>No normalization
  • <percentage of total>Percentage of total
  • <log>Log
String
symbolTemplate
(読み取り専用)

Returns a symbol that represents the symbol template for all the features in the layer. To set the template use the updateSymbolTemplate method.

Symbol
type
(読み取り専用)

Returns a string that represents the renderer type.

String

手法の概要

手法説明
updateSymbolTemplate (symbol_template)

updateSymbolTemplate provides a mechanism to change the renderer's symbol template.

手法

updateSymbolTemplate (symbol_template)
パラメーター説明データ タイプ
symbol_template

A reference to a symbol.

(デフォルト値は次のとおりです None)

Object

The updateSymbolTemplate method allows you to modify the symbol for all the class breaks at once. The symbol template is managed in the application differently than other renderer properties, for example, backgroundSymbol, and therefore requires a method to set the symbol template to the renderer.

コードのサンプル

GraduatedSymbolsRenderer example

The following script first tests if the layer's symbology supports a renderer property. It then confirms if the renderer is a GraduatedSymbolsRenderer. Next, it sets up the backgroundSymbol and symbolTemplate. Next, it changes the classificationField and breakCount and also sets the minimum and maximum symbol sizes. Finally, it changes ColorRamp to a color ramp named Black to White.

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

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

if hasattr(sym, 'renderer'):
  if sym.renderer.type == "GraduatedSymbolsRenderer":
    #set background symbol
    sym.renderer.backgroundSymbol.applySymbolFromGallery("Extent Transparent Wide Gray")
    #set symbol template
    symTemp = sym.renderer.symbolTemplate
    symTemp.applySymbolFromGallery('Square 1')
    sym.renderer.updateSymbolTemplate(symTemp)
    #modify graduated symbol renderer
    sym.renderer.classificationField = "Shape_Area"
    sym.renderer.breakCount = 6
    sym.renderer.minimumSymbolSize = 10
    sym.renderer.maximumSymbolSize = 25
    sym.renderer.colorRamp = p.listColorRamps("Black to White")[0]

    l.symbology = sym
p.saveACopy(relpath + r"\\SavedOutput.aprx")