我在vs2003中,要画股票K线图以及饼图

在网上找了半天,终于确定一个工具……ZedGraph

先在添加引用,选择ZedGraph.dll

然后在工具箱中添加ZedGraph控件

将控件拖到页面上

然后在控件的RenderGraph事件中插入代码

饼图代码:

Code
                        GraphPane myPane =  (GraphPane)pane[0];
            DataTable dt = ssih.GetList("1=1 order by 表A desc");
            double tag1 = 0;//看长
            double tag2= 0;//看中
            double tag3= 0;//看多
            int j=0;
            foreach(DataRow dr in dt.Rows)
            {
                if(j==0)
                {
                    tag1 = Convert.ToDouble(dr["看长"].ToString())*100;
                    tag2 = Convert.ToDouble(dr["看中"].ToString())*100;
                    tag3 = Convert.ToDouble(dr["看多"].ToString())*100;
                }
                j++;
            }
                        //标题粗体
            myPane.Title.FontSpec.IsItalic = true;
                        //背景
            myPane.Fill = new Fill( Color.White, Color.White, 45.0f );
            myPane.Chart.Fill.Type = FillType.None;
                        //说明文字位置定义
//            myPane.Legend.Position = LegendPos.Float;
            myPane.Legend.Location = new Location( 0.5f, 0.6f, CoordType.PaneFraction,
                AlignH.Right, AlignV.Top );
            myPane.Legend.IsVisible = false;
            myPane.Legend.FontSpec.Size =25f;
            myPane.Legend.IsHStack = false;
//            PieItem segment1 = myPane.AddPieSlice( tag1, Color.Red, Color.White, 45.0f, 0, "看多" +tag1.ToString("0.##")+"%" );
//            PieItem segment3 = myPane.AddPieSlice( tag2, Color.White, Color.White, 45.0f, 0, "看平" +tag2.ToString("0.##")+"%" );
//            PieItem segment4 = myPane.AddPieSlice( tag3, Color.Blue, Color.White, 45.0f,  0, "看空" +tag3.ToString("0.##")+"%" );

折线图及股票上证指数的K线图

Code
                        //上证指数k线图
            DataTable dt = ssih.GetList("1=1 order by dataDate asc");
            double[] x = new double[dt.Rows.Count +1];
            double[] y1 = new double[dt.Rows.Count +1];
            double[] y2 = new double[dt.Rows.Count +1];
            PointPairList pp1 = new PointPairList();
        
            int minCount = Convert.ToInt32( dt.Rows.Count - 80);
            
            for(int m=0;m<minCount;m++)
            {
                dt.Rows.Remove(dt.Rows[0]);
            }


            int i = 0;
            foreach(DataRow dr in dt.Rows)
            {
                y1[i] = Convert.ToDouble(dr["dxyc1"].ToString())*100;
                x[i] =new XDate(Convert.ToDateTime(dr["dataDate"]));
                pp1.Add(x[i],y1[i]);
                i++;
            }

            GraphPane myPane = (GraphPane)pane[0];
            myPane.XAxis.Type = AxisType.Date;
            myPane.XAxis.Scale.Format = "MM-dd";
            myPane.Legend.FontSpec.Size =18f;
            myPane.XAxis.Type = AxisType.DateAsOrdinal;
            myPane.Legend.Position = LegendPos.InsideTopRight;
            myPane.Legend.Location = new Location( 0.5f, 0.6f, CoordType.PaneFraction,
                AlignH.Right, AlignV.Top );
            LineItem myCurve1 = myPane.AddCurve("看多",pp1, Color.Red, SymbolType.Diamond);
        
            myPane.AxisChange();

Code

