关于起始值
单元格图表默认自动调整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的话,绘制出来的图柱高度基本一样(或近似一条直线),无法看出值的差异。