这是owchart框架教程的第三节,该示例兼容支持Visual Studio -202X,覆盖.Net2.0到后续所有版本,不同版本的IDE项目构建和编码过程基本相同。该示例代码会被上传至git,github,百度网盘,关于owchart的介绍和下载地址,还有往期教程如下:
owchart证券图形控件 v1.0
owchart教程一:如何创建项目和添加布局?
owchart教程二:如何添加K线?
本节重点讲述如何在图层中添加成交量,并加载数条数据,使之显示出来,包含了完整的代码示例。
第一步,添加控件到窗体中:
Chartchart=newChart();//创建K线chart.Dock=DockStyle.Fill;//设置填充Controls.Add(chart);//添加控件
第二步,添加图层:
//添加第一个层,占100% ChartDiv div1 = chart.AddChartDiv(100);
第三步,声明成交量字段,这是一个int型:
//声明成交量字段 int volField = 4;
第四步,调用AddBar方法创建柱状图,第二个参数是字断,第三个参数是所在图层:
//添加K线 BarShape barShape = chart.AddBar("成交量", volField, div1);
第五步,向数据源中填充数据,这里开启了一个50次的循环,调用的是CTableEx的Set方法,第一个参数是日期,第二个参数是字段名,第三个参数是数值:
//获取数据源 CTableEx dataSource = chart.DataSource;//启动循环50次DateTime dateTime = DateTime.Now; for (int i = 0; i < 50; i++) { //获取时间 double date = LbCommon.GetDateNum(dateTime.Year, dateTime.Month, dateTime.Day, 0, 0, 0, 0); dataSource.Set(date, 4, i);dateTime=dateTime.AddDays(1);}
第六步,调用Chart的RefreshGraph刷新图像:
//刷新图像 chart.RefreshGraph();
完整代码如下:
using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using owchart;namespace MyChart{public partial class Form1 : Form{ public Form1() { InitializeComponent(); Chart chart = new Chart(); //创建K线chart.Dock = DockStyle.Fill; //设置填充 Controls.Add(chart); //添加控件 //设置显示左轴的宽度 chart.LeftYScaleWidth = 100; //设置K线的间隔 chart.XScalePixel=20;//添加第一个层,占100%ChartDivdiv1=chart.AddChartDiv(100);//声明成交量字段intvolField=4;//添加K线BarShapebarShape=chart.AddBar("成交量",volField,div1);//获取数据源CTableExdataSource=chart.DataSource;//启动循环50次DateTimedateTime=DateTime.Now;for(inti=0;i50;i++){ //获取时间 doubledate=LbCommon.GetDateNum(dateTime.Year,dateTime.Month,dateTime.Day,0,0,0,0); dataSource.Set(date,4,i); dateTime=dateTime.AddDays(1);}//刷新图像chart.RefreshGraph();}}}
运行程序,显示如下图像,说明成交量添加成功: