【问题标题】:Flex PieSeries group by LabelFlex PieSeries 按标签分组
【发布时间】:2013-08-05 07:54:43
【问题描述】:

我在 Flex 中有一个数组集合,它看起来像:-

public var expenses:ArrayCollection = new ArrayCollection([
        { Expense:"Taxes", Amount:2000 },
        { Expense:"Rent", Amount:1000 },
        { Expense:"Taxes", Amount:1000 },
        { Expense:"Food", Amount:1000 },
        { Expense:"Food", Amount:200 } ]);

现在 PieSeries 将 dataprovider 设置为“费用”,其中字段指向“金额”,标签字段指向“费用”。这里的问题是我得到了 5 个饼片而不是 3 个(当我们认为 PieSeries 会将 dataProvider 中存在的任何内容转储到 UI 时,这是正确的)。

有没有办法围绕这些数据进行分组?也许通过修改 dataFunction 和 labelFunction? 我期望出现 3 个切片,其值为净总和 - {Taxes:3000, Rent:1000, Food:1200} - 类似于 GROUP BY Label?

【问题讨论】:

    标签: apache-flex air


    【解决方案1】:

    这里有一个类似的问题:How do I display grouped XML data in a Flex pie chart?

    如果这不起作用,我将对传入的数据进行预处理,并创建一个具有唯一标签和值总和的新数据提供者。这将比添加自定义分组和数据函数复杂得多。

    【讨论】:

    • 嗨,克里斯,感谢您的意见。我确实看过那个问题,但它让事情变得过于复杂。我基本上是在寻找与饼图旁边显示的数据网格相同的数据。两次提取相同的数据将是矫枉过正。我能想到的另一种低效方法是遍历整个数据集,计算标签存在的次数。无论如何,我可以创建一个自定义渲染器或类似的东西,以便饼图可以将具有相同标签的所有值组合在一起?
    • 我不认为迭代集合并创建新的数据提供者效率低下,但这当然取决于原始集合的大小。老实说,我会尝试一下。自定义渲染器将带您走另一条复杂的路线。
    猜你喜欢
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多