DataTable dt = ssih.GetList("1=1 order by dataDate asc");
            double[] x = new double[dt.Rows.Count +1];
            double[] y1 = new double[dt.Rows.Count +1];
            double[] y2 = new double[dt.Rows.Count +1];
            double[] y3 = new double[dt.Rows.Count +1];
            double[] y4 = new double[dt.Rows.Count +1];
            double[] y5 = new double[dt.Rows.Count +1];
            double[] y6 = new double[dt.Rows.Count +1];
            XDate[] x1 = new XDate[dt.Rows.Count +1];
            PointPairList pp1 = new PointPairList();
            PointPairList pp2 = new PointPairList();
            PointPairList pp3 = new PointPairList();
            PointPairList pp4 = new PointPairList();
            PointPairList pp5 = new PointPairList();
            PointPairList pp6 = new PointPairList();
            PointPairList pp7 = new PointPairList();

int minCount = Convert.ToInt32( dt.Rows.Count - 80);
            
            for(int m=0;m<minCount;m++)
            {
                dt.Rows.Remove(dt.Rows[0]);
            }
            int i = 0;

foreach(DataRow dr in dt.Rows)
            {
                
                y1[i] = Convert.ToDouble(dr["tag1"].ToString())*100;
                y2[i] = Convert.ToDouble(dr["tag2"].ToString())*100;
                y3[i] = Convert.ToDouble(dr["tag3"].ToString())*100;
                y4[i] = Convert.ToDouble(dr["tag4"].ToString())*100;
                y5[i] = Convert.ToDouble(dr["tag5"].ToString())*100;
                y6[i] = Convert.ToDouble(dr["tag6"].ToString())*100;
                x[i] =new XDate(Convert.ToDateTime(dr["dataDate"]));
                // Convert.ToDouble( Convert.ToDateTime(dr["dataDate"]).Month + "." + Convert.ToDateTime(dr["dataDate"]).Day)  ;
                pp1.Add(x[i],y1[i]);
                pp2.Add(x[i],y2[i]);
                pp3.Add(x[i],y3[i]);
                pp4.Add(x[i],y4[i]);
                pp5.Add(x[i],y5[i]);
                pp6.Add(x[i],y6[i]);
                
                i++;
            }

GraphPane myPane = (GraphPane)pane[0];
            myPane.XAxis.Type = AxisType.Date;
            myPane.XAxis.Scale.Format = "MM-dd";
            myPane.XAxis.Type = AxisType.DateAsOrdinal;

myPane.Legend.Position =  LegendPos.InsideTopRight;
            myPane.Legend.Location = new Location( 0.9f, 0.6f, CoordType.PaneFraction,
                AlignH.Right, AlignV.Top );

myPane.Legend.FontSpec.Size =14f;
            LineItem myCurve1 = myPane.AddCurve("熊市",pp1, Color.Green, SymbolType.Diamond);
            LineItem myCurve2 = myPane.AddCurve("熊市反弹",pp2,  Color.DarkMagenta, SymbolType.Diamond);
            LineItem myCurve3 = myPane.AddCurve("熊转牛",pp3,  Color.DeepSkyBlue, SymbolType.Diamond);
            LineItem myCurve4 = myPane.AddCurve("牛调整",pp4,  Color.Thistle, SymbolType.Diamond);
            LineItem myCurve5 = myPane.AddCurve("牛加速",pp5,  Color.Red, SymbolType.Diamond);
            LineItem myCurve6 = myPane.AddCurve("牛转熊",pp6,  Color.Chartreuse, SymbolType.Diamond);

转载于:https://www.cnblogs.com/aaa1028/archive/2009/02/26/1398764.html

