var
ds: CMapxDataset;
lyr: CMapXLayer;
thm: CMapXTheme;
AllOthers: CMapXRangeCategory;
styl: CMapXStyle;
begin
lyr := Map1.Layers.Add('states.tab', 1);
ds := Map1.Datasets.Add(miDataSetLayer,
Map1.Layers.Item('STATES'), EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam);
ds.Themes.Add( miThemeRanged, 'POP_1990', 'My Theme',
false);
thm := ds.Themes.Item('My Theme');
thm.DataMin := 10000000;
thm.DataMax := 30000000;
thm.Visible := true;
styl := Map1.DefaultStyle;
styl.PickRegion;
AllOthers := thm.ThemeProperties.RangeCategories.
AllOthersCategory;
AllOthers.Style := styl;
end;
自己总结的MapX 专题图的详细解释,发给大家做参考
1.范围值专题图:
属性名称 | 属性类型 | 属性含义 | 备注 |
AllowEmptyRanges | Boolean | 决定是否允许范围个数为空,默认为False,不允许为空 | 如果DistMethod属性设为 miCustomRanges则忽略这个属性的设置而允许为范围个数空。 |
ApplyAttribute | miApplyAttributeAll = 0 miApplyAttributeColor = 1 miApplyAttributeSize = 2 | 应用于范围和独立值专题图将颜色和大小应用于专题图。默认的是 miApplyAttributeAll | miApplyAttributeAll(都应用) miApplyAttributeColor(只应用颜色) miApplyAttributeSize (只应用大小) |
ColorMethod | miColorMethodRGB = 0 miColorMethodHSV = 1 | 指定颜色渐变的方式是以RGB还是以HSV颜色模型,默认的是: miColorMethodRGB | 只有当属性 SpreadBy=miSpreadByColor时有效 |
NumRanges | Int | 指定范围专题图范围划分的个数,默认的的个数是5 |
|
DistMethod | miCustomRanges= 0 miEqualCountPerRange= 1 miEqualRangeSize= 2 miNaturalBreak = 3 miStandardDeviation = 4 | 指定划分范围的数学方法,其中miCustomRanges划分方法,将要用RangeCategories集合属性定义自己的范围。MapX不会自己计算范围 | miCustomRanges(自定范围) miEqualCountPerRange(等个数划分) miEqualRangeSize(等数量划分) miNaturalBreak miStandardDeviation |
RoundRanges | Boolean | 决定是否将范围的边界值整数化 默认值为true |
|
RoundBy | double | 范围的边界值整数化要整数化的位数
| 只有当RoundRanges=true时有效 例:原:420-560 and 560-930 RoundBy:100 变为400-600 and 600-900 |
SpreadBy | miSpreadByColor = 1 miSpreadByNone= 0 miSpreadBySize = 2 | 指定范围专题图起始值和终止值的计算方式 | 如果你为范围专题图的每个范围都指定了样式(比如说颜色),则必须将 SpreadBy指定为miSpreadByNone |
InflectRanges | Boolean | 是否允许专题图有范围转折点。 在一个范围专题图中范围转折点允许范围专题图将数据分两个部分,当InflectRanges=true时,范围专题中的颜色将会从起始点变化到拐点,在由拐点转化到终止点。默认点为False |
|
FlectionRange | Double | 传入那个范围将作为范围拐点,默认设为第二个范围作为拐点。 | 当InflectRanges=true时有效 |
nflectionColor | OLE_COLOR | 范围拐点的颜色 默认的设置为miColorWhite | 当InflectRanges=true时有效 |
RangeCategories |
| 返回RangeCategories集合对象 | 详见RangeCategories集合介绍 |
2.柱状专题图:
属性名称 | 属性类型 | 属性含义 | 备注 |
BarFramed | Boolean | 决定bar是否画背景 |
|
BarFrameStyle | CMapXStyle | 决定bar背景的样式 |
|
BarStacked | Boolean | 决定柱状图的Bar是左右排列还是上下排列。False为左右排列。默认为False。 |
|
BarGraduatedStack | Boolean | 柱状图在上下排列时大小是否随着总数的大小而改变。即是否等级化。默认为ture | 只有当BarStacked=true时有效。 |
BarIndependentScale | Boolean | 柱状图独立比例,若属性为ture则每个Bar的高度与其他字段无关,适于作一些多值,每个值之间毫不相关的专题图。默认为False |
|
Independent | Boolean | 和BarIndependentScale意义相同,为了向前兼容所以保留 |
|
BarWidth | Double | 每个Bar的宽度,默认的是0.25英寸 | 单位在Map.Unit中改 |
Width | Double | 每个Bar的宽度,默认的是0.25英寸 | 单位在Map.Unit中改 (两个一样的属性?) |
BorderStyle | CMapXStyle | 柱状专题图的边界样式 |
|
DataValue | Double | 与Size一起使用当专题图元以等级符号显示时,确定柱状图的大小。默认的是所有图元的最大值。 |
|
Size` | Double | 与Size一起使用当专题图元以等级符号显示时,确定柱状图的大小。默认的是0.25英寸。 | 可以用Map.PaperUnit修改长度的单位。 |
GraduateSizeBy | miGraduateBySquareRoot = 0 miGraduateByConstant = 1 miGraduateByLogarithm = 2 | 控制数值和符号大小之间的关系 | miGraduateBySquareRoot(平方根) miGraduateByConstant(常量) miGraduateByLogarithm(对数) |
MultivarCategories |
|
|
|
3.等级符号专题图
属性名称 | 属性类型 | 属性含义 | 备注 |
GraduateSizeBy | miGraduateBySquareRoot = 0 miGraduateByConstant = 1 miGraduateByLogarithm = 2 | 控制数值和符号大小之间的关系 | miGraduateBySquareRoot(平方根) miGraduateByConstant(常量) miGraduateByLogarithm(对数) |
ShowNegativeValues | Boolean | 控制是否显示反方向的等级符号 |
|
NegativeSymbolStyle | CMapXStyle | 控制反方向的等级符号的样式 |
|
PositiveSymbolStyle | CMapXStyle | 控制正方向的等级符号的样式 |
|
SymbolStyle | CMapXStyle | 同PositiveSymbolStyle,仅做向前兼容用 |
|
DataValue | Double | 与Size一起使用当专题图元以等级符号显示时,确定柱状图的大小。默认的是所有图元的最大值。 |
|
4.饼状专题图
属性名称 | 属性类型 | 属性含义 | 备注 |
PieGraduated | Boolean | 饼状专题图的图元是否等级化 默认值为True |
|
Graduated. | Boolean | 同PieGraduated,仅做向前兼容用 |
|
PieClockwise | Boolean | 开始绘制的方向 默认值为True,为顺时针方向 |
|
PieHalfPies | Boolean | 控制显示是否为半饼图 默认值为True |
|
PieStartAngle | Integer | 控制第一块饼的起始方向 单位为度数。 |
|
DataValue | Double | 与Size一起使用当专题图元以等级符号显示时,确定柱状图的大小。默认的是所有图元的最大值。 |
|
GraduateSizeBy | miGraduateBySquareRoot = 0 miGraduateByConstant = 1 miGraduateByLogarithm = 2 | 控制数值和符号大小之间的关系 | miGraduateBySquareRoot(平方根) miGraduateByConstant(常量) miGraduateByLogarithm(对数) |
Size` | Double | 与Size一起使用当专题图元以等级符号显示时,确定柱状图的大小。默认的是0.25英寸。 | 可以用Map.PaperUnit修改长度的单位。 |
BorderStyle | CMapXStyle | 柱状专题图的边界样式 |
|
MultivarCategories |
|
|
|
5.点密度专题图
属性名称 | 属性类型 | 属性含义 | 备注 |
DotColor | OLE_COLOR | 点的颜色值 |
|
DotSize | miDotSizeSmall= 0 miDotSizeLarge= 1 | 点的大小 |
|
ValuePerDot | double | 一个点所代表的数值 |
|
6.独立值专题图
属性名称 | 属性类型 | 属性含义 | 备注 |
IndividualValueCategories |
| 返回IndividualValueCategories集合对象 | 详见IndividualValueCategories集合介绍 |
ApplyAttribute | miApplyAttributeAll = 0 miApplyAttributeColor = 1 miApplyAttributeSize = 2 | 应用于范围和独立值专题图将颜色和大小应用于专题图。默认的是 miApplyAttributeAll | miApplyAttributeAll(都应用) miApplyAttributeColor(只应用颜色) miApplyAttributeSize (只应用大小) |
附录1
RangeCategories集合对象:
属性名称 | 属性类型 | 属性含义 | 备注 |
AllOthersCategory |
|
|
|
Count |
| RangeCategories集合中RangeCategory对象个数 |
|
item |
| 返回RangeCategory对象 |
|
RangeCategorie 对象:
属性名称 | 属性类型 | 属性含义 | 备注 |
Max | Double | 这个范围的最大值。初始值在专题图创建时建立,并依赖于ThemeProperties.DistMethod 方法 |
|
Min | Double | 这个范围的最小值。初始值在专题图创建时建立,并依赖于ThemeProperties.DistMethod 方法 |
2.如果DistMethod被设置成miCustomRanges,你将自己设置最小值 |
NumItems | int | 在这个范围之间的专题图元的个数 |
|
Style | CMapXStyle | 每个范围的样式 |
|
IndividualValueCategories集合对象
属性名称 | 属性类型 | 属性含义 | 备注 |
AllOthersCategory |
|
|
|
Count |
| IndividualValueCategories集合中IndividualValueCategories对象个数 |
|
item |
| 返回IndividualValueCategories对象 |
|
IndividualValueCategory对象
属性名称 | 属性类型 | 属性含义 | 备注 |
Value | Double | 设置独立值的值 | 仅当Theme.ComputeTheme为Fasle时可设置 |
NumItems | int | 在这个范围之间的专题图元的个数 |
|
Style | CMapXStyle | 每个独立值的样式 |
|
附录2:
几个对象共有的属性:
属性名称 | 属性类型 | 属性含义 | 在哪几个专题图中共有 |
ApplyAttribute | miApplyAttributeAll = 0 miApplyAttributeColor = 1 miApplyAttributeSize = 2 | 决定是否允许范围个数为空,默认为False,不允许为空 | 范围专题图,独立值专题图 |
DataValue | Double | 与Size一起使用当专题图元以等级符号显示时,确定柱状图的大小。默认的是所有图元的最大值。 | 等级符号专题图,饼状专题图,柱状专题图。 |
GraduateSizeBy | miGraduateBySquareRoot = 0 miGraduateByConstant = 1 miGraduateByLogarithm = 2 | 控制数值和符号大小之间的关系 | 等级符号专题图,饼状专题图,柱状专题图 |
Size` | Double | 与Size一起使用当专题图元以等级符号显示时,确定柱状图的大小。默认的是0.25英寸。 | 饼状专题图,柱状专题图。 |
BorderStyle | CMapXStyle | 柱状和饼状专题图的边界样式 | 饼状专题图,柱状专题图。 |
MultivarCategories |
|
| 饼状专题图,柱状专题图。 |
作者:乔乔
时间:2003-6-2