译文:

序言

ZedGraph是用于创建任意数据的二维线型、条型、饼型图表的一个类库,也可以作为Windows窗体用户控件和ASP网页控件(这里有个web-accessible 不知道该怎么翻译)。这个类库具有高度的适应性,几乎所有式样的图表都能够被创建。这个类库的用法在于通过提供所有图表属性的省缺值来保持使用性的简单。这个类库包含了基于要绘制的数值范围内的可选择适当度量范围和跨度的代码。

ZedGraph保持作为建立在SourceForge的开源项目。基于这个立场(又找不到合适的词翻译了!—_—),你可以获得项目信息、文件、更新支持和所有发布版本。

一套图表实例连同所有的源代码对于SourceForge也是同样有用的。

背景

世面上有许多的图表组件,但是没有一个符合我的要求。我发现MSChart太诡异,而切许多配置选项没有我所需要的适应性用来完成一个漂亮的视觉效果。当然大多数的商业包能够作到这些,但是我需要一些免费的东西,所以ZedGragh诞生了。

这些类将在一个窗体上产生一个线条,条型,或者图表,并给予一个矩形和一些数据点。ZedGraph 可以构建二维的线性/离散的图形,横/纵坐标轴,花哨的条形图,精致的百分比条形图,错误图和饼型图——他不能构建三维的外观或图表。最近还加入了对于ASP.NET页面中图形处理方法。可以参看下载资料中的关于ASP的文档。所绘制的图表能够配上轴标签和标题,一个图例,文本标签和箭头,图片等等。演示项目中的标记包括能够通过自由拖放自由改变大小的Normski's GDIDB double-buffering class。(这里翻译不清楚,大概意思就是图表能自由调整大小吧)。尝试根据可见窗体来达到尺寸要求。

文档(ZedGraph.chm) 包括了完整的类组件源代码。涉及更多的详细资料——ZedGraph有很多在说明文档中没有说明的配置选项。这些内容在网上可以找到。

使用代码

在简单的图形中,一个图表是通过一些简单的步骤创建的。你可以通过一个类库,一个窗体控件,或者一个ASP.NET网页控件,这些方式中的任何一种来使用ZedGraph。本文将主要介绍类库的使用。当然,你可以使用GraphPane 或者 MasterPane等工具来完成与ZedGragh相同的功能

作为Web控件使用ZedGraph

ZedGraph现在具有一个可以应用到ASPX的Web控件类。提供下载演示项目示范了这个功能。要使用Web控件,你的页面必须包含以下图片:
<img src="graph1.aspx" />

在这个例子中,graph1.aspx是一个声名了这个控件的文件,这个声明要包含一个叫做“graph1.aspx.cs ”的后台代码文件,这个文件实际上负责绘制图形。所以,ZedGraph.dll文件必须未于和graph1.aspx同级的"bin"目录下。

作为用户控件使用ZedGraph

可以在Visual Studio .NET的工具箱中添加ZedGraph控件。首先,打开Visual Studio .NET,新建一个Windows项目,打开窗体设计器显示当前窗口。要查看工具箱,使用主菜单的视图-工具箱命令。
右键单击工具箱上的“我的用户控件”或“组件”栏,然后选择“添加/删除项”选项。点击“浏览”,选取“ZedGraph.dll ”文件。一旦文件添加了,你可以看到一个ZedGraphControl选项在工具栏中。将它拖到窗体设计器中,拉伸到合适大小。这样就在你的窗体中创建了一个ZedGraph控件。这个控件具备了ZedGraph控件的所有功能。一个ZedGraph控件就这样简单的创建了,他带有一个初始的图形窗格(又想不到词...)。ZedGraph.dll文件可以作为用户控件或组件。一些示例程序示范了这个用户控件不同编程语言(Visual Basic, Visual C#, and Visual C++)的用法。本文只关注组件的用法。

作为组件使用ZedGraph

在你的项目中添加组件,步骤如下:

1.在项目中,选择项目菜单下的“添加”选项。通过浏览按扭找到ZedGraph.dll,点击OK。这将使你的项目包含了ZedGraph的所有功能。

2.在主窗体代码中添加使用ZedGraph的代码.

3.用如下的声明在窗体类定义代码中添加窗格(这个词总不好翻译,意思就是说ZedGraph画出来的那个表图形):

GraphPane myPane;

4.在你的窗体Load方法(如: Form1_Load()  )中添加下列代码:

//  在坐标(40,40)处创建一个新图形, 大小为 600x400
     myPane  =   new  GraphPane(  new  Rectangle(  40 ,  40 ,  600 ,  400  ),
         " My Test Graph\n(For CodeProject Sample) " ,
         " My X Axis " ,
         " My Y Axis "  );

     //  设置初始数据
     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 );
        }

     //  创建红色的菱形曲线
     //  标记, 图中的 "Porsche" 
     LineItem myCurve  =  myPane.AddCurve(  " Porsche " ,list1, Color.Red, SymbolType.Diamond );

     //  创建蓝色的圆形曲线
     //  标记, 图中的 "Piper"    
    LineItem myCurve2  =  myPane.AddCurv(  " Piper " ,list2, Color.Blue, SymbolType.Circle );

     //  在数据变化时绘制图形
      myPane.AxisChange(  this .CreateGraphics() );

