PieChartRenderer

AMD: require(["geoscene/renderers/PieChartRenderer"], (PieChartRenderer) => { /* code goes here */ });
ESM: import PieChartRenderer from "@geoscene/core/renderers/PieChartRenderer";
类: geoscene/renderers/PieChartRenderer
继承于:PieChartRenderer Renderer Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.24

PieChartRenderer 允许您为图层中的每个要素创建饼图。每个饼图切片的值和颜色在 attributes 属性中指定。您可以使用 visualVariables 根据任何其他字段值或 Arcade 表达式的数据改变每个饼图的大小。

饼图渲染器

已知限制

示例
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"
  }]
};

构造函数

new PieChartRenderer(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
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

属性详细信息

定义要包含在饼图中的变量。这是一个对象数组,每个对象都引用用于驱动每个扇区宽度的数值字段值或 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]
  }
};
declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 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

一个对象,提供用于在图例中描述渲染器的选项。

属性
title String
optional

描述渲染器使用的数据。这在图例中显示为渲染器的标题,并覆盖图层的标题。

示例
renderer.legendOptions = {
  title: "Population by educational attainment"
};
othersCategory Object

定义如何将小类别聚合为通用“其他”类别的规则。

属性
color Color
optional

定义用于表示饼图切片小于 threshold 所定义的百分比的所有类别的颜色。这通常用于表示通用的“其他”类别,这些类别的切片太小而无法读取。

label String
optional

描述图例中小于 thresholdcolor 分组类别。

threshold Number
optional

表示单个切片的最小大小(占整个饼图的百分比)。接受的值介于 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
};

定义饼图的轮廓。轮廓宽度和颜色应用于饼图的外部轮廓(如果是圆环图,则应用于内部轮廓)。

示例
renderer.outline = {
  width: 0.5,
  color: "black"
};
自动转换自 String|Number

定义每个饼图的大小,以磅为单位。此值可以是自动转换的,其字符串以磅或像素表示大小 (例如 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
自动转换自 Object[]

大小视觉变量对象的数组。通常,这用于根据饼图中包含的所有类别的总和来改变每个饼图的大小。

示例
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() 进行删除。如果未提供键,则句柄将被添加到默认组。

创建 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 Object

GeoScene 格式实例的 JSON 表示。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档

返回
类型 描述
* 返回该类的新实例。
hasHandles(groupKey){Boolean}inherited
起始版本: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");
toJSON(){Object}inherited

将此类的实例转换为 GeoScene Portal JSON 表示。有关详细信息,请参阅使用 fromJSON() 指南主题。

返回
类型 描述
Object 此类实例的 GeoScene Portal JSON 表示。

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息