具有动态列数的ColumnChart

时间:2009-04-06 11:49:54

标签: flex charts

我对Flex 3中的ColumnChart有疑问。 一个简单的ColumnChart就像:

    <mx:horizontalAxis>
       <mx:CategoryAxis 
            dataProvider="{myDP}" 
            categoryField="date"
       />
    </mx:horizontalAxis>

    <mx:series>
         <mx:ColumnSeries 
                xField="date" 
                yField="Expense" 
                displayName="Expense"
           />
           <mx:ColumnSeries 
                xField="date" 
                yField="Income" 
                displayName="Income"
           />
      </mx:series>

但是如何使用来自数据提供者的动态列数制作ColumnChart?这里“费用”和“收入”的列是硬编码的。但是,如果它们来自数据提供者,我们怎么办?数字不固定,例如,yFields可以是“费用1”,“费用2”,......“收入1”,“收入2”,......等等

2 个答案:

答案 0 :(得分:1)

您可以尝试添加类似......

的新ColumnSeries()对象
var series:Series = new Series();
for(...) // execute loop as per data provider
{
  var tmp:ColumnSeries = new ColumnSeries();
  tmp.xField....
  tmp.yField...
  ...

  series.addChild(tmp);
}

我认为这个或类似的解决方案应该有效

答案 1 :(得分:1)

马特,谢谢你的解决方案。

我发现的一个小细节。没有它,就无法显示。

var tmp:ColumnSeries = new ColumnSeries();

//此行非常重要。 this.myChart.series = [tmp];

for(var i:int = 0; i&lt; lens; i ++)//按照数据提供者执行循环

{

tmp = new ColumnSeries();

... tmp.xField

... tmp.yField

...

this.myChart.series [I] = TMP;

}

More details

相关问题