Ошибка / ошибка в Adobe Flex SDK 4.5 при удалении рядов из декартовых диаграмм - PullRequest
0 голосов
/ 02 марта 2012

У меня проблема с декартовыми диаграммами в Adobe Flex SDK 4.5 и 4.5.1.Возможно, это ошибка, потому что ее нет в SDK 4.0, 4.1 и 4.6.Или это просто проблема моего кода.

Я сделал небольшой пример проекта для диапазона данных ряда в CartesianChart (Line / Area / Column / Bar), немного похожий наДиаграмма финансов Google.Когда я добавляю все серии в график, проблема не возникает.Только когда у меня есть несколько рядов, и я удаляю одну или несколько серий и затем располагаю их в диапазоне, данные серии сжимаются:

Изображение диаграммы

Похоже на горизонтальныйось не изменилась или не получила обновления о том, что изменились данные диаграммы, когда я изменяю диапазон по текущим данным.

Вот основной код моего проекта, в котором я добавляю серии в линейную диаграмму,удалить серию и распределить ее по всем сериям диаграмм.

        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;
        }

Была ли у кого-то такая же проблема или есть идея, как удалить серию другим способом?

1 Ответ

0 голосов
/ 12 марта 2012

Большое спасибо JabbyPanda , его комментарий выше описывают, как решить проблему. Просто «замените» charts.swc из SDK 4.6 на тот, что из SDK 4.5.1.

...