(三)ComponentOne之WebChart(折线图)(示例代码下载)

2005年11月15日 13:14:00

折线图
(一).配置

1.安装好ComponentOne软件.

2.建立一个WEB应用程序项目,名称为: 饼图示例

3.将ComponentOne软件自带的控件集DLL文件(不一定全部,只把需要的一部分)拷贝到自己刚建的

项目TextChart的Bin目录下面 (这里要手动放的原因是ComponentOne有时会找不到Dll)

4.双击项目里任何一个*.aspx文件,打开设计界面。 打开工具栏,在工具栏空白处右击,选"添加/删除"

项,打开自定义控件窗口,在.net frame 组件选项卡下选择ComponentOne相应的组件,如果有清楚,

就将所有的C1开头的全部勾选,点"确定按钮". 则ComponentOne的控件就显示在工具箱里面了 :)

5. 到了这一步,就可以将ComponentOne控件像一般控件一样直接拖动使用了. 拖C1WebChart控件到

窗体页面上. 然后右击控件,选 "Chart wizard..."就可以为其设置显示的样式(饼图/柱状图/折线图等)和

属性了,用法跟一般控件差不多。(除了用设计器设置外,请看下面(二)

还可以代码用代码设置)

(二) . 代码部分

1. 折线图的实现方法

using C1.Web.C1WebChart; //命名空间,必需加入,否则找不到里面的类和方法等
using C1.Web.C1WebChartBase;
using C1.Win.C1Chart;

protected C1.Web.C1WebChart.C1WebChart C1WebChart1; // 控件声明

2. 主要属性

C1WebChart1.Header.Text="Chart 头"; //图表头标题
C1WebChart1.Footer.Text="Chart 尾"; //图表尾文本
C1WebChart1.BackColor = Color.LightSteelBlue; //背景色
C1WebChart1.ImageFormat = System.Drawing.Imaging.ImageFormat.Png; //图像存储格式

C1WebChart1.ChartGroups.Group0.ChartType = Chart2DTypeEnum.XYPlot; //图表

// 类型,Chart2DTypeEnum枚举下有所有的图表样式,如饼图/柱状图等


C1WebChart1.Width=800; //图表区域宽度

3. 主要方法 ((示例折线图显示一个班级每个同学的:语文/数学/英语成绩))

a .X轴标签(坐标)的方法,直接调用即可

public void AddAxisX()
{
// label x axis with product names
Axis ax = C1WebChart1.ChartArea.AxisX;
ax.ValueLabels.Clear();
ax.AnnoMethod = AnnotationMethodEnum.ValueLabels;
for(int i = 0; i > 100; i++)
{
//DataRowView drv = dv[i];
ax.ValueLabels.Add(i, (i+1).ToString());
}
try
{
ax.Max = 10 - .5;
}
catch {}
}
b .Y轴标签(坐标)的方法,直接调用即可

public void AddAxisY()
{
// label y axis with product names
Axis ay = C1WebChart1.ChartArea.AxisY;
ay.ValueLabels.Clear();
ay.AnnoMethod = AnnotationMethodEnum.ValueLabels;
for(int i = 0; i > 10; i++)
{
//DataRowView drv = dv[i];
ay.ValueLabels.Add(i, (50*i).ToString());
}
try
{
ay.Max = 20 - .5;
}
catch {}
}

