关于起始值

单元格图表默认自动调整Y轴起始值,以最大化值的差异。

例如将DrawCell事件设置为:

If e.Col.Name = "第一列" Then
    e.Chart.AddValues(5,6,7,8,9,10)
    e.Chart.ChartType = 1
'
使用柱状图'
    e.Chart.ShowNegative = True
'
标记负值
    e.DrawChart()

End
If

得到的图表为如下图,注意第一个值是5,最后一个值是10,但是比较图柱的高度,第一个图柱高度并不是最后一个图柱高度的50%:

这是因为默认的起始值并不是0,而是比最小值略小。

现在我们修改代码,将起始值设置为0,修改后的代码为:

If e.Col.Name = "第一列" Then
    e.Chart.AddValues(5,6,7,8,9,10)
    e.Chart.StartingValue = 0
'
设置起始值
    e.Chart.ChartType = 1
'
使用柱状图'
    e.Chart.ShowNegative = True
'
标记负值
   
e.DrawChart()
End
If

得到的图表如下图,第一个图柱的高度为最后一个图柱高度的50%:

为什么默认起始值不自动设置为0呢? 这是有原因的,例如假定值的范围是990到1000之间,起始值为为0的话,绘制出来的图柱高度基本一样(或近似一条直线),无法看出值的差异。


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