A flexible charting library for .NET -- 非常好用的图表库

     最近要做一个类似的东东,在网上找了好久,发现了下面的例子.决定一边学习一边翻译,呵呵.
Introduction  
   ZedGraph 是一个类库, 可以对Windows Forms的UserControl及ASP 可存取网页控制(web-accessible control)的任意数据集制作二维的线图,条形图和饼图. 这些类库为用户提供高度的自由--几乎图表的所有属性都可以依用户的爱好而修改. 同时,这些类库的使用非常简单,所有的属性都会分配一个默认值. 根据所要制的图表的数据的范围,在类库中可以选择合适尺度的程序码.
 ZedGraph是一个在sourceforge上的开源的开发项目,地址为: http://sourceforge.net/projects/zedgraph ,可以在这个网页上找到关于这个项目的Wiki( http://zedgraph.org/wiki/index.php?title=Main_Page ), 文件说明( http://zedgraph.sourceforge.net/documentation/index.html ), 过渡期的CVS更新资料和所有发布过的版本.
http://zedgraph.org/wiki/index.php?title=Sample_Graphs 在这个网站上可以找到一些带源码的例子, 通常是用C#或者VB开发的
 5.0版本需要.NET 2.0, 不过你可以下载之前的版本, 比如4.3.5布使用.NET1.1
Background
 
  ZedGraph 处理二维图表: 线条/离散点, 水平/垂直条形图, 堆叠式条形图, 层叠式百分比图, 错误条形(烛台式)图和饼图. 并不提供三维的面或者图形, 最近所加的一个功能是可以在ASP.NET中加入图形. 用户可以修改轴的名称,标题,图例,文本标签,箭头,图像等等,非常方便.
 
   这篇文章是使用C#的, 如果你是VB的程序员,可以去上面的链接看一些VB的例子.
 
Using ZedGraph as a UserControl
   下载ZedGraph,如果不想深入研究,下载只包含DLL文件的压缩包就可以了, 然后解压到硬盘某一目录.

     ZedGraph1

ZedGraph2

   Source Code:

    

private   void  Form1_Resize( object  sender, EventArgs e)
        
{   SetSize();    }     // 当改变窗体大小时,call SetSize()这个方法

        
private   void  SetSize()    // SetSize()函数
         {
            zg1.Location 
= new Point(1010);
            
//在图表和窗体边缘留下一点空白
            zg1.Size = new Size(ClientRectangle.Width - 20, ClientRectangle.Height - 20);
           
//让图表充满整个窗体
        }

        
private   void  Form1_Load( object  sender, EventArgs e)    // 当打开窗体时
         {
            
// 创建图表
            CreateGraph(zg1);
            
// call SetSize()来使图表合适窗体大小
            SetSize();
        }

        
//  建立图表, 只是示例
         private   void  CreateGraph(ZedGraphControl zgc)
        
{
            
// 建立一个GraphPane的参考
            GraphPane myPane = zgc.GraphPane;
            
// 确定图表的标题及轴名称
            myPane.Title.Text = "My Test Graph (For CodeProject Sample)";
            myPane.XAxis.Title.Text 
= "My X Axis";
            myPane.YAxis.Title.Text 
= "My Y Axis";
            
// 在三角函数Sin()基础上创建一些数据
            double x, y1, y2;
            PointPairList list1 
= new PointPairList();
            PointPairList list2 
= new PointPairList();
            
for (int i = 0; i < 36; i++)
            
{  //可以按照自己要求写方程式
                x = (double)i + 5;
                y1 
= 1.5 + Math.Sin((double)i * 0.2);
                y2 
= 3.0 * (1.5 + Math.Sin((double)i * 0.2));
                list1.Add(x, y1);
                list2.Add(x, y2);
            }

            
//创建棱形标志的红色曲线, 图例名为”Porshe”(保时捷)
            LineItem myCurve = myPane.AddCurve("Porsche",
                  list1, Color.Red, SymbolType.Diamond);
     
// 创建圆形标志的蓝色曲线, 图例名为”Piper”
            LineItem myCurve2 = myPane.AddCurve("Piper", list2, Color.Blue, SymbolType.Circle);
            
//更新图表的两个轴,因为数据有改变
           zgc.AxisChange();
       
//每当增加或者修改数据时,都要call这个方法, 它会自动调整图表中轴所表示的值的范围
        }

 

ZedGraph3

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值