图表组件wsChart4.6(DLL版)
http://www.wave12.com/web/home.asp

解决方案 »

  1.   

    推荐几个.NET开源图表组件,希望大家发行有其它的可以添加一下,说明:因为没有记录在哪里下载,所以大部分只能让大家亲自搜索一下: 1、NPlot:http://netcontrols.org/nplot/:我觉得是.NET开源轻量级中最好的:)2、graphviz(quickgraph):这个大家可以搜索一下,功能很强大(看介绍和图片),就是没有调试通过,呵呵。3、ZedGraph:原题“A flexible line graph class library in C#”,在codeproject.com上,效果不错; 4、Graph Library:在codeproject.com上,有bar、line、pie三种样式; 5、Full Customizable 3D PieChart with ASP.net,WebForm,在codeproject.com上,3d饼图; 6、ASPCharts,WebForm,在codeproject.com上; 7、ASPChartNet,WebForm,在codeproject.com上; 8、Web Chart,WebForm,在codeproject.com上,效果非常不错;9、SharpVectorGraphics,这是一个矢量图形库,效果一流; 10、dotnetcharting:http://www.dotnetcharting.com/,就是不开源,但效果一流,仍然写在这里:)
      

  2.   


    ZedGraph 简单易用,而且可缩放大小
      

  3.   

    可以在Paint事件里画.这在一段画柱状画的代码当个参考:
    Bitmap bm = new Bitmap(240, 210);
            //在新建的画布上画一个图 
            Graphics bp = Graphics.FromImage(bm);
            //设置bp的背景色为Beige 
            bp.Clear(Color.Beige);
            //创建数据源,在此为一个数组 
            int[] a1 ={ 20, 40, 60, 80, 100, 120, 140, 160 };
            int[] a2 ={ 40, 60, 80, 100, 120, 140, 160, 180 };
            bp.DrawRectangle(Pens.Black, 1, 1, 230, 205);
            //通过循环画出柱状图 
            for (int i = 0; i < a1.Length; i++)
            {
                //填充图(着色,起点X,起点Y,宽,高) 
                bp.FillRectangle(new SolidBrush(Color.Blue), (i * 30) + 5, 200 - a1[i], 5, a1[i] + 5);
                //填充边框(着色,起点X,起点Y,宽,高) 
                bp.DrawRectangle(Pens.Black, (i * 30) + 5, 200 - a1[i], 5, a1[i] + 5);
            }
            //柱图2 
            for (int i = 0; i < a2.Length; i++)
            {
                bp.FillRectangle(new SolidBrush(Color.Red), (i * 30) + 10, 200 - a2[i], 5, a2[i] + 5);
                bp.DrawRectangle(Pens.Black, (i * 30) + 10, 200 - a2[i], 5, a2[i] + 5);
            }
            Graphics gg = this.CreateGraphics();
            gg.DrawImage(bm, 50f, 50f);
            gg.Dispose();
            bp.Dispose();