Class: ThemeGraph

ThemeGraph

统计专题图类。统计专题图是通过为每个要素或记录绘制统计图来反映其对应的专题变量值的大小。 统计专题图可以基于多个变量,反映多种属性,即可以将多个变量的值绘制在一个统计图上。通过统计专题图可以在区域本身与各区域之间形成横向和纵向的对比。 多用于具有相关数量特征的地图上,比如表示不同地区多年的粮食产量、GDP、人口等,不同时段客运量、地铁流量等。

new ThemeGraph(options)

Usage
import { ThemeGraph } from '@supermapgis/iclient-leaflet';

new ThemeGraph(options);
<script type="text/javascript" src="https://iclient.supermap.io/dist/leaflet/iclient-leaflet.js"></script>
<script>
  new L.supermap.ThemeGraph({paramsNames});
  // 弃用的写法
  new SuperMap.ThemeGraph(options);
</script>
common/iServer/ThemeGraph.js, line 14
Name Type Description
options Object

参数。

Name Type Default Description
items Array.<ThemeGraphItem>

统计专题图子项集合。

barWidth number 0 可选

柱状专题图中每一个柱的宽度。

graduatedMode GraduatedMode GraduatedMode.CONSTANT 可选

统计图中地理要素的值与图表尺寸间的映射关系。

graphAxes ThemeGraphAxes 可选

统计图中坐标轴样式相关信息。

graphSize ThemeGraphSize 0 可选

统计符号的最大最小尺寸。

graphSizeFixed boolean false 可选

缩放地图时统计图符号是否固定大小。

graphText ThemeGraphText 可选

统计图上的文字标注是否可见以及文字标注风格。

graphAxesTextDisplayMode GraphAxesTextDisplayMode GraphAxesTextDisplayMode.NONE 可选

统计专题图坐标轴文本显示模式。

graphType ThemeGraphType ThemeGraphType.AREA 可选

统计专题图类型。

memoryKeys Array.<number> 可选

以内存数组方式制作专题图时的键数组。

negativeDisplayed boolean false 可选

专题图中是否显示属性为负值的数据。

offset ThemeOffset 可选

统计图相对于要素内点的偏移量。

overlapAvoided boolean true 可选

统计图是否采用避让方式显示。

roseAngle number 0 可选

统计图中玫瑰图或三维玫瑰图用于等分的角度。

startAngle number 0 可选

饼状统计图扇形的起始角度。

API Relations

Returned by: ThemeGraph.fromObj.

Extends

ThemeGraph -> CommonTheme

Members

barWidthnumber

柱状专题图中每一个柱的宽度。使用地图坐标单位。 只有选择的统计图类型为柱状图(柱状图、三维柱状图、堆叠柱状图、三维堆叠柱状图)时,此项才可设置。

graduatedModeGraduatedMode

统计图中地理要素的值与图表尺寸间的映射关系(常数、对数、平方根),即分级方式。 分级主要是为了减少制作统计专题图中数据大小之间的差异,使得统计图的视觉效果比较好,同时不同类别之间的比较也还是有意义的。 提供三种分级模式:常数、对数和平方根,对于有值为负数的字段,不可以采用对数和平方根的分级方式。不同的等级方式用于确定符号大小的数值是不相同的。

Default Value:
GraduatedMode.CONSTANT

graphAxesThemeGraphAxes

用于设置统计图中坐标轴样式相关信息,如坐标轴颜色、是否显示、坐标文本样式等。

graphAxesTextDisplayModeGraphAxesTextDisplayMode

统计专题图坐标轴文本显示模式。

Default Value:
GraphAxesTextDisplayMode.NONE

graphSizeThemeGraphSize

用于设置统计符号的最大最小尺寸。

graphSizeFixedboolean

缩放地图时统计图符号是否固定大小。即统计图符号将随地图缩放。

graphTextThemeGraphText

统计图上的文字标注是否可见以及文字标注风格。

graphTypeThemeGraphType

统计专题图类型。SuperMap 提供了多种类型的统计图, 分别为面积图、阶梯图、折线图、点状图、柱状图、三维柱状图、饼图、三维饼图、玫瑰图、三维玫瑰图、堆叠柱状图、三维堆叠柱状图、环状图。默认为面积图。

Default Value:
ThemeGraphType.AREA

itemsArray.<ThemeGraphItem>

统计专题图子项集合。 统计专题图可以基于多个变量,反映多种属性,即可以将多个专题变量的值绘制在一个统计图上。每一个专题变量对应的统计图即为一个专题图子项。 对于每个专题图子项可以为其设置标题、风格,甚至可以将该子项再制作成范围分段专题图。

memoryDataThemeMemoryData

专题图内存数据。
用内存数据制作专题图的方式与表达式制作专题图的方式互斥,前者优先级较高。 第一个参数代表专题值,即数据集中用来做专题图的字段或表达式的值;第二个参数代表外部值。在制作专题图时,会用外部值代替专题值来制作相应的专题图。

memoryKeysArray.<number>

