2012-01-19 50 views
1

這裏是我使用的例子風格:CFCHART - 如何獲得Y軸從1開始,而不是0

<?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的常見問題,但它在web圖表程序中似乎也是一個問題。

有沒有人有一個很好的解決方案?

回答

0

簡短的回答:這是可能的,但也有一些副作用,在您的具體情況。

較長答案: 可以強制y軸通過指定的labels(即網格線)的數量從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> 

這是因爲,Y軸的值是通過由網格線的數量除以scale range計算。奇數範圍通常產生小數。例如,如果你生成五(5)網格線,軸線值將是:

Actual => Rounded Value 
500.0 => 500 
400.2 => 400 
300.4 => 300 
200.6 => 201 ** 
100.8 => 101 ** 
    1.0 => 1 

具有在所有y軸值完整控制的唯一方法是保證的範圍內/網格線作品出來一個整數。