ZedGraph下Web中显示图形笔记

codeproject上的不错,不过有些细节不一样.

private void ZGCreateGraph(ZedGraph.Web.ZedGraphWeb webObject, System.Drawing.Graphics g, ZedGraph.MasterPane pane)
    {
        //获得一个GraphPane的引用
        GraphPane myPane = pane[0];


        //设置标题
        myPane.Title.Text = "My Test Bar Graph";
        myPane.XAxis.Title.Text = "Label";
        myPane.YAxis.Title.Text = "My Y Axis";

        // Make up some random data points
        string[] labels = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" };
        double[] y = { 100, 115, 75, 22, 98, 40 , 90, 100, 95, 35, 80, 35};

        //初始化bar
        BarItem myBar;

        // 创建一个柱形图
        myBar = myPane.AddBar("案件数", null, y, Color.Green);
        myBar.Bar.Fill = new Fill(Color.Green, Color.White,Color.Green);

        // 创建一条曲线
        LineItem myCurve = myPane.AddCurve("案件数",null, y, Color.Black, SymbolType.Circle);
        myCurve.Line.Fill = new Fill(Color.White,Color.LightSkyBlue, -45F);

        // 设置曲线的样式
        myCurve.Symbol.Size = 8.0F;
        myCurve.Symbol.Fill = new Fill(Color.White);
        myCurve.Line.Width = 2.0F;

        //指定每个bar实在两个label之间显示
        myPane.XAxis.MajorTic.IsBetweenLabels = true;

        //设置X轴刻度
        myPane.XAxis.Scale.TextLabels = labels;
        //设置X轴刻度类型
        myPane.XAxis.Type = AxisType.Text;

        //设置图表样式
        myPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(255, 255, 166), 90F);
        myPane.Fill = new Fill(Color.FromArgb(250, 250, 255));

        //显示
        pane.AxisChange();
    }

在这个方法中,有三个参数,是控件本身传递过来的.也就是说控件有个Render事件,事件自动委托出来就带了这三个参数.这个和WinForm下的差异很大.
另外在asp.net下调时可能会提示找不到一个png文件,也很好解决,在项目下按照它所说的把目录建好就成,实际上这个错误相当于告诉你ZedGraph需要一个临时目录,但是你没有建立.

posted @ 2008-01-05 16:53  哥本哈士奇(aspnetx)  阅读(1996)  评论(2编辑  收藏  举报