【问题标题】:Can text be inserted into a fusion chart?可以在融合图中插入文本吗?
【发布时间】:2012-02-28 03:59:23
【问题描述】:

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

谢谢

【问题讨论】:

    标签: php mysql codeigniter graph fusioncharts


    【解决方案1】:

    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. 将图表格式标志设置为:<chart formatNumber='1' formatNumberScale='1' ...>

    整个 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>
    

    一个示例网格(不包含上述数据)如下所示:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      • 2012-05-03
      • 2010-11-14
      相关资源
      最近更新 更多