Class: Bar

Bar

柱状图 。

new SuperMap.Feature.Theme.Bar(data, layer, fields, setting, lonlat){SuperMap.Feature.Theme.Bar}

common/overlay/Bar.js, line 4

图表 Bar 配置对象 chartsSetting() 可设属性如下:
width - {number} 专题要素(图表)宽度,必设参数。
height - {number} 专题要素(图表)高度,必设参数。
codomain - {Array} 图表允许展示的数据值域,长度为 2 的一维数组,第一个元素表示值域下限,第二个元素表示值域上限,必设参数。
XOffset - {number} 专题要素(图表)在 X 方向上的偏移值,单位像素。
YOffset - {number} 专题要素(图表)在 Y 方向上的偏移值,单位像素。
dataViewBoxParameter - {Array} 数据视图框 dataViewBox 参数,它是指图表框 chartBox (由图表位置、图表宽度、图表高度构成的图表范围框) 在左、下,右,上四个方向上的内偏距值。当使用坐标轴时 dataViewBoxParameter 的默认值为:[45, 15, 15, 15]; 不使用坐标轴时 dataViewBoxParameter 的默认值为:[5, 5, 5, 5]。
decimalNumber - {number} 数据值数组 dataValues 元素值小数位数,数据的小数位处理参数,取值范围:[0, 16]。如果不设置此参数,在取数据值时不对数据做小数位处理。
useBackground - {boolean} 是否使用图表背景框,默认使用。
backgroundStyle - {Object} 背景样式,此样式对象对象可设属性:
backgroundRadius - {Array} 背景框矩形圆角半径,可以用数组分别指定四个角的圆角半径,设:左上、右上、右下、左下角的半径依次为 r1、r2、r3、r4 , 则 backgroundRadius 为 [r1、r2、r3、r4 ],默认值[0, 0, 0, 0]。
xShapeBlank - {Array} 水平方向上的图形空白间隔参数。长度为 3 的数组,第一元素表示第一个图形左端与数据视图框左端的空白间距,第二个元素表示图形间空白间距, 第三个元素表示最后一个图形右端与数据视图框右端端的空白间距 。
showShadow - {boolean} 阴影开关 默认是打开。
barShadowStyle - {Object} 阴影样式,如:{shadowBlur : 8, shadowOffsetX: 2 , shadowOffsetY : 2,shadowColor : "rgba(100,100,100,0.8)"}
barLinearGradient - {Array} 按字段设置柱条样式[渐变开始颜色,渐变终止颜色] 与 themeLayer.themeFields 中的字段一一对应), 如:[["#00FF00","#00CD00"],["#00CCFF","#5E87A2"],["#00FF66","#669985"],["#CCFF00","#94A25E"],["#FF9900","#A2945E"]]
useAxis - {boolean} 是否使用坐标轴,默认使用坐标轴。
axisStyle - {Object} 坐标轴样式,此样式对象对象可设属性:
axisUseArrow - {boolean} 坐标轴是否使用箭头,默认值:false,不使用箭头。
axisYTick - {number} y 轴刻度数量,默认值:0 ,不使用刻度。
axisYLabels - {Array} y 轴上的标签组内容,标签顺序沿着数据视图框左面条边自上而下,等距排布。例如:["1000", "750", "500", "250", "0"]。
axisYLabelsStyle - {Object} y 轴上的标签组样式,此样式对象对象可设属性:
axisYLabelsOffset - {Array} y 轴上的标签组偏移量。长度为 2 的数组,数组第一项表示 y 轴标签组横向上的偏移量,向左为正,默认值:0;数组第二项表示 y 轴标签组纵向上的偏移量,向下为正,默认值:0。
axisXLabels - {Array} x 轴上的标签组内容,标签顺序沿着数据视图框下面条边自左向右排布,例如:["92年", "95年", "99年"]。标签排布规则:当标签数量与 xShapeInfo 中的属性 xShapeCenter 数量相同(即标签个数与数据个数相等时), 按照 xShapeCenter 提供的位置排布标签,否则沿数据视图框下面条边等距排布标签。
axisXLabelsStyle - {Object} x 轴上的标签组样式,此样式对象对象可设属性:
axisXLabelsOffset - {Array} x 轴上的标签组偏移量。长度为 2 的数组,数组第一项表示 x 轴标签组横向上的偏移量,向左为正,默认值:0;数组第二项表示 x 轴标签组纵向上的偏移量,向下为正,默认值:0。
useXReferenceLine - {boolean) 是否使用水平参考线,如果为 true,在 axisYTick 大于 0 时有效,水平参考线是 y 轴刻度在数据视图框里的延伸。
xReferenceLineStyle - {Object) 水平参考线样式,此样式对象对象可设属性:
barStyle - {Object} 柱状图柱条基础 style,此参数控制柱条基础样式,优先级低于 barStyleByFields 和 barStyleByCodomain。此样式对象对象可设属性:
barStyleByFields - {Array} 按专题字段 themeFields()为柱条赋 style,此参数按字段控制柱条样式,优先级低于 barStyleByCodomain,高于 barStyle。此数组中的元素是样式对象,其可设属性: 。此参数中的 style 与 themeFields 中的字段一一对应 。例如: themeFields() 为 ["POP_1992", "POP_1995", "POP_1999"],barStyleByFields 为[style1, style2, style3],则在图表中,字段 POP_1992 对应的柱条使用 style1,字段 POP_1995 对应的柱条使用 style2 ,字段 POP_1999 对应的柱条使用 style3。
barStyleByCodomain - {Array} 按柱条代表的数据值所在值域范围控制柱条样式,优先级高于 barStyle 和 barStyleByFields。
barHoverStyle - {Object} 柱条 hover 状态时的样式,barHoverAble 为 true 时有效。
barHoverAble - {Object} 是否允许柱条使用 hover 状态,默认允许。同时设置 barHoverAble 和 barClickAble 为 false,可以直接屏蔽柱条对专题图层事件的响应。
barClickAble - {Object} 是否允许柱条被点击,默认允许。同时设置 barHoverAble 和 barClickAble 为 false,可以直接屏蔽柱条对专题图层事件的响应。

