Candle

我们需要四个数据才能完整表示一只股票在某天的价格,分别是开盘价、收盘价、盘中最高价、盘中最低价,而Candle主要是针对这种需求而设计。
Candle图用五个数值来表示一个数据点:

X:    水平位置
Y:    最大值
Y1:   最小值
Y2:   开始值
Y3:   结束值

假定有一个表:

完整地图示该表的代码为:

Dim Chart As WinForm.Chart '定义一个图表变量
Dim
Series As WinForm.ChartSeries '定义一个图系变量
Dim
t As Table = Tables("stock") '定义一个变量t引用数据表
Chart= Forms(
"窗口1").Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Candle
'设置图表类型
Chart.AxisX.DateType =
True '明确指定X轴是日期型
Chart.AxisX.AnnoFormatString =
"MM-dd" '制定日期表示格式
Chart.AxisY.Text =
"价格"
Chart.SeriesList.Clear()
'清除图表原来的图系
Series = Chart.SeriesList.Add()
'增加一个图系
Series.LineColor = Color.Blue
'设置该图系的颜色
Chart.DataSource =
"Stock" '绑定设置
Series.X.DataField =
"日期"
Series.Y.DataField =
"最高价"
Series.Y1.DataField =
"最低价"
Series.Y2.DataField =
"开盘价"
Series.Y3.DataField =
"收盘价"

'用第二个图表显示成交额

Chart.ChartType2 = ChartTypeEnum.Bar
Chart.SeriesList2.Clear()
Series = Chart.SeriesList2.Add()
Series.FillColor = Color.LightBlue
'设置条形图的填充颜色
Series.X.DataField =
"日期"
Series.Y.DataField =
"成交额"
Chart.AxisY2.Text =
"成交额"
Chart.AxisY2.GridMajorVisible =
False '隐藏Y2轴的网格线

生成的图表:

炒股的人应该都能看懂上面的图吧。

上面的代码还接触了几个新的属性,将坐标轴的DateType属性设为True,表示坐标轴的数据是日期型,利用坐标轴的AnnoFormatString属性,可以设置日期或数值的刻度标记格式。
图系的FillColor属性用于设置条形图的填充颜色,LineColor属性用于设置线形图的连线颜色,包括XYPlot和Candle等类型。


本页地址:http://www.foxtable.com/webhelp/topics/0975.htm