vs2005中,使用ZedGraph 生成各种图表(刚刚使用,可能总结的不全正确,呵呵)

我使用这个控件在web网页中,自己在家里练习在winform里使用,winform里更直观跟简洁,用法差不太多

一、下载dll ,打包后有两个文件夹(注意:zedgraph_dll_v4.6.4是针对vs2003的,zedgraph_dll_v5.1.4是针对vs2005,至于2008,自己未知。也可以看readme.txt,里面有说哪个版本适合哪个,自己也不知道是不是最新版本的dll,但是一般作图就够了)

二、在工具箱里,添加新项-->选项卡-->浏览-->选择ZedGraph.Web.dll(web中使用)、ZedGraph.dll(winform中使用),看到控件在工具箱里了应该。如果添加成功之后没有看到,工具箱右键-->全部显示-->可以看见的话,那么一定是在web里引用的是winform的dll 了 ,删除重新添加。

三、在网站的bin目录下添加对两个dll的引用(不知道为什么一定是两个,总之拖控件到页面上如果少个dll就报错)

四、新建页面,布局,拖个控件到页面上,设置属性(我只用到长高这些属性,其他都是代码里设置滴),RenderImagePath是生成的图片所在的位置,需要在对应的目录下建对应的文件夹,要不也生成不过去。

五、页面后台代码:图形对应的数据都是放到pointpairlist中的,所以获得的DataSet要转换到PointPairList,如下:

if (ds != null && ds.Tables[0].Rows.Count > 0)
      {
         DataTable dt=ds.Tables[0];
         XDate xd;
          for (int i = 0; i < dt.Rows.Count; i++)
          {
              xd = new XDate(DateTime.Parse(dt.Rows[i][0].ToString()));//日期
              lineBookOrder.Add((double)xd, Convert.ToDouble(dt.Rows[i][1]));//lineBookOrder是定义好的pointpairlist,里面都要转化成double类型的
           }
      }

我是在buttonclick之后获得数据显示图形,所以上述代码在click事件中,除了这以外,还要    this.ZedGraphWebBookOrder.AxisChanged = true;告诉控件开始画图

六、点击zedweb控件(你拖进来的那个),属性-->事件-->RenderGraph事件,双击,在里面写代码,主要是属性的设计和绑定数据和控件,生成曲线等

(这个是和winform有多区别的地方,winform那个还没整明白)

 

protected void ZedGraphWeb1_RenderGraph(ZedGraphWeb webObject, Graphics g, MasterPane pane)
    {
        GraphPane myPane = pane[0];
        myPane.Title.Text = "预订订单 数量-日期折线图";
        myPane.XAxis.Title.Text = "日期";
        myPane.YAxis.Title.Text = "数量";
        myPane.XAxis.Type = AxisType.Date;
        myPane.XAxis.Scale.Format = "MM-dd";
        LineItem myCurve = myPane.AddCurve("预订订单数", lineBookOrder, Color.Red, SymbolType.Diamond);

       //BarItem myCurve = myPane.AddBar("实住订单数", lineEffectiveOrder, Color.Red);

       //AddCurve是生成折线或曲线图,对应的曲线类型是LineItem;AddBar:柱状图,对应的图形BarItem ,还有饼图、线图等等

     }
一个粗略的图形就完成了,如果你想再让图形精确些,漂亮些,就多研究一下属性,虽然都是英文但都是不难,实践一下就都明了了。

目前,遗留的问题是不能显示点的值,像Excel中的那种,鼠标放上会显示y值,有好的建议请提示一下。

posted @ 2008-11-13 15:37  张倩  阅读(6544)  评论(1编辑  收藏  举报