使用ZedGraph记录(原创)相关推荐

  1. oracle查询访问记录,[原创]Oracle Spatial新驱动的查询记录实例

    --sunfruit Oracle的空间数据库的操作驱动更新了,新的驱动适用于Oracle8.0或以上,新驱动在对数据库的操作上面和原有的驱动差别比较大,不过有一点:使用变得简单了 建立空间数据库和建 ...

  2. Java集合框架笔记记录 --- 原创@余胜军 但有个人心得

    Java集合框架课程安排 1.集合框架API知识 List/Set/Map集合 2.常见数据结构 数组/链表/队列/树 3.集合源码解读 List/Set/Map1.为什么需要学习Java中集合框架呢 ...

  3. 实际开发问题解决记录: 需求是mysql执行查询 返回数据给前端 既要返回值不为NULL的列也要返回值为NULL的列(值为NULL的列列名返回给前端)

    一.查询值不为NULL 的列 我们先来看数据库所有数据 执行的sql语句:  select id,FCJ,comeCoalForecast from FCJ 查询结果如下: 看完执行查询所有数据的例子 ...

  4. Linux远程工具日志记录功能

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...

  5. foreign 磁盘阵列_服务器磁盘 foreign

    Dell R710服务器磁盘恢复数据库一例(记录) 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51ct ...

  6. 【微信公众号】3. 后台管理功能简介

    1. 功能简介 首页 通知栏 个人信息栏 数据统计栏 新的创作 - 图文消息 新的创作 - 选择已有图文 新的创作 - 图片消息 新的创作 - 视频消息 新的创作 - 视频号 新的创作 - 转载 新的 ...

  7. Android NDK 开发环境搭建(二)----来源http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.htm

    随笔- 116  文章- 0  评论- 106  android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) android 最新 N ...

  8. 大佬们的精品博客[收藏+1]

    好博客总结 技术参考总结 云中王的博客: Centos7中文乱码 MariaDB安装与启动过程记录 logging模块 re模块 xml模块 shelve模块 json模块&pickle模块  ...

  9. [原创] Android SDK 安装全记录

    [原创] Android SDK 安装全记录 1. JDK jdk-se-7u3 http://www.oracle.com/technetwork/java/javase/downloads/ind ...

  10. linux6.0设置共享文件夹,[原创] how to virtualbox sharefolder共享文件夹(数据空间)设置全记录...

    [原创] how to virtualbox sharefolder共享文件夹(数据空间)设置全记录 (ubuntu) 1. 在硬件设置中,点击光驱,选择镜像文件,在virtualbox根目录下的VB ...

最新文章

  1. [Asp.net mvc]OutputCacheAttribute
  2. putty-psftp
  3. 制作一个状态栏中跑马灯效果_snapseed制作“照片中的照片”画中画效果的方法...
  4. 使用JMeter进行数据库压力测试
  5. awk按ip统计日志数
  6. oracle connect权限6,Oracle 19c 升级19.6 RU 导致权限异常 gipcInternalConnectSync: failed sync request 解决方法...
  7. sql server 2005单独添加mdf文件
  8. Matlab--view函数详解
  9. NeHe OpenGL教程 第四十五课:顶点缓存
  10. 201671010128 2017-10-08《Java程序设计》之接口与内部类
  11. java—mediator中介模式
  12. 想要下载,却没有积分,CSDN你做个人吧
  13. skype安卓手机版_安卓手机版电视直播播放器
  14. error: You must be logged in to the server (Unauthorized)报错处理
  15. 微信群发工具,纯Python编写~
  16. http://www.cocoachina.com/ios/20150907/13336.html
  17. springboot设置session超时和session监听
  18. JDBC及操作数据库步骤
  19. 关于 CC BY-SA 4.0
  20. OPNET网络仿真分析-前言

热门文章

  1. java堆是什么意思_java中的“堆栈”是什么意思?
  2. undolog实现事务原子性,redolog实现事务的持久性
  3. 伽卡他卡免费电子教室软件_笔记
  4. iOS开发UI基础—09UIImageView动画示例之汤姆猫程序
  5. 开源图像数据集管理工具fiftyone使用
  6. 转录组入门(4):了解参考基因组及基因注释
  7. python入门教学反思_python函数--教学反思
  8. IIS Express 7.5 directory browsing 启用目录浏览
  9. Autosar 网络管理总结
  10. 计科实训 餐馆点菜系统