使用ZedGraph记录(原创)
我在vs2003中,要画股票K线图以及饼图
在网上找了半天,终于确定一个工具……ZedGraph
先在添加引用,选择ZedGraph.dll
然后在工具箱中添加ZedGraph控件
将控件拖到页面上
然后在控件的RenderGraph事件中插入代码
饼图代码:
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线图
//上证指数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();
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记录(原创)相关推荐
- oracle查询访问记录,[原创]Oracle Spatial新驱动的查询记录实例
--sunfruit Oracle的空间数据库的操作驱动更新了,新的驱动适用于Oracle8.0或以上,新驱动在对数据库的操作上面和原有的驱动差别比较大,不过有一点:使用变得简单了 建立空间数据库和建 ...
- Java集合框架笔记记录 --- 原创@余胜军 但有个人心得
Java集合框架课程安排 1.集合框架API知识 List/Set/Map集合 2.常见数据结构 数组/链表/队列/树 3.集合源码解读 List/Set/Map1.为什么需要学习Java中集合框架呢 ...
- 实际开发问题解决记录: 需求是mysql执行查询 返回数据给前端 既要返回值不为NULL的列也要返回值为NULL的列(值为NULL的列列名返回给前端)
一.查询值不为NULL 的列 我们先来看数据库所有数据 执行的sql语句: select id,FCJ,comeCoalForecast from FCJ 查询结果如下: 看完执行查询所有数据的例子 ...
- Linux远程工具日志记录功能
原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...
- foreign 磁盘阵列_服务器磁盘 foreign
Dell R710服务器磁盘恢复数据库一例(记录) 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51ct ...
- 【微信公众号】3. 后台管理功能简介
1. 功能简介 首页 通知栏 个人信息栏 数据统计栏 新的创作 - 图文消息 新的创作 - 选择已有图文 新的创作 - 图片消息 新的创作 - 视频消息 新的创作 - 视频号 新的创作 - 转载 新的 ...
- Android NDK 开发环境搭建(二)----来源http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.htm
随笔- 116 文章- 0 评论- 106 android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) android 最新 N ...
- 大佬们的精品博客[收藏+1]
好博客总结 技术参考总结 云中王的博客: Centos7中文乱码 MariaDB安装与启动过程记录 logging模块 re模块 xml模块 shelve模块 json模块&pickle模块 ...
- [原创] Android SDK 安装全记录
[原创] Android SDK 安装全记录 1. JDK jdk-se-7u3 http://www.oracle.com/technetwork/java/javase/downloads/ind ...
- linux6.0设置共享文件夹,[原创] how to virtualbox sharefolder共享文件夹(数据空间)设置全记录...
[原创] how to virtualbox sharefolder共享文件夹(数据空间)设置全记录 (ubuntu) 1. 在硬件设置中,点击光驱,选择镜像文件,在virtualbox根目录下的VB ...
最新文章
- [Asp.net mvc]OutputCacheAttribute
- putty-psftp
- 制作一个状态栏中跑马灯效果_snapseed制作“照片中的照片”画中画效果的方法...
- 使用JMeter进行数据库压力测试
- awk按ip统计日志数
- oracle connect权限6,Oracle 19c 升级19.6 RU 导致权限异常 gipcInternalConnectSync: failed sync request 解决方法...
- sql server 2005单独添加mdf文件
- Matlab--view函数详解
- NeHe OpenGL教程 第四十五课:顶点缓存
- 201671010128 2017-10-08《Java程序设计》之接口与内部类
- java—mediator中介模式
- 想要下载,却没有积分,CSDN你做个人吧
- skype安卓手机版_安卓手机版电视直播播放器
- error: You must be logged in to the server (Unauthorized)报错处理
- 微信群发工具,纯Python编写~
- http://www.cocoachina.com/ios/20150907/13336.html
- springboot设置session超时和session监听
- JDBC及操作数据库步骤
- 关于 CC BY-SA 4.0
- OPNET网络仿真分析-前言