|
终于完成MyNChart 0.4.0.1版本
MyNChart说明 版本:0.4.0.1 作者:kilxy 联系方式: Mail:kilxy@dl.cn MSN:kilxy@hotmail.com QQ:20954664 使用授权:
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_id和job_desc都可以作为刻度。 3 系列 系列在饼图和柱图、折线图也有着不同含义,具体如下: 饼图: 是指在饼图中被分割的每部分的名称 柱图、折线图: 坐标X轴的具体刻度 系列的数据类型要求是int、float、double等的数值类型,在上面的数据源中列min_lvl和max_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.ChartControl在0.4.0.1中完全相同 4.5 MyNChart.Forms. PoleControl 说明: 柱图控件,继承于MyNChart.Forms.ChartControl 属性、方法: 与MyNChart.Forms.ChartControl在0.4.0.1中完全相同 4.6 MyNChart.Forms. LineControl 说明: 折线图控件,继承于MyNChart.Forms.ChartControl 属性、方法: 与MyNChart.Forms.ChartControl在0.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(); }
|