我对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”,......等等
答案 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;
}