ZedGraph是一个制作图表的类库,能够根据任意的数据生成各种2D线性图,柱状图,饼型图等.在Windows Forms和 ASP.Net Web Form中使用.

下面的例子是在Web Form中

首先,在 bin文件夹中要加入 zedgraph.dll 和zedgraph.web.dll文件,先将其引入.下载
在网站下要创建一个空文件夹,名称为'ZedGraphImages',这个文件夹名称是默认的,要修改这个文件夹名称,可以修改属性RenderedImagePath
CacheDuration缓存的持续时间。ZedGraph会生成一图片存放在缓存的目录中,显示图片时,会生成一个img标签代替ZedGraphWeb标签,并在一个时间内,"欺骗"浏览器加载这张图片。

创建asp.net web 页面

<%@ Page Language="c#" Inherits="ZG1.graph" CodeFile="mypage.aspx.cs" %>
<%@ Register TagPrefix="zgw" Namespace="ZedGraph.Web" Assembly="ZedGraph.Web" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
    <title>ZedGraph例子</title>
</head>
   <body>
      <p>
           <zgw:ZedGraphWeb ID="ZedGraphWeb1" runat="server" Width="600" Height="400" RenderMode="ImageTag"></zgw:ZedGraphWeb>                
      </p>
   </body>
</html>

RenderMode属性默认为ImageTag,这里写出来,只是为了更加清晰点。

CodeFile,里面有较详细的说明

protected void Page_Load(object sender, EventArgs e)
    {
        this.ZedGraphWeb1.RenderGraph += new ZedGraph.Web.ZedGraphWebControlEventHandler(CreateGraph);//注册事件
    }
    private void CreateGraph(ZedGraphWeb zgw, Graphics g, MasterPane masterPane)
    {
        //拥有一个MasterPane实例包含一个默认的GraphPane
        GraphPane myPane = masterPane[0];

myPane.Title.Text = "会员分布统计"; //图片的标题
        myPane.XAxis.Title.Text = "区域"; //X轴的标题
        myPane.YAxis.Title.Text = "人数: 万"; //Y轴的标题

PointPairList list = new PointPairList(); //保存数据的集合
        PointPairList list2 = new PointPairList();

Random rand = new Random();         //测试例子,用随机数产生数据
        for (double x = 0; x < 5; x += 1.0)
        {
            double y = rand.NextDouble() * 100;
            double y2 = rand.NextDouble() * 100;
            list.Add(x, y);
            list2.Add(x, y2);
        }

BarItem myCurve = myPane.AddBar("老会员", list, Color.Blue);//产生一蓝条
        myCurve.Bar.Fill = new Fill(Color.Blue, Color.White, Color.Blue);//填充这个蓝条,让这蓝条看起来有3D的效果
        BarItem myCurve2 = myPane.AddBar("新会员", list2, Color.Red);
        myCurve2.Bar.Fill = new Fill(Color.Red, Color.White, Color.Red);

myPane.BarSettings.Type = BarType.Cluster; //设置Bar的显示,默认为Cluster,可以不用设置
        myPane.XAxis.MajorTic.IsBetweenLabels = true; //设置为True时,每个Bar(柱体)之间会有一个小分隔线,为False时,这个小分隔线会出现在Bar(柱体)的正中间
        string[] labels = { "亚洲", "美洲", "非洲", "欧洲", "大洋洲" };
        myPane.XAxis.Scale.TextLabels = labels; //X轴的说明文字
        myPane.XAxis.Type = AxisType.Text;      //X轴类型
        myPane.Fill = new Fill(Color.White, Color.FromArgb(200, 200, 255), 45.0f); //以渐变色填充窗体的背景
        myPane.Chart.Fill = new Fill(Color.White, Color.LightGoldenrodYellow, 45.0f); //以渐变色填充图表的背景
        //更新图表
        masterPane.AxisChange(g);       
    }

可以到这个网站看ZedGraph更加详细的信息
http://www.codeproject.com/KB/graphics/zedgraph.aspx