Name Type Description
data SuperMap.Feature.Vector

用户数据,必设参数。

layer SuperMap.Layer.Graph

此专题要素所在图层,必设参数。

fields Array.<string>

data 属性中的参与此图表生成的属性字段名称,必设参数。

setting Object

图表配置对象,必设参数。

lonlat SuperMap.LonLat

专题要素地理位置。默认为 data 指代的地理要素 Bounds 中心。

Returns:
Type Description
SuperMap.Feature.Theme.Bar 返回一个柱状图表对象。
Example
// barStyleByCodomain参数用法如下:
// barStyleByCodomain 的每个元素是个包含值域信息和与值域对应样式信息的对象,该对象(必须)有三个属性:
// start: 值域值下限(包含);
// end: 值域值上限(不包含);
// style: 数据可视化图形的 style,这个样式对象的可设属性:  。
// barStyleByCodomain 数组形如:
[
  {
    start:0,
    end:250,
    style:{
         fillColor:"#00CD00"
     }
 },
  {
    start:250,
    end:500,
    style:{
         fillColor:"#00EE00"
     }
 },
  {
    start:500,
    end:750,
    style:{
         fillColor:"#00FF7F"
     }
 },
  {
    start:750,
    end:1500,
    style:{
         fillColor:"#00FF00"
     }
 }
]

Extends

Members

chartBoundsSuperMap.Bounds

图表 Bounds 随着 lonlat、XOffset、YOffset 更新,注意 chartBounds 是图表像素范围,不是地理范围。

chartBoxArray.<number>

