0

我有一个 Flex 条形图,其中包含两个集群格式的数据系列。该系列称为RequiredFunding 和ApprovedFunding,因此它们彼此相邻绘制。我遇到的问题是尝试格式化 Funding 轴上的标签函数。我有几千美元正在显示,它需要用美元符号和逗号格式化(我已经有了这个功能)。

当我尝试将标签函数应用于水平轴时,我返回 MoneyFormatter.format(labelValue),这是我的应用程序范围的货币格式化程序,但这不起作用,因为 dataProvider 中有两个不同的金额...有 labelValue.RequiredFunding 和 labelValue.ApprovedFunding。

希望我正确地解释了这一点……有人有什么想法吗?

非常感激,

-马特

编辑:我担心我解释得不够清楚!不用担心。基本上,我想将当前显示为 8000、16000、24000 和 32000 的底轴格式化为 8000 美元、16000 美元、24000 美元和 32000 美元。但问题是,该轴不会超出 RequiredFunding 金额或 ApprovedFunding 金额......它会自动适应较大的值......或者以某种方式将两个分组系列视为单个系列......我不确定。例如,如果我将其设置为返回 MoneyFormatter.format(RequiredFunding),它将正确格式化它......但它只会放置所需资金金额的标签(如 14,543 美元、2,543 美元、31,230 美元)并且不会绘制任何一个条形图系列。我希望这能解决问题。如有必要,我可以上传一些屏幕截图。

4

2 回答 2

1

我有这个并且它正在工作:

    <mx:CurrencyFormatter id="moneyFormatter" currencySymbol="$" thousandsSeparatorTo="," />
    <mx:BarChart dataProvider="{testData.Sample}">
        <mx:series>
            <mx:BarSeries yField="visitors"  />
            <mx:BarSeries yField="overhead" />
        </mx:series>
        <mx:horizontalAxis>
            <mx:CategoryAxis dataFunction="moneyFormat"/>
        </mx:horizontalAxis>
    </mx:BarChart>

货币格式函数:

private function moneyFormat(cat:Object, labelItem:Object):String{
       return moneyFormatter.format(labelItem.value);
}

我使用了一些我自己的测试数据,所以不要介意奇怪的 yFields。我希望这有帮助

于 2009-07-16T07:20:34.940 回答
0

我不确定你想要什么。您可以使用 labelValue.RequiredFunding 和 labelValue.ApprovedFunding 互相调用 MoneyFormatter.format() 吗?可能我没听懂

于 2009-07-15T09:25:56.933 回答