0

我对 Adob​​e Flex SDK 4.5 和 4.5.1 中的笛卡尔图表有疑问。也许这是一个错误,因为它不在 SDK 4.0、4.1 和 4.6 中。或者这只是我的代码的问题。

我做了一个小示例项目来覆盖笛卡尔图表(线/面积/柱/条)中的系列数据,有点像谷歌金融图表。当我将所有系列添加到图表时,问题没有发生。只有当我有多个系列并删除一个或多个系列而不是数据范围时,系列数据才会被压缩:

图表图像

当我覆盖当前数据时,水平轴似乎没有改变或没有得到图表数据改变的更新。

这是我项目的主要代码,我在折线图中添加系列,删除系列并覆盖所有图表系列。

        public function addChartSeries(name:String, dataProvider:Array):void
        {
            var lineSeries:LineSeries = new LineSeries();
            lineSeries.xField = "date";
            lineSeries.yField = "value";
            lineSeries.displayName = name;
            lineSeries.dataProvider = dataProvider;
            var mySeries:Array = new Array();
            mySeries = lineChart.series;
            mySeries.push(lineSeries);
            lineChart.series = mySeries;
        }

        public function removeSeries(index:int):void
        {
            var mySeries:Array = new Array();
            mySeries = lineChart.series;
            mySeries.splice(index, 1);
            lineChart.series = mySeries;
        }

        private function changeDataProvider():void
        {
            var series:Array = lineChart.series;
            for (var i:int = 0; i < series.length; i++) 
            {
                var lineSeries:LineSeries = series[i];
                var item:ChartItem = chartItems.getItemAt(i) as ChartItem;
                lineSeries.dataProvider = item.data.slice(leftindex, rightIndex);
            }
            lineChart.series = series;
        }

有人遇到同样的问题或知道如何以另一种方式删除系列?

4

1 回答 1

0

非常感谢JabbyPanda,他在上面的评论描述了如何解决这个问题。只需将charts.swcSDK 4.6 中的“替换”为 SDK 4.5.1 中的那个。

于 2012-03-11T20:15:44.237 回答