专题要素(图表)区域,即图表框,长度为 4 的一维数组,数组的 4 个元素依次表示图表框左端 x 坐标值、 下端 y坐标值、 右端 x坐标值、 上端 y 坐标值;[left, bottom, right, top]。

dataValuesArray.<number>

图表展示的数据值,通过 fields 从数据feature属性中获得。

dataViewBoxArray.<number>

数据视图框,长度为 4 的一维数组,[left, bottom, right, top]。 dataViewBox 是统计专题要素最核心的内容,它负责解释数据在一个像素区域里的数据可视化含义, 这种含义用可视化图形表达出来,这些表示数据的图形和一些辅助图形组合在一起构成统计专题图表。

DVBCenterPointArray.<number>

数据视图框中心点,长度为 2 的一维数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。

DVBCodomainArray.<number>

数据视图框的内允许展示的数据值域,长度为 2 的一维数组,第一个元素表示值域下限,第二个元素表示值域上限。 dataViewBox 中允许的数据范围,对数据溢出值域范围情况的处理需要在 assembleShapes 中进行。

DVBHeightnumber

数据视图框高度。

DVBOrigonPointArray.<number>

数据视图框原点,数据视图框左上角点,长度为 2 的一维数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。

DVBParameterArray.<number>

数据视图框参数,长度为 4 的一维数组(数组元素值 >= 0),[leftOffset, bottomOffset, rightOffset, topOffset],chartBox 内偏距值。 此属性用于指定数据视图框 dataViewBox 的范围。

DVBUnitValuestring

单位值。在 assembleShapes() 中初始化其具体意义,例如:饼图的 DVBUnitValue 可以定义为"360/数据总和", 折线图的 DVBUnitValue 可以定义为 "DVBCodomain/DVBHeight"。

DVBWidthnumber

数据视图框宽度。

fieldsArray.<string>

数据{SuperMap.Feature.Vector}属性字段。

heightnumber

专题要素(图表)高度 ,必设属性。

origonPointArray.<number>

专题要素(图表)原点,图表左上角点像素坐标,是长度为 2 的一维数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。

origonPointOffsetArray.<number>

数据视图框原点相对于图表框的原点偏移量,长度为 2 的一维数组,第一个元素表示 x 偏移量,第二个元素表示 y 偏移量。

RelativeCoordinatebool

图形是否已经计算了相对坐标。

settingObject

图表配置对象,该对象控制着图表的可视化显示。
下面是此配置对象的 7 个基础可设属性:
Symbolizer properties:
width - {number}专题要素(图表)宽度,必设参数。
height - {number}专题要素(图表)高度,必设参数。
codomain - {Array} 值域,长度为 2 的一维数组,第一个元素表示值域下限,第二个元素表示值域上限,必设参数。
XOffset - {number} 专题要素(图表)在 X 方向上的偏移值,单位像素。
YOffset - {number} 专题要素(图表)在 Y 方向上的偏移值,单位像素。
dataViewBoxParameter - {Array} 数据视图框 dataViewBox 参数,它是指图表框 chartBox (由图表位置、图表宽度、图表高度构成的图表范围框)在左、下,右,上四个方向上的内偏距值。
decimalNumber - {number}数据值数组 dataValues 元素值小数位数,数据的小数位处理参数,取值范围:[0, 16]。 如果不设置此参数,在取数据值时不对数据做小数位处理。
除了以上 7 个基础属性,此对象的可设属性在不同子类中有较大差异,不同子类中对同一属性的解释也可能不同。 请在此类的子类中查看 setting 对象的可设属性和属性含义。

shapeFactorySuperMap.Feature.ShapeFactory

内置的图形工厂对象,调用其 createShape 方法创建图形。

shapeParametersObject

当前图形参数对象, 的子类对象。

widthnumber

专题要素(图表)宽度 ,必设属性。

XOffsetnumber

专题要素(图表)在 X 方向上的偏移值,单位像素。

YOffsetnumber