RenderMode.ImageTag例子
RenderMode.RawImage例子

转载于:https://www.cnblogs.com/xinzaitian/archive/2008/12/11/1352403.html

ZedGraph webform 初学小例子 (代码有详细解释)相关推荐

  1. 利用JML开发的一个小例子,附详细注释

    利用JML开发的一个小例子,附详细注释.有问题的地方希望大家能帮我提出来,呵呵 /**/ /*  * msntest.java  *  * Created on 2007年4月11日, 下午1:40 ...

  2. 《算法竞赛入门经典》(第二版)代码及详细解释(持续更新!)

    笔者中山大学硕士,医学生+计科学生的集合体,机器学习爱好者. 现发布[刘汝佳<算法竞赛入门经典>(第二版)--紫书]的例题和习题的代码和详细解释. 欢迎批评指正! 另外欢迎关注本人微信公众 ...

  3. python鸭制作类代码_详细解释ducktyping鸭子类型程序设计与Python的实现

    在程序设计中,鸭子类型(英语:duck typing)是动态类型的一种风格.在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定. 这个概念的名字来源 ...

  4. 一文完全理解模型ks指标含义并画出ks曲线(包含代码和详细解释)

    KS(Kolmogorov-Smirnov):KS用于模型风险区分能力进行评估, 指标衡量的是好坏样本累计分部之间的差值. 好坏样本累计差异越大,KS指标越大,那么模型的风险区分能力越强. ks=ma ...

  5. 代码规范 详细解释 husky、prettier、eslint、lint-staged 的作用和使用

    准备工作 使用 vscode 新建一个项目(比如叫 my-project) 初始化 git 仓库(git init) 初始化 package.json ( npm init -y) 新建 src/ma ...

  6. 软件工程网络工程第二次训练(AC代码和详细解释)(C语言描述)

    作者:软件工程 E21514035 蒋渝涵 第一题 代码 #include <stdio.h> #include <math.h> int main() {double n;w ...

  7. 茶文化网页代码(详细解释)

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>中国名 ...

  8. 1024 科学计数法 (20分) c/c++代码中有详细解释

    科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部 ...

  9. theano中的Rop和Lop的详细解释

    #------------------------------------------序------------------------------------------------------- ...

最新文章

  1. 据说,程序员已成为女生年度最喜欢男友职业Top3?
  2. 全桥整流等效负载阻抗是多少?
  3. 国内pinterest发展介绍------瀑布流效果
  4. 二、lvm条带化的概念
  5. access查找工龄大于30_ACCESS查询操作题完整
  6. [core java学习笔记][第十一章异常断言日志调试]
  7. C语言关键字浅析-_Bool
  8. SAP中检查货币代码
  9. arping指令linux,arping
  10. win10激活时间(win10激活时间查询)
  11. QQ玩一玩广告与音效使用总结
  12. stm32 jlink Unexceped core id found 0x00000000,excepted 0X3BA00477,MASK 0XFFFFFFFF
  13. XShell VIM 粘贴
  14. C#winform窗体背景音乐播放总结
  15. python渐变色代码_python生成渐变色
  16. 港科夜闻|香港科大彭倩教授分析疫情下企业如何减低投资损失
  17. odoo中关于打印word格式的文件,利用docxtemplate方法
  18. web前端基础——实现动画效果
  19. 易语言游戏辅助开发原理分析
  20. 草莓tv 无法播放_草莓:高质量的声音,开源音乐播放器

热门文章

  1. 2015蓝桥杯C++A:奇妙的数字(枚举法)
  2. Unity3D实践4:带有出入特效的提示框
  3. [Python] zeros(r, c)和ones(r, c)和eye(n) 生成特殊矩阵
  4. windows下MongoDB数据库的安装
  5. 解决微信小程序安卓手机访问不到图片,无法显示图片
  6. js中arguments的用法
  7. Spring Security Ajax 被拦截
  8. (分治)7617:输出前k大的数
  9. 1111---9999的变换
  10. java事务的类型——面试被问到