以下是我使用的示例样式:
<?xml version="1.0" encoding="UTF-8"?>
<frameChart is3D="false">
<frame xDepth="3" yDepth="1" leftAxisPlacement="Back" isHStripVisible="true">
<background minColor="#FDFEF6"/>
</frame>
<yAxis scaleMin="1" scaleMax="500">
<labelFormat pattern="#,##0.###"/>
<parseFormat pattern="#,##0.###"/>
</yAxis>
<legend>
<decoration style="None"/>
</legend>
<elements place="Default" shape="Line" drawShadow="true">
<morph morph="Grow"/>
</elements>
</frameChart>
上面的代码将显示0而不是1。
这似乎是使用cfchart的常见问题,但它似乎也是网络图表程序中的一个问题。
有没有人有一个好的解决方案?
答案 0 :(得分:0)
简答:有可能,但在您的具体情况下会有一些副作用。
更长的回答:
您可以通过指定labels
(即网格线)的数量来强制y轴从1开始。但只要该范围是奇数(ie 500 - 1 ==> 499
),一些y轴值可能不会均匀排列。
<!--- labelCount is number of grid lines + 1 --->
<yAxis scaleMin="1" scaleMax="500" labelCount="6">
<labelFormat style="Integer" pattern="#,##0"/>
</yAxis>
这是因为通过将scale range
除以网格线的数量来计算y轴值。奇数范围通常产生小数。例如,如果生成五(5)个网格线,则轴值为:
Actual => Rounded Value
500.0 => 500
400.2 => 400
300.4 => 300
200.6 => 201 **
100.8 => 101 **
1.0 => 1
完成控制所有y轴值的唯一方法是确保范围/网格线可以达到整数。