【问题标题】:Flex bar chart label function with multiple series?具有多个系列的 Flex 条形图标签功能?
【发布时间】:2010-11-10 18:42:51
【问题描述】:

我有一个 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 美元)并且不会绘制任何一个条形图系列。我希望这能解决问题。如有必要,我可以上传一些屏幕截图。

【问题讨论】:

  • 我认为您的意思是您希望您的 labelFunction 知道哪个系列被鼠标悬停?如果是这样,请在标签函数中设置断点,然后运行调试器并查看是否可以获得对 HitData 对象所属系列的引用。

标签: apache-flex charts series


【解决方案1】:

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

【讨论】:

  • 感谢您的回复!我提供了一个编辑。我希望这能解决问题!
【解决方案2】:

我有这个,它正在工作:

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

moneyFormat函数:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多