Histogram

Histogram用于分析数值的分布范围,你可以将一段范围的数据分割成一个一个的区间,系统会自动显示Y值处于每一个区间的个数。
所以设计一个Histogram图表,需要指定数值范围的起始值,每一个分区的宽度,以及总的分区个数,至于数据点,并不会真正显示在图表上,图表显示的只是数值(Y值)位于每一个区间的个数。

下面是一个学生考试成绩表,我们将0到100分成10个区间,每个区间的宽度为10,图示每一个区间得个数。

代码为:

Dim Chart As WinForm.Chart '定义一个图表变量
Dim
Series As WinForm.ChartSeries '定义一个图系变量
Chart= Forms("窗口1").Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Histogram ' 设置图表类型
Chart.DataSource = "成绩表" '设置绑定表
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.Histogram.IntervalStart = 0 '指定起始值
Series.Histogram.IntervalWidth = 10 '指定分区宽度
Series.Histogram.IntervalNumber= 10 '指定分区个数
Series.Y.DataField = "成绩"
'Y轴绑定到数量列

生成的图表:

可以看到,Series有一个Histogram属性,利用该属性来设置分区的起始值、宽度、个数。

Histogram有三种显示方式,通过图系的HistogramType属性来设置,分别是:

HistogramTypeEnum.Histogram
HistogramTypeEnum.FrequencyGraph
HistogramTypeEnum.SteppedFrequencyGraph

其中第一种是默认方式,就是我们前面看到的图表。

我们看看FrequencyGraph是如何显示的,在上面代码的最后加上两行:

Series.HistogramType = HistogramTypeEnum.FrequencyGraph '设置显示方式
Series.FitType = FitTypeEnum.Spline
'采用平滑线条

现在的图表将显示为:

下图为SteppedFrequencyGraph方式的效果:


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