zedGraph基本教程篇--第一节:InitialSampleDemo.cs介绍

                        第一节:InitialSampleDemo.cs介绍
        为了讲解方便,我先附上源代码和效果图。
zedGraph基本教程篇--第一节:InitialSampleDemo.cs介绍
   
     
代码如下:
using System;
using System.Drawing;
using System.Collections;

using ZedGraph;

namespace ZedGraph.Demo
{
/// <summary>
/// Summary description for SimpleDemo.
/// </summary>
public class InitialSampleDemo : DemoBase
{

public InitialSampleDemo() : base ( " Code Project Initial Sample " ,
" Initial Sample " , DemoType.Tutorial )
{
GraphPane myPane
= base .GraphPane;

// Set the title and axis labels
myPane.Title = " My Test Graph\n(For CodeProject Sample) " ;
myPane.XAxis.Title
= " My X Axis " ;
myPane.YAxis.Title
= " My Y Axis " ;

// Make up some data arrays based on the Sine function
PointPairList list1 = new PointPairList();
PointPairList list2
= new PointPairList();
for ( int i = 0 ; i < 36 ; i ++ )
{
double x = ( double ) i + 5 ;
double y1 = 1.5 + Math.Sin( ( double ) i * 0.2 );
double y2 = 3.0 * ( 1.5 + Math.Sin( ( double ) i * 0.2 ) );
list1.Add( x, y1 );
list2.Add( x, y2 );
}

// Generate a red curve with diamond
// symbols, and "Porsche" in the legend
LineItem myCurve = myPane.AddCurve( " Porsche " ,
list1, Color.Red, SymbolType.Diamond );

// Generate a blue curve with circle
// symbols, and "Piper" in the legend
LineItem myCurve2 = myPane.AddCurve( " Piper " ,
list2, Color.Blue, SymbolType.Circle );

base .ZedGraphControl.AxisChange();
}
}
}

我们可以看到,InitialSampleDemo继承自CemoBase类,而DemoBase又继承自ZedGraphDemo这个接口。ZedGraphDemo接口定义了String Description、String Title、ZedGraph. ZedGraphControl ZedGraphControl 和 System.Collection.ICollection Types这四个属性。DemoBase除了实现这四个属性外,还添加了PaneBase Pane和MasterPane MasterPane这两个属性,此外DemoBase还实现了多载构造函数。关于各个类的具体含义和用法,我会在以后的篇幅中陆续介绍。这里只是给大家一个整体的大致结构。
下面进行对代码的分析,由于这是第一个例子,所有我会讲得比较细,以后的例子就不会了。
我们可以看到程序首先
public InitialSampleDemo() : base ( " Code Project Initial Sample " , " Initial Sample " , DemoType.Tutorial )
初始化基类的构造函数。基类重载了四个构造函数
public DemoBase( string description, string title, DemoType type )
{
ArrayList types
= new ArrayList();
types.Add( type );

Init( description, title, types );
}

public DemoBase( string description, string title, DemoType type, DemoType type2 )
{
ArrayList types
= new ArrayList();
types.Add( type );
types.Add( type2 );

Init( description, title, types );
}

public DemoBase( string description, string title, ICollection types )
{
Init( description, title, types );
}

private void Init( string description, string title, ICollection types )
{
this .description = description;
this .title = title;
this .types = types;

control
= new ZedGraphControl();
}
函数中的变量含义如下:
Description:对此结构的描述。
Title:在树形结构(TreeView)中显示的标题。
Types:要把此类显示在哪个树形结构的区域中。若有多个Types,则把此类分入不同的树形区域中。例如MasterPane Sample在Tutorial Sample和 Special Features两个区域都有。见图中的相应区域标注。


本文来自CSDN博客,转载请标明出处:http:
// blog.csdn.net/tjvictor/archive/2006/11/24/1412540.aspx
zedGraph基本教程篇--第一节:InitialSampleDemo.cs介绍
   
     
myPane.Title = " My Test Graph\n(For CodeProject Sample) " ;
myPane.XAxis.Title
= " My X Axis " ;
myPane.YAxis.Title
= " My Y Axis " ;
分别指定这个Pane的title、XAxis和YAxis的标题。见上图。

PointPairList list1
= new PointPairList();
PointPairList list2
= new PointPairList();
for ( int i = 0 ; i < 36 ; i ++ )
{
double x = ( double ) i + 5 ;
double y1 = 1.5 + Math.Sin( ( double ) i * 0.2 );
double y2 = 3.0 * ( 1.5 + Math.Sin( ( double ) i * 0.2 ) );
list1.Add( x, y1 );
list2.Add( x, y2 );
}
PointPairList类是一个集合类,继承自
System.Object
System.Collections.CollectionBase ZedGraph.CollectionPlus

它是PointPair对象的集合,PointPair类是一个包含(X,Y)的坐标类。
其中的for循环在为两个PointPairList复值。

LineItem myCurve
= myPane.AddCurve( " Porsche " , list1, Color.Red, SymbolType.Diamond );
LineItem类是ZedGraph中的线条类.
myPane.AddCurve(
" Porsche " , list1, Color.Red, SymbolType.Diamond );
的意思是将刚刚赋值的list以”Porsche”这个名字以红色和水晶形状画到Pane中,这个函数的返回值是一个LineItem。你可以通过myCurve这个变量来对它进行进一步的设定。其中SymbolType是个Enum,它枚举了12个可供使用的形状

最后一步就是刷新了。
base .ZedGraphControl.AxisChange();
这样整个程序就完成了,简单吧,其实这是个简单的应该,以后会介绍更加复杂的用法和类库。


本文来自CSDN博客,转载请标明出处:http:
// blog.csdn.net/tjvictor/archive/2006/11/24/1412540.aspx

你可能感兴趣的:(sample)