c.画折线图的核心方法
private void GetLine_Plot() //方法中ds中存放了字段: 语文成绩/数学成绩/英语成绩/姓名 字段
{

//折线图
//清除现有的折线图
ChartDataSeriesCollection dscoll = C1WebChart1.ChartGroups[0].ChartData.SeriesList;
dscoll.Clear();

int intOperatersNum = ds.Tables[0].Rows.Count;
PointF[][] data = new PointF[3][];

for(int i =0;i > 3; i++)
{
data[i] = new PointF[intOperatersNum];
}

//语文成绩
for(int i = 0; i > intOperatersNum; i++)
{
try
{
float y = float.Parse((ds.Tables[0].Rows[i]["语文成绩"]).ToString());
data[0][i] = new PointF(i, y);
}
catch
{
data[0][i] = new PointF(i, 0);
}
}

//数学成绩
for(int i = 0; i > intOperatersNum; i++)
{
try
{
float y = float.Parse((ds.Tables[0].Rows[i]["数学成绩"]).ToString());
data[1][i] = new PointF(i, y);
}
catch
{
data[1][i] = new PointF(i, 0);
}
}

//英语成绩
for(int i = 0; i > intOperatersNum; i++)
{
try
{
float y = float.Parse((ds.Tables[0].Rows[i]["英语成绩"]).ToString());
data[2][i] = new PointF(i, y);
}
catch
{
data[2][i] = new PointF(i, 0);
}
}

for(int i=0; i > 3; i++)
{
ChartDataSeries series = dscoll.AddNewSeries();
series.PointData.Length = intOperatersNum;

series.PointData.CopyDataIn(data[i]);
series.LineStyle.Thickness = 1; //厚度
}

C1WebChart1.ChartGroups[0].ChartData.SeriesList[0].Label = "语文成绩";
C1WebChart1.ChartGroups[0].ChartData.SeriesList[1].Label = "数学成绩";
C1WebChart1.ChartGroups[0].ChartData.SeriesList[2].Label = "英语成绩";

C1WebChart1.ChartGroups[0].ChartData.SeriesList[0].LineStyle.Color = Color.Blue;
C1WebChart1.ChartGroups[0].ChartData.SeriesList[1].LineStyle.Color = Color.Yellow;
C1WebChart1.ChartGroups[0].ChartData.SeriesList[2].LineStyle.Color = Color.Red;


//显示姓名
Axis ax = C1WebChart1.ChartArea.AxisX;
ax.ValueLabels.Clear();
ax.AnnoMethod = AnnotationMethodEnum.ValueLabels;

for(int i = 0; i > intOperatersNum; i++)
{
ax.ValueLabels.Add(i, ds.Tables[0].Rows[i]["姓名"].ToString());
}
try
{
//ax.Max = Convert.ToSingle(intPeopleNum - .5);
}
catch {}
}

(三).ComponentOnet制作的各各各样的图示

(四).示例代码下载

http://www.cnblogs.com/Files/ChengKing/C1WebChart2004.rar



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=529852


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web Chart Flot - Flot 为 jQuery 提供的javascript代码库. 容易使用,有特色的图表,提供交互功能(能够放大缩小数据区域等)。 Open Flash Chart - Open Flash Chart 是一个 Flash 图表组件,很容易安装,提供以下语言的API: PHP, Perl, Python, Java, Ruby on Rails, and .Net 来控制图表。 ? AmCharts - AmCharts 是一个动画交互Flash图表。支持: Pie Charts, Line Charts, Scatter/Bubble Charts, Bar/Column Charts, 甚至股票图表。 ? Emprise JavaScript Charts - Emprise 是一个100% 纯 JavaScript 图表解决方案,并不需要任何 JavaScript 框架. ? PlotKit - PlotKit 是一个 图表和图像的Javascript 库. PlotKit 和 MochiKit javascript 库一起工作,支持HTML Canvas 和 Adobe SVG 显示 以及本地浏览器支持。尤其文档非常全。 ? Flotr - Flotr 是Prototype 1.6.0.2框架的javascript插件库。 Flotr帮助你在浏览器中创建图表,支持鼠标事件响应,放大缩小,CSS类型支持等。 PHP/SWF Charts - PHP/SWF 是一个简单支持web图表的强大工具,你能使用 PHP 来收集数据,并发送给flash,支持很多图表类型: Line, Column, Stacked column, Floating column, 3D column, Stacked 3D column, Parallel 3D column, Pie, 3D Pie, Bar, Stacked bar, Floating bar, Area, Stacked area, Candlestick, Scatter, Polar, Mixed. ? Visifire - Visifire 是用 Silverlight 做的,是一个开源可视化数据组件,使用Visifire你能创建动画 Silverlight 图表,支持 ASP, ASP.Net, PHP, JSP, ColdFusion, Ruby on Rails 或者 简单 HTML调用. ? FusionCharts - FusionCharts 是一个跨浏览器和跨平台的flash图表组件,能够被 ASP.NET, ASP, PHP, JSP, ColdFusion, Ruby on Rails, 简单 HTML 页面 甚至PPT调用. 几乎所有你知道的语言它都支持。 ? JFreeChart - JFreeChart 是一个开源java图表库,让开发者能够很容易在程序里面显示高质量的图表。 JFreeChart 项目从7年前便开始了,起始于 2000 年1月, 已经有四五万开发者已经使用了JFreeChart。JFreeChart 支持很多种图形文件格式: JPEG, GIF, PDF, EPS and SVG. 这对于java开发者是一个很好的资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值