kilxy

kilxy

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

终于完成MyNChart 0.4.0.1版本

 

MyNChart说明

版本:0.4.0.1

作者:kilxy

联系方式:

Mailkilxy@dl.cn

MSNkilxy@hotmail.com

QQ20954664

使用授权:

 

MyNChart功能介绍

1、 基于.Net的图形控件,实现了饼图、柱图和折线图三种图形。

2、 该控件采用DataSet作为数据源实现数据的图象显示。

 

MyNChart简单使用说明

1          数据源

MyNChart采用.Net DataTable作为数据源,MyNChart并不关心数据怎样获得,以及数据具体内容知否正确。而只是把数据源里面的数据用图像的方式显示出来。

下面是一个典型的MyNChart的数据源形式,在这里我们关心具体数值含义只是作为数据源说明的一个例子。

job_id

job_desc

min_lvl

max_lvl

1

Designer for job1

10

30

2

Chief Executive Officer

200

250

3

Business Operations Manager

175

225

4

Chief Financial Officier

175

250

5

Publisher

150

250

6

Managing Editor

140

225

7

Marketing Manager

120

200

8

Public Relations Manager

100

175

9

Acquisitions Manager

75

60

10

Productions Manager

75

60

11

Operations Manager

75

60

12

Editor

25

100

13

Sales Representative

25

100

14

Designer

25

100

15

lxm

10

100

16

ssdsadsadsad

10

100

该数据是MS SQL 2000例子数据库Pubs中的jobs表中的内容。

2          刻度

刻度在饼图和柱图、折线图有着不同含义,具体如下:

饼图:

是指在饼图中被分割的每部分的名称

柱图、折线图:

坐标X轴的具体刻度

刻度的数据类型要求是可以转换成字符串的数据类型,在上面的数据源中列job_idjob_desc都可以作为刻度。

3          系列

系列在饼图和柱图、折线图也有着不同含义,具体如下:

饼图:

是指在饼图中被分割的每部分的名称

柱图、折线图:

坐标X轴的具体刻度

系列的数据类型要求是intfloatdouble等的数值类型,在上面的数据源中列min_lvlmax_lvl都可以作为系列。一个数据源中可以指定多个系列,但是在饼图中只使用第一个指定的系列作为数据图形的标准。

4          MyNChart控件、以及控件属性方法说明

4.1       MyNChart.Series

说明:

系列类

属性:

Name

该系列对应数据源DataTable中的列名

Label

柱图、折线图中图例中对该系列的说明

Color

该系列的颜色(0.4.0.1版本未使用)

AutoColor

是否自动选择颜色

4.2       MyNChart.Scale

说明:

刻度类,继承于MyNChart.Series

属性:

Name

该刻度对应数据源DataTable中的列名

Label

柱图、折线图中图例中对X轴说明(0.4.0.1版本未使用)

Color

该系列的颜色(0.4.0.1版本未使用)

AutoColor

是否自动选择颜色(0.4.0.1版本未使用)

 

4.3       MyNChart.Forms.ChartControl

说明:

所有Form图形控件的父类

属性:

DataSource

MyNChart.Forms.ChartControl 数据源(DataTable

ScaleCloum

控件刻度()

CharTitle

图形标题

TitleFont

标题字体

LegendFont

图例字体

ScaleFont

刻度字体

BackColor

背景颜色

ForeColor

前景颜色

VisibleCutline

图例是否可见

方法:

void AddSeries(Series series)

MyNChart.Forms.ChartControl 增加一个系列

void ClearSeries()

清除所有已经增加的系列

ScaleCloum

设置控件刻度

void Draw()

控件绘制图形方法

4.4       MyNChart.Forms. PiControl

说明:

饼图控件,继承于MyNChart.Forms.ChartControl

属性、方法:

MyNChart.Forms.ChartControl0.4.0.1中完全相同

4.5       MyNChart.Forms. PoleControl

说明:

柱图控件,继承于MyNChart.Forms.ChartControl

属性、方法:

MyNChart.Forms.ChartControl0.4.0.1中完全相同

4.6       MyNChart.Forms. LineControl

说明:

折线图控件,继承于MyNChart.Forms.ChartControl

属性、方法:

MyNChart.Forms.ChartControl0.4.0.1中完全相同

5          Demo简单说明

 

//声明控件

public ChartControl chartControl1;

 

//根据选择不同实例化控件

private void button1_Click_1(object sender, System.EventArgs e)

{

 

    
this.panel1.Controls.Clear();

 

    
if(this.radioButton1.Checked)

       
this.chartControl1 = new PiControl();

    
if(this.radioButton2.Checked)

       
this.chartControl1 = new PoleControl();

    
if(this.radioButton3.Checked)

       
this.chartControl1 = new LineControl();

 

    
this.chartControl1.CharTitle="工作种类统计表";

    
this.chartControl1.Parent = this.panel1;

    
this.chartControl1.Dock = DockStyle.Fill;

 

    Draw();

}


 

private void Draw()

{

    
if(this.chartControl1==null)

       
return;

 

//填充数据

    
this.dataSetJobs1.Clear();

    
this.sqlSelectCommand1.Parameters[0].Value =Convert.ToInt32(this.textBox1.Text);

    
this.sqlDataAdapter1.Fill(this.dataSetJobs1);

    
this.chartControl1.DataSource = this.dataSetJobs1.Tables[0];

    

//指定刻度

Scale scale
=new Scale();

    scale.Name 
= "job_id";

    scale.Label 
= "工作编号";

    

    
this.chartControl1.ScaleCloum = scale;

    

    
this.chartControl1.ClearSeries();

    

    
//增加系列

Series series
=new Series("min_lvl","最小值");

    
this.chartControl1.AddSeries(series);

    

//增加系列

    Series seriesMax
=new Series("max_lvl","最大值");

    
this.chartControl1.AddSeries(seriesMax);

    

    
//绘制图形

    
this.chartControl1.Draw();

}


Demo 界面



 

下载Demo和源文件:https://files.cnblogs.com/kilxy/MyNChart.rar

posted on 2005-05-24 15:33  kilxy  阅读(2445)  评论(10编辑  收藏  举报