2012-01-19 49 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轴值完整控制的唯一方法是保证的范围内/网格线作品出来一个整数。