AxisChange()  方法在你的增加或者改变数据时被调用,它通知ZedGraph重新计算所有轴的范围.( AxisChange()  方法可以添加自己的代码,他将根据当前配置更新轴的范围),ZedGraph提供了一个参数较少的 AxisChange()  方法,因此你也可以不调用 CreateGraphics()方法.

5.为了确保图形被绘制,你可以添加一行代码到你的 Form_Paint()  方法(Paint事件调用的方法):

myPane.Draw( e.Graphics );

以上的代码产生的输出如下:

好了,文章翻译到这里也差不多了,当然原文还有很多内容,不过那些是高级应用部分了,到这里算了解了 ZedGraph的用法,后面的内容很容易看懂了,这里就不再翻译了。

原文地址:http://www.codeproject.com/csharp/ZedGraph.asp

转载:ZedGraph使用帮助相关推荐

  1. ZedGraph在项目中的应用

    ZedGraph在项目中的应用<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...

  2. ZedGraph:一个同时支持WinForm和WebForm的开源图表控件(基于LGPL协议,.NET 2.0 C#源代码)...

    今天弟弟说想要实现Cross Tab(交叉表)的显示和图表显示,交叉表方面的东西以前找过一些,我博客里也有些介绍(C#实现Pivot(Cross Table)的一段代码和例子):于是上网搜索一番,找到 ...

  3. ZedGraph在Asp.net中的应用

    由于项目的需求图表显示数据,今天在网上找了一天,终于找到一个不错的控件----ZedGraph,它支持asp,asp.net,vc. 现在最新的版本是5.0,些版本支持   .NET 2.0.5.0版 ...

  4. ZedGraph在Web中的使用

    上一篇SQL实现分组统计查询(按月.小时分组)中介绍了按月和小时为单位怎样实现分组查询,在本文中会实现将上文查询的结果以图表的形式显示在页面上.在页面上显示图标有很多种解决方案,office的owc组 ...

  5. ZedGraph给LineChart添加数值

    作为支持.net的强大的开源图表控件ZedGraph,最新版本是 New Update as of 28-Nov-2007 Version 5.1.4 + 4.6.4 官方主页:http://zedg ...

  6. GridView+ZedGraph【转】

    edgraph图表控件的强大功能令人出乎意料,与OWC相比我想应该毫不逊色,近来需求要求作出相关数据统计,不想使用BI这类的强大东西,所以搜索到 了免费的开源的Zedgraph控件.使用起来也非常方便 ...

  7. 在Project中引用zedgraph控件

    在Project中引用控件 一般情况下,此控件应该是使用在表现层(UI层),所以你可以直接在你的UI层直接引用,当然,为了你方便使用,你可以先把他加到控件箱里头(ToolBox) 方法: 对着控件箱右 ...

  8. [转载]C# WinForm开发系列 - 文章索引

    该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm ...

  9. ZedGraph设置辅助线

    ZedGraph设置辅助线 1.一般来说ZedGraph设置参考线可以用 ZedGraph对象.YAxis.MajorGrid.IsVisible = True '水平参考线 ZedGraph对象.X ...

最新文章

  1. UI设计师面试如何操作才能获得高薪
  2. 软件开发环境包含的内容
  3. 引导直觉解决数学猜想难题,DeepMind登上《Nature》封面
  4. Manacher 求最长回文子串算法
  5. 在stm32上使用Arduino IDE(神舟I号为例)
  6. 三国杀服务器改名 插图修改,《三国杀》大幅修改的武将——新旧两版,你更喜欢哪一位...
  7. php socket 多次发送,php模拟socket 多次发送数据的实现方法
  8. redis专题:redis键值设计、性能优化以及redis连接池配置
  9. cocosstdio之字体之文本和FNT字体
  10. 2020推荐系统算法一览、实践
  11. (转载)C#控件缩写规范
  12. 总结之:CentOS 6.5 rsync+inotify实现数据实时同步备份
  13. ES索引重建reindex详解
  14. LOJ10099矿场搭建
  15. STM32L151缓慢上断电-电源控制模块的使用(PVD、BOR、POR/PDR)
  16. “贵阳发生了什么”大数据主题报告会在京举行
  17. 高德地图嵌入到threejs全景中的踩坑指南
  18. 弯道实现十万阅读,这个五月我太太太开心了
  19. 阅读Decoupled Spatial-Temporal Attention Network for Skeleton-Based Action Recognition
  20. 华硕主板破Linux密码,解决华硕主板常见故障现象及方法

热门文章

  1. 张拉拉再获融资,怎么做出一碗资本爱吃的兰州拉面?
  2. h5活动是什么意思_H5页面到底是什么?
  3. TM1650代码记录(基于51单片机)
  4. 基于Pytorch的强化学习(DQN)之 REINFORCE with baseline
  5. scratch项目学习计划
  6. sql判断整除_SQL操作符/运算符
  7. 积分电路和微分电路的工作原理
  8. Golang for循环
  9. 计算机页面添加文字水印在哪,怎么添加水印-Word小技巧-快速添加高大上的水印...
  10. 信息收集之外网信息收集