PieChartRenderer 允许您为图层中的每个要素创建饼图。每个饼图切片的值和颜色在 attributes 属性中指定。您可以使用 visualVariables 根据任何其他字段值或 Arcade 表达式的数据改变每个饼图的大小。
已知限制
- PieChartRenderer 仅在 2D MapView 中受支持
- PieChartRenderer 仅支持以下包含点或多边形几何的图层类型:FeatureLayer、CSVLayer、GeoJSONLayer、WFSLayer 和 OGCFeatureLayer
- PieChartRenderer 不支持 FeatureReductionCluster
layer.renderer = {
type: "pie-chart", // autocasts as new PieChartRenderer()
attributes: [{
field: "ELEMENTARY_SCHOOL",
label: "Elementary School",
color: "red"
}, {
field: "MIDDLE_SCHOOL",
label: "Middle School",
color: "blue"
}, {
field: "HIGH_SCHOOL",
label: "High School",
color: "orange"
}, {
valueExpression: "$feature.ASSOCIATES_DEGREE + $feature.BACHELOR_DEGREE + $feature.MASTER_DEGREE + $feature.DOCTORATE_DEGREE",
valueExpressionTitle: "People who completed university",
label: "University"
color: "green"
}]
};
构造函数
属性概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
AttributeColorInfo[] | 定义要包含在饼图中的变量。 更多详情 | PieChartRenderer | |
AuthoringInfo | 创作元数据仅包含在从智能制图创建器方法之一生成的渲染器中,例如 sizeRendererCreator.createContinuousRenderer() 或 colorRendererCreator.createContinuousRenderer()。 更多详情 | 渲染器 | |
SimpleFillSymbol | 用于在饼图符号后面渲染面的符号。 更多详情 | PieChartRenderer | |
String | 类的名称。 更多详情 | Accessor | |
Color | 用于可视化其属性均具有 null 值或空值要素的颜色。 更多详情 | PieChartRenderer | |
String | 描述图例中的 defaultColor。 更多详情 | PieChartRenderer | |
Number | 使用此属性创建圆环图。 更多详情 | PieChartRenderer | |
Object | 一个对象,提供用于在图例中描述渲染器的选项。 更多详情 | PieChartRenderer | |
Object | 定义如何将小类别聚合为通用“其他”类别的规则。 更多详情 | PieChartRenderer | |
SimpleLineSymbol | 定义饼图的轮廓。 更多详情 | PieChartRenderer | |
Number | 定义每个饼图的大小,以磅为单位。 更多详情 | PieChartRenderer | |
String | 渲染器的类型。 更多详情 | PieChartRenderer | |
SizeVariable[] | 大小视觉变量对象的数组。 更多详情 | PieChartRenderer |
属性详细信息
-
attributes AttributeColorInfo[]autocast
-
定义要包含在饼图中的变量。这是一个对象数组,每个对象都引用用于驱动每个扇区宽度的数值字段值或 Arcade 表达式 表达式。还必须设置与每个值相对应的颜色。
此属性限制为不超过 10 个属性。
- 另请参阅
示例renderer.attributes = [{ field: "English", label: "English speakers", color: "red" }, { field: "Spanish", label: "Spanish speakers", color: "blue" }, { field: "其他", label: "All other languages", color: "brown" }];
-
-
创作元数据仅包含在从智能制图创建器方法之一生成的渲染器中,例如 sizeRendererCreator.createContinuousRenderer() 或 colorRendererCreator.createContinuousRenderer()。这包括来自 UI 元素的信息,例如滑块和选定的分类方法和主题。这允许用户客户端保存特定的可覆盖设置,以便下次通过 UI 访问时,可以记住它们的选择。
-
backgroundFillSymbol SimpleFillSymbolautocast
-
用于在饼图符号后面渲染面的符号。仅适用于多边形图层。
示例renderer.backgroundFillSymbol = { color: [51, 204, 51, 0.3], outline: { width: 1, color: [255,255,255,0.3] } };
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
defaultColor Color
-
用于可视化其属性均具有 null 值或空值要素的颜色。默认情况下,这是一种透明颜色,因此不会显示图表。如果要显示具有要素但没有关联数据的区域,则应设置此值。
- Default Value:new Color([0, 0, 0, 0])
- 另请参阅
示例renderer.defaultColor = "lightgray";
-
defaultLabel String
-
描述图例中的 defaultColor。
示例renderer.defaultLabel = "No data";
-
holePercentage Number
-
使用此属性创建圆环图。将要从图表中心切割的孔的大小定义为整个饼图的百分比。接受的值介于 0 和 1 之间。例如,孔百分比为
0
将呈现完整的饼图。如果比例为0.5
,将移除饼图中心的 50%,从而形成一个圆环。- 默认值:0
示例renderer.holePercentage = 0.5;
-
legendOptions Object
-
一个对象,提供用于在图例中描述渲染器的选项。
示例renderer.legendOptions = { title: "Population by educational attainment" };
-
othersCategory Object
-
定义如何将小类别聚合为通用“其他”类别的规则。
- 属性
-
color Color
定义用于表示饼图切片小于
threshold
所定义的百分比的所有类别的颜色。这通常用于表示通用的“其他”类别,这些类别的切片太小而无法读取。label String描述图例中小于
threshold
的color
分组类别。threshold Number表示单个切片的最小大小(占整个饼图的百分比)。接受的值介于 0 和 1 之间。占比小于
threshold
百分比的所有切片将自动聚合到由color
中指定的颜色所表示的“其他”类别。例如,如果threshold
为 0.05,则占总饼图 5% 以下的所有切片都将使用color
表示。
示例// all categories that make up less than 4% // of the total will combine to an "others" // category represented with a gray color. renderer.othersCategory = { color: "gray", threshold: 0.04 };
-
outline SimpleLineSymbolautocast
-
定义饼图的轮廓。轮廓宽度和颜色应用于饼图的外部轮廓(如果是圆环图,则应用于内部轮廓)。
示例renderer.outline = { width: 0.5, color: "black" };
-
定义每个饼图的大小,以磅为单位。此值可以是自动转换的,其字符串以磅或像素表示大小 (例如 12px)。
- 默认值:12
示例// size in points renderer.size = 14;
// size in pixels renderer.size = "20px";
// size in points renderer.size = "14pt";
-
type Stringreadonly
-
渲染器的类型。
对于 PieChartRenderer,类型总是 "pie-chart"。
-
visualVariables SizeVariable[]autocast
-
大小视觉变量对象的数组。通常,这用于根据饼图中包含的所有类别的总和来改变每个饼图的大小。
示例renderer.visualVariables = [{ type: "size", valueExpression: "$feature.category1 + $feature.category2 + $feature.category3", valueExpressionTitle: "Total population" minSize: 20, maxSize: 72, minDataValue: 100, maxDataValue: 1000000 }];
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象的生命周期相关联的句柄。 更多详情 | Accessor | ||
PieChartRenderer | 创建 renderer 的深度克隆。 更多详情 | PieChartRenderer | |
* | 创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。 更多详情 | 渲染器 | |
Boolean | 如果存在指定的句柄组,则返回 true。 更多详情 | Accessor | |
移除对象拥有的句柄组。 更多详情 | Accessor | ||
Object | 将此类的实例转换为 GeoScene Portal JSON 表示。 更多详情 | 渲染器 |
方法详细说明
-
addHandles(handleOrHandles, groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); // Handle gets removed when the object is destroyed. this.addHandles(handle);
参数handleOrHandles WatchHandle|WatchHandle[]对象销毁后,标记为要移除的句柄。
groupKey *optional标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
clone(){PieChartRenderer}
-
创建 renderer 的深度克隆。
返回类型 描述 PieChartRenderer 调用此方法的对象的深度克隆。 示例// Creates a deep clone of the first layer's renderer let renderer = view.map.layers.getItemAt(0).renderer.clone();
-
fromJSON(json){*}static
-
创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。传入到输入
json
参数的对象通常来自对 REST API 中查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。有关何时以及如何使用该函数的详细信息和示例,请参阅指南中的使用 fromJSON() 主题。参数json ObjectGeoScene 格式实例的 JSON 表示。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档。
返回类型 描述 * 返回该类的新实例。
-
起始版本:GeoScene Maps SDK for JavaScript 4.25
-
如果存在指定的句柄组,则返回 true。
参数groupKey *optional组键。
返回类型 描述 Boolean 如果存在指定的句柄组,则返回 true
。示例// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
removeHandles(groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
移除对象拥有的句柄组。
参数groupKey *optional要移除的组键或组键的数组或集合。
示例obj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
将此类的实例转换为 GeoScene Portal JSON 表示。有关详细信息,请参阅使用 fromJSON() 指南主题。
返回类型 描述 Object 此类实例的 GeoScene Portal JSON 表示。