Zusammenfassung
LegendItem provides access to legend item level information in a LegendElement.
Diskussion
The items property on the LegendElement class returns a list of LegendItem objects. For each legend item, you can change properties such as arrangement, patchHeight, and its visible status. The typical workflow is to iterate through the list of elements, determine the item of interest by its name property, then make the appropriate changes.
Hinweis:
The properties exposed to the LegendItem class do not apply to all renderer types. It is important to catch these exceptions when necessary.
Eigenschaften
Eigenschaft | Erläuterung | Datentyp |
arrangement (Lesen und schreiben) | A string that determines the legend item arrangement. The following is a valid list of values:
| String |
column (Lesen und schreiben) | The column position for a legend item. The column property only applies to legends using the ManualColumns fitting strategy. | Long |
name (Schreibgeschützt) | Returns the legend item name. The legend item name is set by modifying the layer name. | String |
patchHeight (Lesen und schreiben) | The height of a legend item patch. Units are in points. | Double |
patchWidth (Lesen und schreiben) | The width of a legend item patch. Units are in points. | Double |
showFeatureCount (Lesen und schreiben) | A Boolean that controls whether the feature count is placed next to the legend item text. The value displayed is dependent on the showVisibleFeatures setting. | Boolean |
showVisibleFeatures (Lesen und schreiben) | A Boolean that controls whether the legend item displays all values or only those values that appear in the visible extent. | Boolean |
type (Schreibgeschützt) | Returns a value of LEGEND_ITEM. | String |
visible (Lesen und schreiben) | Returns True if the legend item is visible in the legend. | Boolean |
Codebeispiel
The following script iterates through all legend items in a legend. Its sets the patchHeight and patchWidth for all legend items, then sets showVisibleFeatures for a specific legend item.
p = arcpy.mp.ArcGISProject('current')
lyt = p.listLayouts('Layout')[0]
leg = lyt.listElements('LEGEND_ELEMENT')[0]
#Change the patch size for all legend items
#only display features in the visible map frame extent
for itm in leg.items:
itm.patchHeight = 15
itm.patchWidth = 30
if itm.name == 'Geological Types':
itm.showVisibleFeatures = True