正在读取数据,请稍侯  
正在读取数据,请稍侯
时 间 记 忆
正在读取数据,请稍侯
最 新 评 论
正在读取数据,请稍侯
专 题 分 类
正在读取数据,请稍侯
最 新 日 志
正在读取数据,请稍侯
最 新 留 言
正在读取数据,请稍侯
搜 索
用 户 登 录
正在读取数据,请稍侯
友 情 连 接
博 客 信 息
正在读取数据,请稍侯


 
C#中创建统计专题图 
[ 2007-4-4 12:55:00 | By: 乖猫 ]
 
使用C#创建统计专题图,下面的程序是自己编写的,大家可以借鉴一下,呵呵!
//定义
soThemeGraph _objGraph=null;
//创建统计专题图
soLayers objLys=null;
soLayer objLy=null;
bool bresult=false;
soStyle objStyle1=new soStyleClass();
soStyle objStyle2=new soStyleClass();
objLys=axSuperMap1.Layers;
objLy=objLys[1];
//给专题图对象赋值,_objGraph为全局变量
_objGraph=objLy.ThemeGraph;
 
//设置两个风格,分别赋给用来统计的两个字段 
objStyle1.BrushBackTransparent = false;
objStyle1.BrushColor =(uint)ColorTranslator.ToOle(Color.FromArgb(136, 255, 100));
objStyle1.BrushBackColor = (uint)ColorTranslator.ToOle(Color.FromArgb(255, 255, 255));
objStyle1.BrushGradientMode = seBrushGradientMode.scbGradientLinear;  //渐变填充模式
objStyle1.BrushGradientAngle = 0;
objStyle2.BrushBackTransparent = false;
objStyle2.BrushColor =(uint)ColorTranslator.ToOle(Color.FromArgb(245, 255, 100));
objStyle2.BrushBackColor =(uint)ColorTranslator.ToOle(Color.FromArgb(255, 255, 255));
objStyle2.BrushGradientMode = seBrushGradientMode.scbGradientLinear;
objStyle2.BrushGradientAngle = 0;

_objGraph.Enable=true;
_objGraph.AddField("Pop_1994");
_objGraph.AddField("Pop_Male");
_objGraph.set_Style(1,objStyle1);
_objGraph.set_Style(2,objStyle2);
//指定统计图的类型,此处指定的是柱状图,还有饼图等
_objGraph.GraphType=seGraphType.scpBar3D;
_objGraph.GraduatedMode=seGraduatedMode.scgConstant;
axSuperMap1.Refresh();
bresult=_objGraph.Valid;
if(bresult)
{
    MessageBox.Show("Success");
}
else
{
    MessageBox.Show("fail");
}
//释放变量//
Marshal.ReleaseComObject(objLy);
objLy=null;
Marshal.ReleaseComObject(objLys);
objLys=null;
Marshal.ReleaseComObject(objStyle1);
objStyle1=null;
Marshal.ReleaseComObject(objStyle2);
objStyle2=null;
Marshal.ReleaseComObject(_objGraph);
_objGraph=null;

下面是效果图:
 
发表评论:
正在读取数据,请稍侯