专题要素(图表)在 Y 方向上的偏移值,单位像素。

Methods

assembleShapes()

common/overlay/Bar.js, line 104

图表图形装配函数。

calculateXShapeInfo(){Object}

common/overlay/Bar.js, line 243

计算 X 轴方向上的图形信息,此信息是一个对象,包含两个属性, 属性 xPositions 是一个一维数组,该数组元素表示图形在 x 轴方向上的像素坐标值, 如果图形在 x 方向上有一定宽度,通常取图形在 x 方向上的中心点为图形在 x 方向上的坐标值。 width 表示图形的宽度(特别注意:点的宽度始终为 0,而不是其直径)。 本函数中图形配置对象 setting 可设属性: xShapeBlank - {Array} 水平方向上的图形空白间隔参数。 长度为 3 的数组,第一元素表示第一个图形左端与数据视图框左端的空白间距,第二个元素表示图形间空白间距, 第三个元素表示最后一个图形右端与数据视图框右端端的空白间距 。

Returns:
Type Description
Object 如果计算失败,返回 null;如果计算成功,返回 X 轴方向上的图形信息,此信息是一个对象,包含以下两个属性: xPositions - {Array} 表示图形在 x 轴方向上的像素坐标值,如果图形在 x 方向上有一定宽度,通常取图形在 x 方向上的中心点为图形在 x 方向上的坐标值。 width - {number} 表示图形的宽度(特别注意:点的宽度始终为 0,而不是其直径)。

inherited destroy()

common/overlay/Graph.js, line 196

销毁专题要素。

inherited getLocalXY(lonlat)

common/overlay/Graph.js, line 452

地理坐标转为像素坐标。

Name Type Description
lonlat SuperMap.Lonlat

带转换的地理坐标。

Returns:
屏幕像素坐标。

inherited initBaseParameter(){Boolean}

common/overlay/Graph.js, line 226

初始化专题要素(图表)基础参数。在调用此方法前,此类的图表模型相关属性都是不可用的 ,此方法在 assembleShapes 函数中调用。
调用此函数关系到 setting 对象的以下属性。
width - {number} 专题要素(图表)宽度,必设参数。
height - {number} 专题要素(图表)高度,必设参数。
codomain - {Array} 值域,长度为 2 的一维数组,第一个元素表示值域下限,第二个元素表示值域上限,必设参数。
XOffset - {number} 专题要素(图表)在 X 方向上的偏移值,单位像素。
YOffset - {number} 专题要素(图表)在 Y 方向上的偏移值,单位像素。
dataViewBoxParameter - {Array} 数据视图框 dataViewBox 参数,它是指图表框 chartBox。
(由图表位置、图表宽度、图表高度构成的图表范围框)在左、下,右,上四个方向上的内偏距值。
decimalNumber - {number} 数据值数组 dataValues 元素值小数位数,数据的小数位处理参数,取值范围:[0, 16]。如果不设置此参数,在取数据值时不对数据做小数位处理。

Returns:
Type Description
Boolean 初始化参数是否成功。

resetLinearGradient()

common/overlay/Bar.js, line 304

图表的相对坐标存在的时候,重新计算渐变的颜色(目前用于二维柱状图 所以子类实现此方法)。

inherited resetLocation(lonlat){Array.<number>}

common/overlay/Graph.js, line 327

根据地理位置 lonlat 重置专题要素(图表)位置。

Name Type Description
lonlat SuperMap.LonLat

专题要素新的像素中心位置。

Returns:
Type Description
Array.<number>
  • 新专题要素像素参考位置。长度为 2 的数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。

inherited shapesConvertToRelativeCoordinate()

common/overlay/Graph.js, line 364

将(构成图表)图形的节点转为相对坐标表示,此函数必须且只能在 assembleShapes() 结束时调用。

Documentation generated by JSDoc 3.5.5 on Tue Nov 28 2017 00:04:36 GMT+0800 (中国标准时间)