以内存数组方式制作专题图时的键数组。 键数组内的数值代表 SmID 值,它与 ThemeGraphItem 类中的值数组(ThemeGraphItem#memoryDoubleValues)要关联起来应用。 键数组中数值的个数必须要与值数组的数值个数一致。值数组中的值将代替原来的专题值来制作统计专题图。 目前所有的专题图都支持以内存数组的方式制作专题图,但统计专题图与其他专题图指定内存数组的方式不同, 统计专题图使用 memoryKeys 指定内存数组,而其他专题图则使用 memoryData 来指定内存数组。

Example
memoryKeys 的使用方法如下:
 function addThemeGraph() {
     removeTheme();
      //创建统计专题图对象,ThemeGraph 必设 items。
      //专题图参数 ThemeParameters 必设 theme(即以设置好的分段专题图对象)、dataSourceName 和 datasetName
     var style1 = new ServerStyle({
                  fillForeColor: new ServerColor(92,73,234),
                  lineWidth: 0.1
              }),
              style2 = new ServerStyle({
                  fillForeColor: new ServerColor(211,111,240),
                  lineWidth: 0.1
              }),
              item1 = new ThemeGraphItem({
                  memoryDoubleValues:[1.18,0.95,0.37,1.31,0.8,1.5],
                 caption: "1992-1995人口增长率",
                 graphExpression: "Pop_Rate95",
                  uniformStyle: style1
              }),
              item2 = new ThemeGraphItem({
              //以内存数组方式制作专题图时的值数组
                  memoryDoubleValues:[2.71,0,0.74,3.1,2.2,3.5],
                  caption: "1995-1999人口增长率",  //专题图子项的名称
                  graphExpression: "Pop_Rate99",  //统计专题图的专题变量
                  uniformStyle: style2      //统计专题图子项的显示风格
              }),
              themeGraph  = new ThemeGraph({
              //以内存数组方式制作专题图时的键数组,键数组内的数值代表 SmID 值
                   memoryKeys:[1,2,4,8,10,12],
                  items: new Array(item1,item2),
                  barWidth: 0.03,
                   //统计图中地理要素的值与图表尺寸间的映射关系为平方根
                  graduatedMode: GraduatedMode.SQUAREROOT,
                  //graphAxes用于设置统计图中坐标轴样式相关信息
                  graphAxes: new ThemeGraphAxes({
                      axesDisplayed: true
                  }),
                  graphSize: new ThemeGraphSize({
                      maxGraphSize: 1,
                      minGraphSize: 0.35
                  }),
                  //统计图上的文字是否可见以及文字标注风格
                  graphText: new ThemeGraphText({
                      graphTextDisplayed: true,
                      graphTextFormat: ThemeGraphTextFormat.VALUE,
                      graphTextStyle: new ServerTextStyle({
                          sizeFixed: true,
                          fontHeight: 9,
                          fontWidth: 5
                      })
                  }),
                  //统计专题图类型为三维柱状图
                  graphType: ThemeGraphType.BAR3D
              }),
                  //专题图参数对象
              themeParameters = new ThemeParameters({
                  themes: [themeGraph],
                  dataSourceNames: ["Jingjin"],
                  datasetNames: ["BaseMap_R"]
              }),
                  //与服务端交互
              themeService=new ThemeService(url);
      themeService.processAsync(themeParameters, ThemeCompleted);
  }

negativeDisplayedboolean

专题图中是否显示属性为负值的数据。true 表示显示;false 不显示。

offsetThemeOffset

用于设置统计图相对于要素内点的偏移量。

overlapAvoidedboolean

统计图是否采用避让方式显示。
1.对数据集制作统计专题图:当统计图采用避让方式显示时,如果 overlapAvoided 为 true,则在统计图重叠度很大的情况下, 会出现无法完全避免统计图重叠的现象;如果 overlapAvoided 为 false,会过滤掉一些统计图,从而保证所有的统计图均不重叠。
2.对数据集同时制作统计专题图和标签专题图:当统计图不显示子项文本时,标签专题图的标签即使和统计图重叠,两者也都可正常显示; 当统计图显示子项文本时,如果统计图中的子项文本和标签专题图中的标签不重叠,则两者均正常显示;如果重叠,则会过滤掉统计图的子项文本,只显示标签。

roseAnglenumber

统计图中玫瑰图或三维玫瑰图用于等分的角度,默认为 0 度,精确到 0.1 度。在角度为0或者大于 360 度的情况下均使用 360 度来等分制作统计图的字段数。

startAnglenumber

饼状统计图扇形的起始角度。精确到 0.1 度,以水平方向为正向。只有选择的统计图类型为饼状图(饼图、三维饼图、玫瑰图、三维玫瑰图)时,此项才可设置。

typestring

专题图类型。

Methods

static fromObj(obj){ThemeGraph}

common/iServer/ThemeGraph.js, line 314

从传入对象获取统计专题图类。

Name Type Description
obj Object

传入对象。

Returns:
Type Description
ThemeGraph ThemeGraph 对象。

inherited destroy()

common/iServer/ThemeGraph.js, line 221

释放资源,将引用资源的属性置空。

toJSON(){string}

common/iServer/ThemeGraph.js, line 262

将 ThemeGraph 对象转化为 JSON 字符串。

Returns:
Type Description
string 返回转换后的 JSON 字符串。

toServerJSONObject(){Object}

common/iServer/ThemeGraph.js, line 271

转换成对应的 JSON 格式对象。

Returns:
Type Description
Object 对应的 JSON 格式对象。