LegendElement

描述

LegendElement 对象可用于对属性进行访问,这些属性可以在页面布局中进行定位和调整大小以及修改其标题。

讨论

LegendElementMapSurroundElement 非常相似。它与使用名为 mapFrame 属性的地图框相关联,但也具有名为 title 的属性。

Layout 对象上的 listElements 方法将返回页面布局元素对象的 Python 列表。要仅返回 MapsurroundElements 的列表,应对 element_type 参数使用 MAPSURROUND_ELEMENT 常量。还可以使用 wildcard 对基于元素 name 的搜索进行进一步优化。有必要确保每个页面布局元素均具有唯一的名称,因为这样可以使用 ArcPy 脚本轻松进行区分。

默认情况下,添加到地图的图层将被自动添加到图例。这样便可实现制作含空地图和图例的布局,但在向地图添加新图层时这些项目会动态更新。

elementPositionXelementPositionY 值取决于元素的锚点位置,该位置在格式选项卡上进行设置。添加图层时,如果倾向 LegendElement 向下延伸,则最好将锚点位置设置在左上角。

属性

属性说明数据类型
elementHeight
(可读写)

元素的高度(以页面单位计)。

Double
elementPositionX
(可读写)

元素的锚点位置的 x 位置。分配或报告的单位为页面单位。

Double
elementPositionY
(可读写)

元素的锚点位置的 y 位置。分配或报告的单位为页面单位。

Double
elementRotation
(可读写)

相对于锚点位置旋转元素。正值表示顺时针旋转,负值表示逆时针旋转。

Double
elementWidth
(可读写)

元素的宽度(以页面单位计)。

Double
mapFrame
(可读写)

对关联 MapFrame 的引用。

MapFrame
name
(可读写)

元素的名称。有必要确保所有元素均具有唯一名称,因为这样可以轻松对其进行引用。

String
showTitle
(可读写)

一个布尔值,用于控制标题是否显示在图例中。

Boolean
syncLayerOrder
(可读写)

一个布尔值,用于控制图例中的项目是否与地图中图层的顺序相同。

Boolean
syncLayerVisibility
(可读写)

一个布尔值,用于控制项目是否应自动出现在图例中(如果图例在地图中可见)。

Boolean
syncNewLayer
(可读写)

一个布尔值,用于控制当项目在添加到地图时是否应自动添加到图例中。

Boolean
syncReferenceScale
(可读写)

一个布尔值,用于控制图例中的符号是否与地图中符号的比例相匹配(如果设置了参考比例)。

Boolean
title
(可读写)

表示图例标题的文本字符串。

String
type
(只读)

返回 LEGEND_ELEMENT 的值。

String
visible
(可读写)

如果元素在布局上可见,则返回 True。进行打印或导出前,您可以切换元素的可见性,而不必从页面移除不需要的对象。

Boolean

代码示例

LegendElement 示例

以下脚本将图层添加到包括 Legend 已插入图例元素的地图。图层将自动添加到图例中且将更新其标题。

import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Projects\YosemiteNP\Yosemite.aprx")
lyr1 = arcpy.mp.LayerFile(r"C:\Projects\Yosemite\LYRs\Trails.lyrx")
lyr2 = arcpy.mp.LayerFile(r"C:\Projects\Yosemite\LYRs\PointsOfInterest.lyrx")
m = aprx.listMaps("Yose*")[0]
m.addLayer(lyr1, "TOP")
m.addLayer(lyr2, "TOP")
lyt = aprx.listLayouts("Main Attrations")[0]
legend = lyt.listElements("LEGEND_ELEMENT", "Legend")[0]
legend.title = "Yosemite National Park"
aprx.save()
del aprx