Apache flex flex图表列系列不可见

Apache flex flex图表列系列不可见,apache-flex,charts,Apache Flex,Charts,我试图通过actionscript动态构建一个flex图表。出于测试目的,我提出了以下数据结构和代码: Bindable] public var columnDat:Array= [{signalID:"SCL", point2:100}, {signalID:"SCL", point2:50}, {signalID:"SCL", point2:30}, {signalID:"SCL", point2:60},

我试图通过actionscript动态构建一个flex图表。出于测试目的,我提出了以下数据结构和代码:

Bindable]
        public var columnDat:Array= 
        [{signalID:"SCL", point2:100},
        {signalID:"SCL", point2:50},
        {signalID:"SCL", point2:30},
        {signalID:"SCL", point2:60},
        {signalID:"SCL", point2:220},
        {signalID:"SCL", point2:140},
        {signalID:"SCL", point2:280}];

public function makeDummyChart(genericChart:CartesianChart, genericLegend:Legend, chartPanel:ChartPanel):void {

            var renderers:ArrayCollection = new ArrayCollection();
            genericChart = new ColumnChart();

            // Define the two axes.
            var dispAxis:CategoryAxis = new CategoryAxis();
            var axr:AxisRenderer = new AxisRenderer();              
            axr.axis = dispAxis;
            renderers.addItem(axr); 

            var seriesList:ArrayCollection=new ArrayCollection();

            // Add the series
            genericChart.horizontalAxis = dispAxis;
            var columnSeries:ColumnSeries = new ColumnSeries();     
            BindingUtils.bindProperty(columnSeries, "dataProvider", this, "columnDat");

            columnSeries.xField="signalID";;
            columnSeries.yField="point2";
            seriesList.addItem(columnSeries);

            genericChart.series = seriesList.toArray();
            genericLegend.dataProvider = genericChart;

            genericChart.horizontalAxisRenderers = renderers.toArray();

            genericLegend.dataProvider = genericChart;
            // chart panel is just the panel on the screen where chart is displayed
            chartPanel.addChild(genericChart);
                trace ("  make dummy chart done");

        }

运行此代码时,我只得到一个空白图表。

目前无法对其进行测试,但如果您只将columnDat数组分配给序列,则应该足够了:

columnSeries.dataProvider = columnDat;
或到柱状图:

genericChart.dataProvider = columnDat;

首先,您可能应该将MXML用于此内容。这更容易

其次,我认为你没有很好地遵循这个例子。有两种制作图表的方法:

1向图表数据提供程序添加数据,并让序列指定该数据提供程序中的x和y字段

2不要将数据添加到图表中,只需将数据直接添加到序列中,而不指定x和y字段


现在,你正在做一个1和2的混合,这个系列看不到数据,因为它被过滤掉了,这就是为什么它是空白的。不要在序列上设置数据提供程序,而是在图表上设置它,它应该可以工作。例如,.

Well columnSeries.dataProvider=columnDat;没有工作,事实上,我需要像这样在真实的应用程序中一个接一个地添加它们,所以我没有尝试genericChart版本。事实上,我不能使用mxml,否则我会。这些图表是动态加载的。真正的数据将从数据库中读取,我只是在这里使用静态数组进行测试,并且几乎总是有多个系列。至于第二点,你认为我在哪里向图表中添加数据?