当前位置:编程学习 > C#/ASP.NET >>

c#用ZedGraph控件画折线图

我想用ZedGraph控件画折线图,但是我的数值点的连接线不是连续的,我希望做的图形参考http://blog.csdn.net/happyxyzw/article/details/6853471 ,这个图上面的折线是选择固定的一些点连接成线,怎么实现呢? --------------------编程问答--------------------
这个没画过,连续的画过。我个人觉得判断是不是有数值,然后再进行要不要在这两点之间画线就好 --------------------编程问答-------------------- 可以考虑不连续部分的的颜色和底色一样或者透明 --------------------编程问答-------------------- 不连续的话,就可以看成多个连续的嘛

        private void picBox_Paint(object sender, PaintEventArgs e)
        {
            float[] month = new float[12];
            for (int i = 0; i < 12; i++)
            {
                month[i] = i + 1;
            }

            float[] d = new float[12] { 20.5f, 60, 10.8f, 15.6f, 30, 70.9f, 50.3f, 30.7f, 70, 50.4f, 30.8f, 20};
            picBox.SizeMode = PictureBoxSizeMode.Zoom;
            CurvePaint cp = new CurvePaint();
            cp.XkeduCount = 10;
            cp.YkeduCount = 10;
            cp.XvalueStrMoveleft = 15;
            picBox.Image = cp.drawCurve(month, d, "某工厂某产品月生产量图表", "月份", "产量(万)");

        }


画不连续的就当成多个连续的
比如把上面的month分成month1(x轴坐标,1-6月)、d1(y坐标前六个数)和month2、d2
还有不连续的就多分啊,有几个就用几次drawCurve把他们通通话出来就是了。 --------------------编程问答-------------------- ls正解。 当成多条曲线处理。 --------------------编程问答--------------------

private void DrawLine(ZedGraphControl zgc)
        {
            GraphPane myPane = zgc.GraphPane;
            List<PointPairList> DataSource = new List<PointPairList>();
            myPane.Title.Text = "用户访问曲线图";
            myPane.XAxis.Title.Text= "月份";
            myPane.YAxis.Title.Text = "用户访问数量";
            Random rand = new Random();
            //for (int i = 0; i < 3; i++)
            //{
                ZedGraph.PointPairList ppl = new ZedGraph.PointPairList();

                for (double x = 0; x < 5; x += 1.0)
                {
                    double y = rand.NextDouble() * 1000;
                    ppl.Add(x, y);
                }
                myPane.AddCurve("as" + 1.ToString(), ppl, Color.Red, SymbolType.None);
            //}


            ZedGraph.PointPairList pp2 = new ZedGraph.PointPairList();

            for (double x = 6; x < 10; x += 1.0)
            {
                double y = rand.NextDouble() * 1000;
                pp2.Add(x, y);
            }
            myPane.AddCurve("as" + 3.ToString(), pp2, Color.Red, SymbolType.None);

            zgc.AxisChange();

            //重绘控件
            Refresh();
        }
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,