您的位置:首页 > 其它

使用OWC生成饼状图和柱状图

2007-11-03 20:36 381 查看
代码在.net 1.1 和OWC 10下面测试通过。

XValue类似于"a\tb\tc\td\t"

YValue类似于"1\t3\t6\t2\t"

一、生成柱状图

private void CreatChart()

public void ChartPie()

{

//创建一个图形容器对象

OWC10.ChartSpace objCSpace = new OWC10.ChartSpaceClass();

objCSpace.Border.Color="white";

//在图形容器中增加一个图形对象

OWC10.ChChart objChart = objCSpace.Charts.Add(0);

//将图形的类型设置为柱状图的一种

objChart.Type = OWC10.ChartChartTypeEnum.chChartTypePie3D;

//在图形对象中添加一个系列

objChart.SeriesCollection.Add(0);

string type =Request.QueryString["type"]==null?"":Request.QueryString["type"].ToString();

string date=Request.QueryString["date"]==null?"":Request.QueryString["date"].ToString();

string[] strData = esWapper.getChartData(type,date);

//string[] strData = new string[2];

//给定需要的数据

//数据

string YValue = strData[1];

//分类

string XValue = strData[0];

//给定系列的名字

objChart.SeriesCollection[0].SetData (OWC10.ChartDimensionsEnum.chDimCategories,

+ (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, XValue);

//给定值

objChart.SeriesCollection[0].SetData (OWC10.ChartDimensionsEnum.chDimValues,

+ (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, YValue);

objChart.Inclination=55;

//将第三个扇区抽离出来

//Explosion:返回或设置指定饼图或圆环图扇面的分离程度值。有效范围为 0 到 1000。分离程度值等于图表半径的百分比。

//objChart.SeriesCollection[0].Points[2].Explosion = 45;

//增加数据值标签

objChart.SeriesCollection[0].DataLabelsCollection.Add();

//分类名

//objChart.SeriesCollection[0].DataLabelsCollection[0].HasCategoryName=true;

//系列名

//objChart.SeriesCollection[0].DataLabelsCollection[0].HasSeriesName=true;

//设置图例边框颜色

//设置显示图例

objChart.HasLegend=true;

//设置图例的位置,必须先把图例的显示属性设置为true

objChart.Legend.Position = OWC10.ChartLegendPositionEnum.chLegendPositionBottom;

objChart.Legend.Border.Color="#FFFFFF";

objChart.Legend.Font.Size=20;

//显示各部分的数值

objChart.SeriesCollection[0].DataLabelsCollection[0].HasValue = false;

//设置饼状图中字体的大小

objChart.SeriesCollection[0].DataLabelsCollection[0].Font.Size=14;

//显示各部分的百分比

objChart.SeriesCollection[0].DataLabelsCollection[0].HasPercentage = true;

//Response.Write(DateTime.Now.ToLongDateString());

Response.BinaryWrite((Byte[])(objCSpace.GetPicture("gif",800, 500)));

//Response.End();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: