可以将文本插入融合图表吗?

时间:2012-02-06 17:12:30

标签: php mysql codeigniter graph fusioncharts

我在融合图表中使用Grid组件,并且需要在值位置使用日期字符串。当我这样做时,它总是会失败,因为它正在寻找一个数字。无论如何它还可以允许使用文本吗?

由于

1 个答案:

答案 0 :(得分:0)

FusionCharts中尚不具备日期时间轴值的功能。然而,您的用例不合适。

理想情况下,网格组件的右列应显示数字(值)。左列是显示标签的文本。对于网格,在两列上都有文本是没有意义的。

而不是日期,右栏应显示多少个月或几天或几小时等。


FusionCharts文档摘录:http://docs.fusioncharts.com/charts/contents/advanced/number-format/Number_Scaling.html

假设我们正在绘制一个图表,该图表指示自动化流程列表所花费的时间。列表中的每个进程可能需要几秒到几天的时间。我们在几秒钟内就可以获得每个流程的数据。现在,如果我们只在几秒钟内显示图表上的所有数据,它就不会显得太清晰了。我们可以做的是建立一个指示时间的比例,然后将其指定给图表。从人的角度来看,这种规模看起来如下:

60秒= 1分钟 60分钟= 1小时 24小时= 1天 7天= 1周

现在,要将此比例转换为FusionCharts XML格式,您必须执行以下操作:

  1. 首先,您需要定义您提供的数据单位。就像在这个例子中,你在几秒钟内提供所有数据。因此,默认数字刻度将以秒为单位表示。我们可以将其表示为<chart defaultNumberScale='s' ...>
  2. 接下来,我们将图表的自定义比例定义为:<chart numberScaleValue='60,60,24,7' numberScaleUnit='min,hr,day,wk' >。如果你仔细看到它并将它与我们的范围相匹配,你会发现,在范围左侧出现的数字数字都放在numberScaleValue中,并且标尺右侧的任何单位都被置于numberScaleUnit - 全部用逗号分隔。
  3. 将图表格式标记设置为on:<chart formatNumber='1' formatNumberScale='1' ...>
  4. 整个XML看起来像:

    <chart defaultNumberScale='s' numberScaleValue='60,60,24,7' numberScaleUnit='min,hr,day,wk'><set label='A' value='38' /><set label='B' value='150' /><set label='C' value='11050' /><set label='D' value='334345' /><set label='E' value='1334345' /></chart>
    

    示例网格(不包含上述数据)如下所示:SS grid with numberscaleunit